Recommended config for best performance
Some known ways to improve block processing performance:- Use NVMe for storage instead of local SSDs or other persistent disks
- Use full nodes where possible over archive nodes
Pre-activation testing
To ensure your chain and supporting infrastructure can consistently process blocks up to your gas limit, you should run some performance tests. You’ll want to run benchmarks and perform careful analysis of the results to ensure your execution clients can handle the increased gas usage.Changing the gas target/limit change
How to change the gas target/limit on a live chain.Relevant configuration parameters
The gas configuration on an OP Stack chain use the same EIP-1559 parameters as Ethereum. Where the gas target = gas limit / elasticity. These values can be found in theSystemConfig contract.
Procedure
Holocene introduces the ability to change the EIP-1559 parameterselasticity and denominator via the SystemConfig. This will allow you to set proper values for the elasticity and block gasLimit.
Example: to double the target while keeping the block limit at 30Mgas/block:
1
Retrieve existing EIP-1559 values
Retrieve the existing Current target =
eip1559Elasticity and eip1559Denominator values:30Mgas / 6 = 5Mgas per block2
Set new EIP-1559 params
Use value from previous step as input to set new params and reduce the New target =
elasticity from 6 to 3:30Mgas / 3 = 10Mgas per blockPost-activation monitoring
What to monitor after executing the gas changes.SystemConfig contract values
SystemConfig.gasLimit()SystemConfig.eip1559Denominator()SystemConfig.eip1559Elasticity()
Block explorer
For example, on OP Mainnet:- Any block with
gasUsed > gasTargetshould cause the base fee to increase - Any block with
gasUsed < gasTargetshould cause the base fee to decrease
Node performance
- Verify nodes are processing blocks faster than the block period
- Monitor CPU/memory usage and p99 tail latency of block processing