After step 1 and 2 where world state is downloaded and healed, block import continues.
After steps 1 and 2, world state is downloaded and healed, and block import continues.
The visible drop in CPU shows that Besu finished the world state nodes download.
Block import step is long as Besu can't parallelize block import,
it has to validate each parent block before importing a child.
The block import step is long because Besu can't parallelize block import -- it must validate each
parent block before importing a child.
!!! note
!!!note
The Besu team is discussing other algorithm and implementations to make this block import faster.
Stay tuned!
The Besu team is curently working on other algorithm and implementations to make this block
import faster.
### 4 -- Blocks full import
### 4. Blocks full import
In step 4, all the transactions of each block are executed by Besu.
This is where Besu updates the world state after the healing step.
In step 4, Besu executes all transactions of each block.
This is when Besu updates the world state after the healing step.
The quantity of imported blocks in this step depends on the speed of the sync.
This number indicates the cumulated blocks quantity behind head since the last healing step.
@ -66,53 +68,54 @@ This step consumes less CPU than the previous steps because the sequential part
-- executing transactions on the EVM -- must be single-threaded,
reducing the concurrent work at the CPU level.
### 5 -- Blocks production and propagation
### 5. Blocks production and propagation
Once Besu is completely synced, it propagates blocks and executes the transactions inside each block.
Block production and propagation step shows an important reduction in CPU consumption.
This reduction is due to the idle time while waiting for the new block and because executing
transactions on the EVM is sequential.
Step 5, block production and propagation, shows a reduction in CPU consumption due to the idle time
while waiting for the new block and the sequential nature of executing transactions on the EVM.
## Block time
The following screenshot shows patterns related to block times as available in the [Besu Grafana full dashboard](https://grafana.com/grafana/dashboards/16455-besu-full/).
![Block time Grafana Besu dashboard patterns screenshot](../../../images/block-time.png)
Block time measures the duration of getting new blocks in Besu.
Block time is closely related to [CPU usage](#cpu-usage).
The block times screenshot also shows a "staircase" pattern.
The following screenshot shows patterns related to block time as available in the
[Besu Grafana full dashboard](https://grafana.com/grafana/dashboards/16455-besu-full/).
Block time metric measures the duration for getting new blocks in Besu.
![Block time Grafana Besu dashboard patterns screenshot](../../../images/block-time.png)
Block time is closely related to the steps described in the previous [CPU utilization](#cpu-utilization).
The block time pattern is also a "staircase" pattern.
### 1 -- Block import time
### 1. Block import time
Block import time, as visible in step 1, is the duration for importing a block.
Step 1, block import time, is the duration of importing a block.
Import includes:
- the data retrieval over the network
- the headers, body and, receipt validation
- persisting the block in the database.
- Data retrieval over the network.
- Headers, body, and receipt validation.
- Persisting the block in the database.
Duration for a block import is between a few milliseconds and up to tens of milliseconds.
Block import takes between a few and tens of milliseconds.
### 2 -- Block full import time
### 2. Block full import time
The next step is the block full import time graph shows the duration for importing the block
(duration of the first stage) and for the execution of all the transactions in this block.
Step 2, block full import time, is the duration of importing a block (step 1) and executing all
its transactions.
Besu spends between 1 and 2 seconds per block for this step, depending on the number and complexity
Block full import takes between 1 and 2 seconds per block, depending on the number and complexity
of the transactions.
### 3 -- Block network time
### 3. Block network time
Step 3, block network time, is the duration of propagating a block over the network and
executing all its transactions.
The last step shows block network time that includes the propagating of the block over the network and
the execution of all its transactions.
Block network takes between 13 and 16 seconds.
It usually takes between 13 and 16 seconds.
<!--links-->
[monitoring Besu with Prometheus and Grafana]: ../../../private-networks/tutorials/quickstart.md#monitor-nodes-with-prometheus-and-grafana
[^1]: A CPU-bound task means that only the CPU speed drives the time required to execute the task.
Find more about [CPU-boundingon Wikipedia](https://en.wikipedia.org/wiki/CPU-bound).
[^1]: A CPU-bound task means that the time required to execute the task is determined only by the