<titledata-rh="true">Performance Benchmarks and Test Reports | Waku Documentation</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:url"content="https://docs.waku.org/learn/research/benchmarks/test-results-summary"><metadata-rh="true"property="og:locale"content="en_GB"><metadata-rh="true"name="docusaurus_locale"content="en-GB"><metadata-rh="true"name="docsearch:language"content="en-GB"><metadata-rh="true"name="keywords"content="waku, web3"><metadata-rh="true"name="image"content="https://docs.waku.org/_og/f1268f4a9597a2ba6a2b8097ed40c93837a06361.png"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-default-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-default-current"><metadata-rh="true"property="og:title"content="Performance Benchmarks and Test Reports | Waku Documentation"><metadata-rh="true"name="description"content="Introduction"><metadata-rh="true"property="og:description"content="Introduction"><linkdata-rh="true"rel="icon"href="/theme/image/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://docs.waku.org/learn/research/benchmarks/test-results-summary"><linkdata-rh="true"rel="alternate"href="https://docs.waku.org/learn/research/benchmarks/test-results-summary"hreflang="en-GB"><linkdata-rh="true"rel="alternate"href="https://docs.waku.org/learn/research/benchmarks/test-results-summary"hreflang="x-default"><linkrel="alternate icon"type="image/png"href="/theme/image/favicon.png">
<p>This page summarises key performance metrics for nwaku and provides links to detailed test reports.</p>
<blockquote>
<h2class="anchor anchorWithHideOnScrollNavbar_WYt5"id="tldr">TL;DR<ahref="#tldr"class="hash-link"aria-label="Direct link to TL;DR"title="Direct link to TL;DR"></a></h2>
<ul>
<li>Average Waku bandwidth usage: ~<strong>10 KB/s</strong> (minus discv5 Discovery) for 1KB message size and message injection rate of 1msg/s.<br>
Confirmed for topologies of up to 2000 Relay nodes.</li>
<li>Average time for a message to propagate to 100% of nodes: <strong>0.4s</strong> for topologies of up to 2000 Relay nodes.</li>
<li>Average per-node bandwidth usage of the discv5 protocol: <strong>8 KB/s</strong> for incoming traffic and <strong>7.4 KB/s</strong> for outgoing traffic,<br>
in a network with 100 continuously online nodes.</li>
<li>Future improvements: A messaging API is currently in development to streamline interactions with the Waku protocol suite.<br>
Once completed, it will enable benchmarking at the messaging API level, allowing applications to more easily compare their<br>
own performance results.</li>
</ul>
</blockquote>
<h2class="anchor anchorWithHideOnScrollNavbar_WYt5"id="insights">Insights<ahref="#insights"class="hash-link"aria-label="Direct link to Insights"title="Direct link to Insights"></a></h2>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="relay-bandwidth-usage-nwaku-v0340">Relay Bandwidth Usage: nwaku v0.34.0<ahref="#relay-bandwidth-usage-nwaku-v0340"class="hash-link"aria-label="Direct link to Relay Bandwidth Usage: nwaku v0.34.0"title="Direct link to Relay Bandwidth Usage: nwaku v0.34.0"></a></h3>
<p>The average per-node <code>libp2p</code> bandwidth usage in a 1000-node Relay network with 1KB messages at varying injection rates.</p>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="message-propagation-latency-nwaku-v0340-rc1">Message Propagation Latency: nwaku v0.34.0-rc1<ahref="#message-propagation-latency-nwaku-v0340-rc1"class="hash-link"aria-label="Direct link to Message Propagation Latency: nwaku v0.34.0-rc1"title="Direct link to Message Propagation Latency: nwaku v0.34.0-rc1"></a></h3>
<p>The message propagation latency is measured as the total time for a message to reach all nodes.<br>
We compare the latency in different network configurations for the following simulation parameters:</p>
<ul>
<li>Total messages published: 600</li>
<li>Message size: 1KB</li>
<li>Message injection rate: 1msg/s</li>
</ul>
<p>The different network configurations tested are:</p>
<ul>
<li>Relay Config: 1000 nodes with relay enabled</li>
<li>Mixed Config: 210 nodes, consisting of bootstrap nodes, filter clients and servers, lightpush clients and servers, store nodes</li>
<li>Non-persistent Relay Config: 500 persistent relay nodes, 10 store nodes and 100 non-persistent relay nodes</li>
</ul>
<p>Click on a specific config to see the detailed test report.</p>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="discv5-bandwidth-usage-nwaku-v0340">Discv5 Bandwidth Usage: nwaku v0.34.0<ahref="#discv5-bandwidth-usage-nwaku-v0340"class="hash-link"aria-label="Direct link to Discv5 Bandwidth Usage: nwaku v0.34.0"title="Direct link to Discv5 Bandwidth Usage: nwaku v0.34.0"></a></h3>
<p>The average bandwidth usage of discv5 for a network of 100 nodes and message injection rate of 0 or 1msg/s.<br>
The measurements are based on a stable network where all nodes have already connected to peers to form a healthy mesh.</p>
<h2class="anchor anchorWithHideOnScrollNavbar_WYt5"id="testing">Testing<ahref="#testing"class="hash-link"aria-label="Direct link to Testing"title="Direct link to Testing"></a></h2>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="dst">DST<ahref="#dst"class="hash-link"aria-label="Direct link to DST"title="Direct link to DST"></a></h3>
<p>The VAC DST team performs regression testing on all new <strong>nwaku</strong> releases, comparing performance with previous versions.<br>
They simulate large Waku networks with a variety of network and protocol configurations that are representative of real-world usage.</p>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="qa">QA<ahref="#qa"class="hash-link"aria-label="Direct link to QA"title="Direct link to QA"></a></h3>
<p>The VAC QA team performs interoperability tests for <strong>nwaku</strong> and <strong>go-waku</strong> using the latest main branch builds.<br>
These tests run daily and verify protocol functionality by targeting specific features of each protocol.</p>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="nwaku">nwaku<ahref="#nwaku"class="hash-link"aria-label="Direct link to nwaku"title="Direct link to nwaku"></a></h3>
<p>The <strong>nwaku</strong> team follows a structured release procedure for all release candidates.<br>
This involves deploying RCs to <code>status.staging</code> fleet for validation and performing sanity checks.</p>
<h3class="anchor anchorWithHideOnScrollNavbar_WYt5"id="research">Research<ahref="#research"class="hash-link"aria-label="Direct link to Research"title="Direct link to Research"></a></h3>
<p>The Waku Research team conducts a variety of benchmarking, performance testing, proof-of-concept validations and debugging efforts.<br>
They also maintain a Waku simulator designed for small-scale, single-purpose, on-demand testing.</p>
<p><strong>Test Reports</strong>: <ahref="https://www.notion.so/Miscellaneous-2c02516248db4a28ba8cb2797a40d1bb"target="_blank"rel="noopener noreferrer">Waku Research Reports</a></p>