27 lines
92 KiB
HTML
Raw Normal View History

2025-03-18 17:02:40 +00:00
<!doctype html>
<html lang="en-GB" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-research/benchmarks/test-results-summary">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Performance Benchmarks and Test Reports | Waku Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.waku.org/research/benchmarks/test-results-summary"><meta data-rh="true" name="docusaurus_locale" content="en-GB"><meta data-rh="true" name="docsearch:language" content="en-GB"><meta data-rh="true" name="keywords" content="waku, web3"><meta data-rh="true" name="image" content="theme/image/preview-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Performance Benchmarks and Test Reports | Waku Documentation"><meta data-rh="true" name="description" content="Introduction"><meta data-rh="true" property="og:description" content="Introduction"><link data-rh="true" rel="icon" href="/theme/image/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.waku.org/research/benchmarks/test-results-summary"><link data-rh="true" rel="alternate" href="https://docs.waku.org/research/benchmarks/test-results-summary" hreflang="en-GB"><link data-rh="true" rel="alternate" href="https://docs.waku.org/research/benchmarks/test-results-summary" hreflang="x-default"><link rel="alternate icon" type="image/png" href="/theme/image/favicon.png">
<link rel="icon" type="image/svg+xml" href="/theme/image/favicon.svg"><link rel="stylesheet" href="/assets/css/styles.539c5141.css">
2025-05-20 05:36:46 +00:00
<link rel="preload" href="/assets/js/runtime~main.d2e57e37.js" as="script">
<link rel="preload" href="/assets/js/main.9b621cf3.js" as="script">
2025-03-18 17:02:40 +00:00
</head>
<body class="navigation-with-keyboard">
<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(e){}return e}()||function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):window.matchMedia("(prefers-color-scheme: light)").matches?e("light"):e("dark")}()</script><div id="__docusaurus">
<style data-emotion="css-global 3rtehh">.lsd-button{width:auto;cursor:pointer;padding:6px 24px;}.lsd-button--disabled{cursor:default;opacity:0.34;}.lsd-button--large{padding:10px 40px;}.lsd-button--medium{padding:6px 24px;}.lsd-button--small{padding:6px 12px;}.lsd-button:hover:not(.lsd-button--disabled) .lsd-button__text{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-button--with-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-button__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}.lsd-button--large.lsd-button--with-icon{padding:10px 0px 10px 18px;}.lsd-button--large.lsd-button--with-icon .lsd-button__icon{width:42px;}.lsd-button--medium.lsd-button--with-icon{padding:6px 0px 6px 14px;}.lsd-button--medium.lsd-button--with-icon .lsd-button__icon{width:38px;}.lsd-button--small.lsd-button--with-icon{padding:6px 0px 6px 12px;}.lsd-button--small.lsd-button--with-icon .lsd-button__icon{width:34px;}.lsd-button--outlined{background:none;border:1px solid rgb(var(--lsd-border-primary));}.lsd-button--outlined .lsd-button__text{color:rgb(var(--lsd-text-primary));}.lsd-button--filled{background:rgb(var(--lsd-surface-secondary));border:1px solid rgb(var(--lsd-border-primary));}.lsd-button--filled .lsd-button__text{color:rgb(var(--lsd-text-secondary));}</style><style data-emotion="css-global 10bahxd">.lsd-icon-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;background:none;padding:0;border:1px solid rgb(var(--lsd-border-primary));}.lsd-icon-button--filled{background-color:rgb(var(--lsd-icon-primary));}.lsd-icon-button--filled svg{--lsd-icon-primary:var(--lsd-icon-secondary);}.lsd-icon-button--disabled{opacity:0.34;cursor:default;}.lsd-icon-button--large{width:40px;height:40px;}.lsd-icon-button--medium{width:32px;height:32px;}.lsd-icon-button--small{width:28px;height:28px;}</style><style data-emotion="css-global icqph9">.lsd-icon-button-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}.lsd-icon-button-group--outlined .lsd-icon-button:not(:last-child){border-right:none;}</style><style data-emotion="css-global 1f43ub2">body *{font-family:var(--lsd-typography-generic-font-family);}.lsd-typography{color:rgb(var(--lsd-text-primary));}.lsd-typography--sans-serif,.lsd-typography--sans-serif *{font-family:sans-serif;}.lsd-typography--serif,.lsd-typography--serif *{font-family:serif;}.lsd-typography--monospace,.lsd-typography--monospace *{font-family:monospace;}.lsd-typography--display1{color:rgb(var(--lsd-text-primary));font-weight:var(--lsd-display1-fontWeight);font-size:var(--lsd-display1-fontSize);line-height:var(--lsd-display1-lineHeight);}.lsd-typography--display2{color:rgb(var(--lsd-text-primary));font-weight:var(--lsd-display2-fontWeight);font-size:var(--lsd-display2-fontSize);line-height:var(--lsd-display2-lineHeight);}.lsd-typography--display3{color:rgb(var(--lsd-text-primary));font-weight:var(--lsd-display3-fontWeight);font-size:var(--lsd-display3-fontSize);line-height:var(--lsd-display3-lineHeight);}.lsd-typography--display4{color:rgb(var(--lsd-text-primary));font-weight:var(--lsd-display4-fontWeight);font-size:var(--lsd-display4-fontSize);line-height:var(--lsd-display4-lineHeight);}h1,.lsd-typography--h1{color:rgb(var(--lsd-text-primary));font-weight:var(--lsd-h1-fontWeight);font-size:var(--lsd-h1-fontSize);line-height:var(--lsd-h1-lineHeight);}h2,.lsd
.lsd-dropdown--error
) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not(
.lsd-dropdown--error
) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}</style><style data-emotion="css-global w2g5fy">.lsd-dropdown-item{width:100%;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown-item:not(.lsd-dropdown-item--disabled){cursor:pointer;}.lsd-dropdown-item:not(.lsd-dropdown-item--disabled):hover,.lsd-dropdown-item:not(.lsd-dropdown-item--disabled):focus{outline:none;}.lsd-dropdown-item:not(.lsd-dropdown-item--disabled):hover .lsd-dropdown-item__label,.lsd-dropdown-item:not(.lsd-dropdown-item--disabled):focus .lsd-dropdown-item__label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown-item__label{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.lsd-dropdown-item--disabled{opacity:0.34;}.lsd-dropdown-item__icon{margin-right:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.lsd-dropdown-item--small{padding:5px 9px;height:28px;}.l
<!-- -->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><table><thead><tr><th>Config</th><th>Average Message Propagation Latency (s)</th><th>Max Message Propagation Latency (s)</th></tr></thead><tbody><tr><td><a href="https://www.notion.so/Waku-regression-testing-v0-34-1618f96fb65c803bb7bad6ecd6bafff9" target="_blank" rel="noopener noreferrer">Relay</a> (1000 nodes)</td><td>0.05</td><td>1.6</td></tr><tr><td><a href="https://www.notion.so/Mixed-environment-analysis-1688f96fb65c809eb235c59b97d6e15b" target="_blank" rel="noopener noreferrer">Mixed</a> (210 nodes)</td><td>0.0125</td><td>0.007</td></tr><tr><td><a href="https://www.notion.so/High-Churn-Relay-Store-Reliability-16c8f96fb65c8008bacaf5e86881160c" target="_blank" rel="noopener noreferrer">Non-persistent Relay</a> (510 nodes)</td><td>0.0125</td><td>0.25</td></tr></tbody></table><h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="discv5-bandwidth-usage-nwaku-v0340">Discv5 Bandwidth Usage: nwaku v0.34.0<a href="#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><table><thead><tr><th>Message size</th><th>Average discv5 incoming bandwidth (KB/s)</th><th>Average discv5 outgoing bandwidth (KB/s)</th></tr></thead><tbody><tr><td>no message injection</td><td>7.88</td><td>6.70</td></tr><tr><td>1KB</td><td>8.04</td><td>7.40</td></tr><tr><td>10KB</td><td>8.03</td><td>7.45</td></tr></tbody></table><h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="testing">Testing<a href="#testing" class="hash-link" aria-label="Direct link to Testing" title="Direct link to Testing"></a></h2><h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="dst">DST<a href="#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><p><strong>Test Reports</strong>: <a href="https://www.notion.so/DST-Reports-1228f96fb65c80729cd1d98a7496fe6f" target="_blank" rel="noopener noreferrer">DST Reports</a> </p><h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="qa">QA<a href="#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><p><strong>Test Reports</strong>: <a href="https://discord.com/channels/1110799176264056863/1196933819614363678" target="_blank" rel="noopener noreferrer">QA Reports</a> </p><h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="nwaku">nwaku<a href="#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><p><strong>Release Process</strong>: <a href="https://github.com/waku-org/nwaku/blob/master/.github/ISSUE_TEMPLATE/prepare_release.md" target="_blank" rel="noopener noreferrer">nwaku Release Procedure</a> </p><h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="research">Research<a href="#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>: <a href="https://www.notion.so/Miscellaneous-2c02516248db4a28ba8cb2797a40d1bb" target="_blank" rel="noopener noreferrer">Waku Research Reports</a></p><p><strong>Waku Simulator</strong>: <a href="https://waku-org.github.io/waku-simulator/" target="_blank" rel="noopener noreferrer">Waku Simulator Book</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/waku-org/docs.waku.org/tree/develop/docs/research/benchmarks/test-results-summary.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><div class="icon_S7Kx m_thRi"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m12.707 2.393.9.9c.526.52.526 1.367 0 1.887L4.787 14H2v-2.787l6.933-6.94 1.887-1.88c.52-.52 1.367-.52 1.887 0ZM3.333 12.667l.94.04 6.547-6.554-.94-.94-6.547 6.547v.907Z" fill="#fff"></path></svg></div><span class="lsd-typography lsd-typography--body2">Edit this page</span></a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2025-03-18T17:00:20.000Z">18 Mar 2025</time></b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/research/benchmarks/postgres-adoption"><div class="icon_S7Kx m_thRi"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.667 6.417h-7.1l3.261-3.261L7 2.333 2.333 7 7 11.667l.823-.823-3.255-3.26h7.099V6.417Z" fill="#fff"></path></svg></div><span class="lsd-typography lsd-typography--body2 pagination-nav__label">PostgreSQL</span></a><a class="pagination-nav__link pagination-nav__link--next" href="/research/research-and-studies/capped-bandwidth"><span class="lsd-typography lsd-typography--body2 pagination-nav__label">Capped Bandwidth in Waku</span><div class="icon_S7Kx m_thRi"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m7 2.333-.823.823 3.255 3.26H2.333v1.167h7.1l-3.256 3.261.823.823L11.667 7 7 2.333Z" fill="#fff"></path></svg></div></a></nav></div></div><div class="gap1_XuuQ"></div><div class="toc_pP_5"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#introduction" class="table-of-contents__link toc-highlight">Introduction</a></li><li><a href="#insights" class="table-of-contents__link toc-highlight">Insights</a><ul><li><a href="#relay-bandwidth-usage-nwaku-v0340" class="table-of-contents__link toc-highlight">Relay Bandwidth Usage: nwaku v0.34.0</a></li><li><a href="#message-propagation-latency-nwaku-v0340-rc1" class="table-of-contents__link toc-highlight">Message Propagation Latency: nwaku v0.34.0-rc1</a></li><li><a href="#discv5-bandwidth-usage-nwaku-v0340" class="table-of-contents__link toc-highlight">Discv5 Bandwidth Usage: nwaku v0.34.0</a></li></ul></li><li><a href="#testing" class="table-of-contents__link toc-highlight">Testing</a><ul><li><a href="#dst" class="table-of-contents__link toc-highlight">DST</a></li><li><a href="#qa" class="table-of-contents__link toc-highlight">QA</a></li><li><a href="#nwaku" class="table-of-contents__link toc-highlight">nwaku</a></li><li><a href="#research" class="table-of-contents__link toc-highlight">Research</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer"><div class="container container-fluid firstRow_ar1q"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a class="footerLogoLink_BH7S" href="/"><img src="/theme/image/logo.svg" alt="Waku" class="themedImage_kfRS themedImage--light_BL8e footer__logo" width="22"><img src="/theme/image/logo.svg" alt="Waku" class="themedImage_kfRS themedImage--dark_OvI
2025-05-20 05:36:46 +00:00
<script src="/assets/js/runtime~main.d2e57e37.js"></script>
<script src="/assets/js/main.9b621cf3.js"></script>
2025-03-18 17:02:40 +00:00
</body>
</html>