VALIDEXIS Services
  • πŸ‘‹ About US
  • 🌐 Supported Networks
  • 🌍 Our Validators
  • πŸ” Validator Security: Our Approach and Protection Measures
    • πŸ”’Enhancing SSH Security for a Validator
    • πŸ“‘ TMKMS for Remote Signing
    • πŸ”‘ Horcrux
    • πŸ›‘οΈ Protecting Validator from DDoS Attacks
    • 🧩Multi-Factor Authentication (MFA) for a Validator
  • 🚨Monitoring
    • πŸ“Š Node-exporter + Prometheus + Grafana
    • πŸ•΅οΈ TenderDuty for Node Monitoring
  • 🧡 Setting up connection to IBC with Hermes
  • πŸ€–CelestiaUltraBot
    • πŸ† Contest
    • πŸš€ Getting started
    • πŸ–₯️ Validator monitoring
    • πŸ” Bridge Node Monitoring
    • πŸ‘› Wallet
    • πŸ›Έ AI Troubleshooting
  • 🟒 MAINNETS
    • Celestia
      • πŸ—‚οΈ API/RPC/gRPC/AddrBook
      • πŸ“Έ Snapshot
      • πŸ”— Validator Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’Ύ Full Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸŒ‰ Bridge Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’‘ Light Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
    • Zetachain
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Xion
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Nibiru
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Kyve
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Juno
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Agoric
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • CosmosHub
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Lava
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Uptick
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Paloma
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Kusama
      • πŸ—‚οΈ API/RPC
      • πŸ“Έ Snapshot
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Polkadot
      • πŸ—‚οΈ API/RPC
      • πŸ“Έ Snapshot
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
      • πŸ”§ Installing a Polkadot Node Using Kagome
      • πŸ§ͺ Benchmarking a Server for Substrate/Polkadot
      • πŸ“˜ Monitoring Polkadot Nodes with Prometheus and Alertmanager
      • πŸ” UFW Security Template
    • Starknet
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • NYM
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
  • 🟑 TESTNETS
    • Celestia
      • πŸ—‚οΈ API/RPC/AddrBook
      • πŸ“Έ Snapshot
      • πŸ”— Validator Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’Ύ Full Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸŒ‰ Bridge Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’‘ Light Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
Powered by GitBook
On this page
  • Automatic Installation
  • Manual Installation
  1. 🟒 MAINNETS
  2. Polkadot

πŸ§ͺ Benchmarking a Server for Substrate/Polkadot

Automatic Installation

source <(curl -s https://raw.githubusercontent.com/validexisinfra/polkadot/main/install-benchmark.sh)

Manual Installation

Installing Rust and Dependencies

sudo apt update && sudo apt install -y build-essential clang cmake pkg-config libssl-dev git curl unzip protobuf-compiler libclang-dev llvm-dev && curl https://sh.rustup.rs -sSf | sh -s -- -y && source $HOME/.cargo/env && rustup update stable && rustup target add wasm32-unknown-unknown && rustup component add rust-src

curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup update stable

rustup target add wasm32-unknown-unknown
rustup component add rust-src

Install the benchmarking tool

cargo install frame-omni-bencher

Check that the installed version is available

frame-omni-bencher --version

Clone Polkadot SDK

git clone https://github.com/paritytech/polkadot-sdk.git
cd polkadot-sdk

Run build with the feature flag included

cargo build --features runtime-benchmarks --release

Locate the generated .wasm

find target/ -name "*.wasm"

Expected output:

  • Westend:

    • target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm

  • Rococo:

    • target/release/wbuild/rococo-runtime/rococo_runtime.compact.compressed.wasm

Download the frame-weight template

mkdir -p scripts
curl https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags/polkadot-stable2412/substrate/.maintain/frame-weight-template.hbs \
  --output scripts/frame-weight-template.hbs

Run the benchmarking tool to measure extrinsic weights

frame-omni-bencher v1 benchmark pallet \
  --runtime target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm \
  --pallet pallet_balances \
  --extrinsic "*" \
  --template scripts/frame-weight-template.hbs \
  --output weights.rs

Result

Benchmark results will be saved in weights.rs

This file contains execution weights for the pallet's extrinsics, useful for evaluating node performance or preparing validator applications.

Run hardware benchmark

To benchmark server hardware performance:

cargo run --release --features=runtime-benchmarks --bin polkadot -- benchmark machine

This command evaluates system performance and prints results in the console.

PreviousπŸ”§ Installing a Polkadot Node Using KagomeNextπŸ“˜ Monitoring Polkadot Nodes with Prometheus and Alertmanager

Last updated 26 days ago