Go to file
Ivan Folgueira Bande 209913ed4f
Update waku-store-request-maker image
The latest image, 1b7c16, introduces the following:

    Passing peers as a list and using pubsubTopic & contentTopic params

    This commit represents changes on how the parameters are handled.
    There are many automatic/formatic changes made by the IDE.
    The major changes are:
    - The user can pass a comma-separated list of peers
    (peer-store-sqlite-addr-list and peer-store-postgres-addr-list.)
- The pubsubTopic and contentTopic, which are part of the Store
request,
    can be passed as a parameters as well.
2023-11-28 11:21:47 +01:00
docker Update waku-store-request-maker image 2023-11-28 11:21:47 +01:00
go go/main_test.go: adding new test to compare databases performance 2023-10-15 20:28:11 +02:00
sh sh/publish_one_client.sh: adding content topic 2023-10-15 20:28:11 +02:00
.gitignore adding a Docker compose option that allows to compare postgres & sqlite metrics 2023-08-24 19:25:29 +02:00
README.md Including jmeter to allow concurrent Store requests easily 2023-09-05 14:44:57 +02:00

README.md

Summary

This repo contains tools for analysing performance around the Store protocol

Golang tool

The Golang project is aimed to setup go-waku clients that publish messages and later make requests trough the Store protocol to retrieve the stored messages

To run the tests, go to the go folder and run the make command. Notice that the go tool expects a running nwaku node(s) to be running with Store protocol mounted, and a running postgres database.

Bash tool

Simple script that allows to publish messages from different clients.

BASH(n clients) --json-rpc--> nwaku_A <--relay--> nwaku_B <---> database

Notice that the bash script expects two nwaku nodes that communicate through the Relay protocol and the nwaku_B has the Store protocol mounted and is connected to the postgres_DB.

Docker

Contains a docker compose file with:

  • Two nwaku nodes configured with Postgres and SQLite.
  • Grafana container to compare performance of both nodes.
  • Container with simple shell script that sends publish requests through rpc.
  • Two nwaku nodes configured as Store-clients and listening to REST requests.

Inside the docker folder, we have a jmeter test plan which is aimed for performing concurrent Store REST requests to the Store-clients.