Bitcoin Forum
July 13, 2024, 08:18:52 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: sweet mother of god, the blockchain is HUGE  (Read 4124 times)
knowitnothing
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
November 14, 2013, 02:03:17 PM
 #21

I'm testing this here and if you want to suggest some other configuration I might test it too.

Here are some basic pre-tests.

Download speed:

Code:
$ wget -v http://mirrors.syringanetworks.net/debian-cd/7.2.0-live/amd64/iso-hybrid/debian-live-7.2-amd64-standard.iso
Length: 483393536 (461M) [application/octet-stream]
Saving to: ‘debian-live-7.2-amd64-standard.iso’

100%[============================================================>] 483,393,536 18.0MB/s   in 23s    

2013-11-14 06:39:06 (20.4 MB/s) - ‘debian-live-7.2-amd64-standard.iso’ saved [483393536/483393536]

Write speed on SSD (this varies greatly, from ~90 MB/s to ~200 MB/s):

Code:
$ dd if=/dev/zero of=test bs=100k count=1k conv=fdatasync
1024+0 records in
1024+0 records out
104857600 bytes (105 MB) copied, 0.682985 s, 154 MB/s

Write speed on ramdisk:

Code:
$ dd if=/dev/zero of=test bs=100k count=1k conv=fdatasync
1024+0 records in
1024+0 records out
104857600 bytes (105 MB) copied, 0.0436794 s, 2.4 GB/s

This is a Xeon X3440 with 8GB ram, not sure if specific details are required for such tests that are barely considering stddev, and so on.

Sample code for getting block count each minute:

Code:
import time
import json
from getpass import getpass
import subprocess

from clirpc import make_basic_auth, generic_cb, AuthClientRPC

btc_host = raw_input("Host: ")
btc_port = int(raw_input("Port: "))
btc_user = getpass("User: ")
btc_pwd = getpass("Password: ")
btc_auth = make_basic_auth(btc_user, btc_pwd)

out = open('result', 'w')
data = (time.time(), 0)
out.write("%s, %d\n" % data)
out.flush()
print 'starting'

subprocess.Popen(["./bitcoind"]) # Adjust for passing other parameters as needed.

time.sleep(60)

rpc = AuthClientRPC(btc_host, btc_port, btc_auth, protocol='http')
print rpc
while True:
    try:
        count_now = json.loads(rpc.getblockcount().result())['result']
    except Exception, e:
        print 'error', e
        time.sleep(0.5)
        continue
    data = (time.time(), count_now)
    out.write("%s, %d\n" % data)
    out.flush()
    print data
    time.sleep(60)

Block count evolution on SSD, first 60 minutes. Ending count at 161266

Code:
  180000 ++----------------------------------------------------------------++
          |                                                                |
  160000 ++                                              *******************+
          |                              *****************                 |
  140000 ++                           ****                                 ++
          |                      ******                                    |
  120000 ++               ********                                         ++
          |              **                                                |
  100000 ++             **                                                 ++
          |            **                                                  |
   80000 ++           **                                                   ++
          |           *                                                    |
   60000 ++          **                                                    ++
          |          *                                                     |
   40000 ++         **                                                     ++
          |         *                                                      |
   20000 ++        **                                                      ++
          |        *                                                       |
       0 ++-+-+-++-*-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-++
          +        +         +        +        +        +         +        +
         50       00        10       20       30       40        50       00

Block count evolution on RAMdisk, first 21 minutes. Ending count at 175481

Code:
  180000 ++---------------------------------------------------------***----++
          |                                                   *******      |
  160000 ++                                              ******            ++
          |                                        *******                 |
  140000 ++                             ************                       ++
          |                           ***                                  |
  120000 ++                   *********                                    ++
          |                ****                                            |
  100000 ++                *                                               ++
          |                *                                               |
   80000 ++                *                                               ++
          |             ****                                               |
   60000 ++             *                                                  ++
          |             *                                                  |
   40000 ++             *                                                  ++
          |             *                                                  |
   20000 ++     *********                                                  ++
          |  ****                                                          |
       0 ++--*-+--+--+--+-+--+--+-+--+--+--+-+--+--+-+--+--+-+--+--+--+-+--++
          +    +     +    +     +    +     +    +    +     +    +     +    +
         26   28    30   32    34   36    38   40   42    44   46    48   50

The x axis describes the minute the block count was collected. RAMdisk beats SSD hands down, but I cannot afford running bitcoin there. These results may vary greatly, maybe if someone suggests a set of specific nodes to connect to this could be better controlled.

Here is the raw data for SSD and RAMdisk:

Code:
1384430385.86, 0
1384430445.9, 20000
1384430505.96, 40500
1384430566.02, 59000
1384430626.09, 78907
1384430686.15, 92907
1384430746.21, 104259
1384430806.26, 113859
1384430866.32, 116434
1384430926.36, 118314
1384430986.37, 119080
1384431046.38, 119140
1384431106.4, 119325
1384431166.42, 119640
1384431226.48, 119640
1384431286.54, 123832
1384431346.61, 129617
1384431406.67, 132636
1384431466.73, 134400
1384431526.76, 134405
1384431586.79, 134905
1384431646.84, 135299
1384431706.91, 137985
1384431766.95, 140577
1384431827.01, 143117
1384431887.08, 145873
1384431947.1, 148941
1384432007.15, 150073
1384432067.21, 150562
1384432127.28, 150754
1384432187.33, 151057
1384432247.37, 151437
1384432307.41, 151908
1384432367.42, 152267
1384432427.49, 152679
1384432487.54, 153062
1384432547.58, 153062
1384432607.64, 153146
1384432667.68, 153417
1384432727.71, 153591
1384432787.76, 153937
1384432847.83, 154722
1384432907.89, 156051
1384432967.95, 156793
1384433028.01, 157349
1384433088.07, 157463
1384433148.12, 157568
1384433208.18, 157664
1384433268.24, 157744
1384433328.3, 158079
1384433388.3, 158079
1384433448.35, 158079
1384433508.36, 158283
1384433568.4, 158357
1384433628.43, 158418
1384433688.49, 158499
1384433748.54, 159061
1384433808.6, 159160
1384433868.66, 159365
1384433928.68, 160766
1384433988.72, 161266

Code:
1384435634.01, 0
1384435694.07, 7677
1384435754.13, 16201
1384435814.2, 17500
1384435874.2, 23000
1384435934.3, 70184
1384435994.36, 106500
1384436054.37, 121000
1384436114.43, 121000
1384436174.49, 124135
1384436234.54, 131073
1384436296.2, 135577
1384436356.26, 138574
1384436416.33, 141458
1384436476.39, 144266
1384436536.46, 147723
1384436596.52, 150015
1384436656.58, 155441
1384436716.64, 160925
1384436776.7, 166218
1384436836.77, 170953
1384436896.83, 175481
jojo69 (OP)
Legendary
*
Offline Offline

Activity: 3220
Merit: 4398


diamond-handed zealot


View Profile
November 14, 2013, 10:46:07 PM
 #22

Java isn't a browser extension. There is a Java runtime that can be used a browser plug-in, but I don't think this is the same Java required by Multibit.

not to interrupt the discussion on how to best serve the blockchain off ramdisk (not being sarcastic, very pleased if the thread has some actual utility) but can anyone clarify or expand on the above statement?

This is not some pseudoeconomic post-modern Libertarian cult, it's an un-led, crowd-sourced mega startup organized around mutual self-interest where problems, whether of the theoretical or purely practical variety, are treated as temporary and, ultimately, solvable.
Censorship of e-gold was easy. Censorship of Bitcoin will be… entertaining.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
November 14, 2013, 10:56:57 PM
 #23

Java isn't a browser extension. There is a Java runtime that can be used a browser plug-in, but I don't think this is the same Java required by Multibit.

not to interrupt the discussion on how to best serve the blockchain off ramdisk (not being sarcastic, very pleased if the thread has some actual utility) but can anyone clarify or expand on the above statement?

Java has different types of executable programs:
1. Just an application (ran via command line on a local computer) [Multibit]
2. Servlets (ran on a server inside a web server)
3. Applets (ran in a web browser like Flash) [browser plug-in]
jojo69 (OP)
Legendary
*
Offline Offline

Activity: 3220
Merit: 4398


diamond-handed zealot


View Profile
November 14, 2013, 11:18:30 PM
 #24

so the applets are the security problem, not the underlying program?

can I just download the application without the servlets and applets?

This is not some pseudoeconomic post-modern Libertarian cult, it's an un-led, crowd-sourced mega startup organized around mutual self-interest where problems, whether of the theoretical or purely practical variety, are treated as temporary and, ultimately, solvable.
Censorship of e-gold was easy. Censorship of Bitcoin will be… entertaining.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
November 15, 2013, 06:25:36 AM
 #25

so the applets are the security problem, not the underlying program?

can I just download the application without the servlets and applets?

Yes, u can. But I'm not sure if Multibit doesn't require to use applets.
marcotheminer
Legendary
*
Offline Offline

Activity: 2072
Merit: 1049


┴puoʎǝq ʞool┴


View Profile
November 15, 2013, 07:02:24 AM
 #26

Mine took well over a bloody week!
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!