The following test cases were executed to determine a baseline for storev3 query duration in different scenarios and to investigate possible bottlenecks.

<aside> 💡

nwaku version: v0.32.0-rc.0-9-g19feb6

</aside>

TL;DR

Scenario 1: Two Store Nodes Connected to the same DB back-end, relay disabled, each store node serving 10 queries per second

Scenario 2: One Store Node Connected to the DB, relay disabled, store node serving 1 query per second

Test Setup

The wakudev remote host was used to run the DB, store nodes, client nodes and query script.

The client setup includes an nwaku node configured with a store node as a static node and a Python script that handles the HTTP requests and responses.

Query duration measurement

The query duration was recorded as the time elapsed between the client initiating an HTTP GET request and receiving a response. This measurement captures the total time taken by an nwaku node to send a query to a store node, receive the response, and return it to the client.

Databases and Query Criteria

The criteria used for queries is obtained by querying the DB directly for message hashes and content topics from specific time ranges.

The database used is one running on the wakudev remote host (aka wakudev DB).