diff --git a/ansible/inventories/devnet-2/group_vars/besu.yaml b/ansible/inventories/devnet-2/group_vars/besu.yaml index a68551c..22ba7a3 100644 --- a/ansible/inventories/devnet-2/group_vars/besu.yaml +++ b/ansible/inventories/devnet-2/group_vars/besu.yaml @@ -90,7 +90,7 @@ prometheus_config: | labels: instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}" - job_name: "execution" - metrics_path: "/debug/metrics/prometheus" + metrics_path: "/metrics" static_configs: - targets: ["execution:{{ ethereum_node_el_ports_metrics }}"] labels: diff --git a/ansible/inventories/devnet-2/group_vars/ethereum_node.yaml b/ansible/inventories/devnet-2/group_vars/ethereum_node.yaml index c6c0e29..a016b78 100644 --- a/ansible/inventories/devnet-2/group_vars/ethereum_node.yaml +++ b/ansible/inventories/devnet-2/group_vars/ethereum_node.yaml @@ -14,7 +14,7 @@ prometheus_remote_write_username: "{{ secret_prometheus_remote_write.username }} prometheus_remote_write_password: "{{ secret_prometheus_remote_write.password }}" prometheus_config: | global: - scrape_interval: 30s + scrape_interval: 12s evaluation_interval: 30s scrape_timeout: 10s external_labels: diff --git a/ansible/inventories/devnet-2/group_vars/geth.yaml b/ansible/inventories/devnet-2/group_vars/geth.yaml index 036330b..1775627 100644 --- a/ansible/inventories/devnet-2/group_vars/geth.yaml +++ b/ansible/inventories/devnet-2/group_vars/geth.yaml @@ -35,7 +35,7 @@ geth_container_pull: true prometheus_config: | global: - scrape_interval: 30s + scrape_interval: 12s evaluation_interval: 30s scrape_timeout: 10s external_labels: diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-noprefetch-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-noprefetch-super-1.yaml new file mode 100644 index 0000000..bf0ceb6 --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-noprefetch-super-1.yaml @@ -0,0 +1,16 @@ +# Benchmark: noprefetch (prefetch disabled, bonsai cache enabled) +besu_container_image: ethpandaops/besu:bal-devnet-2-with-prefetch + +besu_container_command_extra_args: + - --genesis-file=/network-config/besu.json + - --rpc-http-api=ADMIN,DEBUG,ETH,MINER,NET,TRACE,TXPOOL,WEB3 + - --sync-mode=FULL + - --data-storage-format=BONSAI + - --bonsai-limit-trie-logs-enabled=false + - --bonsai-historical-block-limit=100000000 + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --target-gas-limit=80000000 + - --Xbal-prefetch-reading-enabled=false + - --bonsai-cache-enabled=true + - --Xbal-trust-state-root=true + - --Xbal-perfect-parallelization-enabled=true diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-optimized-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-optimized-super-1.yaml new file mode 100644 index 0000000..525ad2a --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-optimized-super-1.yaml @@ -0,0 +1,15 @@ +# Benchmark: optimized (prefetch enabled) +besu_container_image: ethpandaops/besu:bal-devnet-2-with-prefetch + +besu_container_command_extra_args: + - --genesis-file=/network-config/besu.json + - --rpc-http-api=ADMIN,DEBUG,ETH,MINER,NET,TRACE,TXPOOL,WEB3 + - --sync-mode=FULL + - --data-storage-format=BONSAI + - --bonsai-limit-trie-logs-enabled=false + - --bonsai-historical-block-limit=100000000 + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --target-gas-limit=80000000 + - --Xbal-prefetch-reading-enabled=true + - --Xbal-trust-state-root=true + - --Xbal-perfect-parallelization-enabled=true diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-sequential-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-sequential-super-1.yaml new file mode 100644 index 0000000..29fd006 --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-besu-sequential-super-1.yaml @@ -0,0 +1,15 @@ +# Benchmark: sequential (BAL optimization disabled) +besu_container_image: ethpandaops/besu:bal-devnet-2-with-prefetch + +besu_container_command_extra_args: + - --genesis-file=/network-config/besu.json + - --rpc-http-api=ADMIN,DEBUG,ETH,MINER,NET,TRACE,TXPOOL,WEB3 + - --sync-mode=FULL + - --data-storage-format=BONSAI + - --bonsai-limit-trie-logs-enabled=false + - --bonsai-historical-block-limit=100000000 + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --target-gas-limit=80000000 + - --Xbal-optimization-enabled=false + - --Xbal-perfect-parallelization-enabled=false + - --Xbal-trust-state-root=false diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-noprefetch-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-noprefetch-super-1.yaml new file mode 100644 index 0000000..5b31338 --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-noprefetch-super-1.yaml @@ -0,0 +1,16 @@ +# Benchmark: noprefetch (parallel execution without async warming) +default_ethereum_client_images: + lighthouse: ethpandaops/lighthouse:bal-devnet-2-65bb283 + geth: ethpandaops/geth:bal-devnet-2 + +geth_container_command_extra_args: + - --http.api=eth,net,web3,debug,admin,txpool,trace + - --http.vhosts=* + - --networkid={{ ethereum_network_id }} + - --syncmode=full + - --history.state=0 + - --gcmode=archive + - --syncmode=full + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --miner.gaslimit=80000000 + - --bal.executionmode=nobatchio diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-optimized-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-optimized-super-1.yaml new file mode 100644 index 0000000..a82d800 --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-optimized-super-1.yaml @@ -0,0 +1,16 @@ +# Benchmark: optimized (full BAL acceleration) +default_ethereum_client_images: + lighthouse: ethpandaops/lighthouse:bal-devnet-2 + geth: ethpandaops/geth:bal-devnet-2 + +geth_container_command_extra_args: + - --http.api=eth,net,web3,debug,admin,txpool,trace + - --http.vhosts=* + - --networkid={{ ethereum_network_id }} + - --syncmode=full + - --history.state=0 + - --gcmode=archive + - --syncmode=full + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --miner.gaslimit=80000000 + - --bal.executionmode=full diff --git a/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-sequential-super-1.yaml b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-sequential-super-1.yaml new file mode 100644 index 0000000..7024730 --- /dev/null +++ b/ansible/inventories/devnet-2/host_vars/hc-lighthouse-geth-sequential-super-1.yaml @@ -0,0 +1,16 @@ +# Benchmark: sequential (no BAL acceleration) +default_ethereum_client_images: + lighthouse: ethpandaops/lighthouse:bal-devnet-2 + geth: ethpandaops/geth:bal-devnet-2 + +geth_container_command_extra_args: + - --http.api=eth,net,web3,debug,admin,txpool,trace + - --http.vhosts=* + - --networkid={{ ethereum_network_id }} + - --syncmode=full + - --history.state=0 + - --gcmode=archive + - --syncmode=full + - --bootnodes={{ ethereum_el_bootnodes | join(',') }} + - --miner.gaslimit=80000000 + - --bal.executionmode=sequential diff --git a/terraform/devnet-2/hetzner/main.tf b/terraform/devnet-2/hetzner/main.tf index 4aae915..928068a 100644 --- a/terraform/devnet-2/hetzner/main.tf +++ b/terraform/devnet-2/hetzner/main.tf @@ -141,5 +141,12 @@ locals { var.grandine_besu_super, var.grandine_reth_super, var.grandine_nimbusel_super, + # Benchmark Nodes + var.lighthouse_besu_sequential_super, + var.lighthouse_besu_optimized_super, + var.lighthouse_besu_noprefetch_super, + var.lighthouse_geth_sequential_super, + var.lighthouse_geth_optimized_super, + var.lighthouse_geth_noprefetch_super ] } diff --git a/terraform/devnet-2/hetzner/nodes.tf b/terraform/devnet-2/hetzner/nodes.tf index 23204f5..1dd0db7 100644 --- a/terraform/devnet-2/hetzner/nodes.tf +++ b/terraform/devnet-2/hetzner/nodes.tf @@ -30,6 +30,39 @@ variable "lighthouse_geth_super" { } } +variable "lighthouse_geth_optimized_super" { + default = { + name = "lighthouse-geth-optimized-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccX33" + supernode = true + } +} + +variable "lighthouse_geth_sequential_super" { + default = { + name = "lighthouse-geth-sequential-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccx33" + supernode = true + } +} + +variable "lighthouse_geth_noprefetch_super" { + default = { + name = "lighthouse-geth-noprefetch-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccx33" + supernode = true + } +} + variable "lighthouse_besu_super" { default = { name = "lighthouse-besu-super" @@ -39,6 +72,39 @@ variable "lighthouse_besu_super" { } } +variable "lighthouse_besu_optimized_super" { + default = { + name = "lighthouse-besu-optimized-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccX33" + supernode = true + } +} + +variable "lighthouse_besu_sequential_super" { + default = { + name = "lighthouse-besu-sequential-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccx33" + supernode = true + } +} + +variable "lighthouse_besu_noprefetch_super" { + default = { + name = "lighthouse-besu-noprefetch-super" + count = 1 + validator_start = 0 + validator_end = 0 + size = "ccx33" + supernode = true + } +} + variable "lighthouse_nethermind_super" { default = { name = "lighthouse-nethermind-super"