-
Notifications
You must be signed in to change notification settings - Fork 66
Interpreting Console Out
The following is logged to the console for blocks that are accepted to the strong chain. For early blocks the console skips lines in order to not slow down the synchronization. However all entries are written to the debug log.
00:46:51.054455 INFO [blockchain] Block [457889] 1473 txs 5480 ins 0 wms 186 vms 34 vµs 1 rµs 3 cµs 18 pµs 11 aµs 1 sµs 22 dµs 1.000000
01:04:27.130809 INFO [blockchain] Block [457890] 2263 txs 4383 ins 0 wms 183 vms 42 vµs 2 rµs 5 cµs 20 pµs 14 aµs 1 sµs 28 dµs 0.999558
01:14:52.545164 INFO [blockchain] Block [457891] 2507 txs 4700 ins 0 wms 208 vms 44 vµs 1 rµs 6 cµs 19 pµs 17 aµs 2 sµs 30 dµs 1.000000
01:22:33.294732 INFO [blockchain] Block [457892] 1997 txs 5194 ins 0 wms 202 vms 39 vµs 2 rµs 5 cµs 19 pµs 12 aµs 1 sµs 25 dµs 1.000000
01:31:05.938816 INFO [blockchain] Block [457893] 1766 txs 4999 ins 0 wms 185 vms 37 vµs 2 rµs 4 cµs 18 pµs 12 aµs 1 sµs 25 dµs 0.999433
This information can be converted to a table and averaged as follows.
block | txs | ins | wms | vms | vµs | rµs | cµs | pµs | aµs | sµs | dµs | efficiency |
---|---|---|---|---|---|---|---|---|---|---|---|---|
457889 | 1473 | 5480 | 0 | 186 | 34 | 1 | 3 | 18 | 11 | 1 | 22 | 1.0000000 |
457890 | 2263 | 4383 | 0 | 183 | 42 | 2 | 5 | 20 | 14 | 1 | 28 | 0.9995580 |
457891 | 2507 | 4700 | 0 | 208 | 44 | 1 | 6 | 19 | 17 | 2 | 30 | 1.0000000 |
457892 | 1997 | 5194 | 0 | 202 | 39 | 2 | 5 | 19 | 12 | 1 | 25 | 1.0000000 |
457893 | 1766 | 4999 | 0 | 185 | 37 | 2 | 4 | 18 | 12 | 1 | 25 | 0.9994330 |
averages | 2001 | 4951 | 0 | 193 | 39 | 2 | 5 | 19 | 13 | 1 | 26 | 0.9997982 |
The block byte sizes are not logged, but each of these is a "full" block. Full validation was performed using Bitcoin Server (BS). The server was connected to 16 peers with full transaction relay. Compact blocks is not yet implemented. Full server indexing and storage of all payment addresses and potential stealth payments was enabled. Write flushing was disabled. The server contained an internal SSD, 64 cores, 256 GB RAM and a 300 Mb Internet connection.
The height of the block on the strong chain.
The number of transactions in the block, including the coinbase.
The number of inputs in the block, including the coinbase.
The time (in milliseconds) the block waited to begin validation, after having been downloaded and deserialized. Delays are primarily the result of preceding block or transaction validation, as full validation is ordered. This is typically zero unless blocks are very closely spaced.
The total time (in milliseconds) to validate the block. This includes all time from the beginning of deserialization through completion of all storage with the exception of wait time (wms).
The total time (in microseconds) to validate the block, divided by the number of inputs, or vms * 1000 ÷ ins
.
The total time (in microseconds) to deserialize the block, divided by the number of inputs.
The total time (in microseconds) to perform context-free checks (block check), divided by the number of inputs.
The total time (in microseconds) to populate data necessary for contextual checks, divided by the number of inputs.
The total time (in microseconds) to perform contextual checks excluding script execution (block accept), divided by the number of inputs.
The total time (in microseconds) to perform script validation (block connect), divided by the number of inputs.
The total time (in microseconds) to deposit the block and indexing into the store, divided by the number of inputs. If write flushing is enabled that time is included.
The fraction of non-coinbase transactions that were found in the transaction pool. This value will increase toward 100% as the node collects unconfirmed transactions from the network. Script validation cost is nearly eliminated when efficiency is close to 100%. Transactions are never discarded, so this may be non-zero upon restart. Increasing node.minimum_byte_fee_satoshis
decreases efficiency. Efficiency may be low if transactions are being missed because there are too few peers. It is also possible to see reduced efficiency if transactions are mined before having been broadcast to the network.
The example shows that when CPU and RAM are not constrained (which occurs well below the level of the example hardware), average full block validation can be sustained at less than 40 microseconds per input, even with full address and stealth indexing enabled. Notice that two of the largest costs are
block | txs | ins | wms | vms | vµs | rµs | cµs | pµs | aµs | sµs | dµs | efficiency |
---|---|---|---|---|---|---|---|---|---|---|---|---|
averages | 2001 | 4951 | 0 | 193 | 39 | 2 | 5 | 19 | 13 | 1 | 26 | 0.9997982 |
Users | Developers | License | Copyright © 2011-2024 libbitcoin developers
- Home
- Build Server
- Download Server
- Frequently Asked Questions
- General Information
- Client Server Interface
- Configuration Settings
- Tutorials