mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-07 16:33:13 +00:00
Apply changes to existing scripts
This commit is contained in:
parent
88340197ca
commit
ce8a178829
@ -1,52 +1,45 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# =========================
|
|
||||||
# IDs (same style)
|
|
||||||
# =========================
|
|
||||||
export SCENARIO_ID="cpu_store_stress"
|
export SCENARIO_ID="cpu_store_stress"
|
||||||
export TEST_NAME="${SCENARIO_ID}_$(date +%Y%m%d_%H%M%S)"
|
export TEST_NAME="${SCENARIO_ID}_$(date +%Y%m%d_%H%M%S)"
|
||||||
echo "[${TEST_NAME}] start"
|
echo "[${TEST_NAME}] start"
|
||||||
|
|
||||||
# =========================
|
|
||||||
# Images (match your scripts)
|
|
||||||
# =========================
|
|
||||||
export LPT_IMAGE="harbor.status.im/wakuorg/liteprotocoltester:latest"
|
|
||||||
|
|
||||||
# =========================
|
|
||||||
# Compose-required vars
|
|
||||||
# =========================
|
|
||||||
export GF_SECURITY_ADMIN_USER="admin"
|
export GF_SECURITY_ADMIN_USER="admin"
|
||||||
export GF_SECURITY_ADMIN_PASSWORD="admin"
|
export GF_SECURITY_ADMIN_PASSWORD="admin"
|
||||||
export NODEKEY="${NODEKEY:-}"
|
export NODEKEY="${NODEKEY:-}"
|
||||||
export STORAGE_SIZE="${STORAGE_SIZE:-}"
|
export STORAGE_SIZE="${STORAGE_SIZE:-}"
|
||||||
|
|
||||||
# =========================
|
export NWAKU_IMAGE="wakuorg/nwaku:latest"
|
||||||
# Resource knobs
|
export NUM_NWAKU_NODES=15
|
||||||
# =========================
|
export RLN_ENABLED=false
|
||||||
export SERVICENODE_CPU_CORES="0-1"
|
|
||||||
export POSTGRES_CPU_CORES="2-3"
|
|
||||||
export SERVICE_MEM_LIMIT="2g"
|
|
||||||
export POSTGRES_MEM_LIMIT="2g"
|
|
||||||
export POSTGRES_SHM_SIZE="1g"
|
|
||||||
|
|
||||||
# =========================
|
# Service node
|
||||||
# Topic / shard
|
export SERVICENODE_METRICS_PORT=8008
|
||||||
# =========================
|
export SERVICENODE_HTTP_PORT=8644
|
||||||
|
export SERVICENODE_REST_PORT=8645
|
||||||
|
|
||||||
|
export POSTGRES_EXPORTER_PORT=9187
|
||||||
|
export PROMETHEUS_PORT=9090
|
||||||
|
export GRAFANA_PORT=3001
|
||||||
|
|
||||||
|
export SERVICENODE_CPU_CORES="0-1"
|
||||||
|
export SERVICENODE_MEM_LIMIT=512m
|
||||||
|
export POSTGRES_CPU_CORES="0-3"
|
||||||
|
export POSTGRES_MEM_LIMIT=2g
|
||||||
|
export POSTGRES_SHM=1g
|
||||||
|
|
||||||
|
export LPT_IMAGE="harbor.status.im/wakuorg/liteprotocoltester:latest"
|
||||||
|
|
||||||
|
# Topic / shard
|
||||||
export CLUSTER_ID=66
|
export CLUSTER_ID=66
|
||||||
export SHARD=0
|
export SHARD=0
|
||||||
export PUBSUB_TOPIC="/waku/2/rs/${CLUSTER_ID}/${SHARD}"
|
export PUBSUB_TOPIC="/waku/2/rs/${CLUSTER_ID}/${SHARD}"
|
||||||
export CONTENT_TOPIC="/sonda/2/polls/proto"
|
|
||||||
|
|
||||||
# =========================
|
export RELAY_NODE_REST_ADDRESS="http://127.0.0.1:${SERVICENODE_REST_PORT}"
|
||||||
# REST endpoints
|
export STORE_NODE_REST_ADDRESS="http://127.0.0.1:${SERVICENODE_HTTP_PORT}"
|
||||||
# =========================
|
|
||||||
export RELAY_NODE_REST_ADDRESS="http://127.0.0.1:8645"
|
|
||||||
export STORE_NODE_REST_ADDRESS="http://127.0.0.1:8644"
|
|
||||||
|
|
||||||
# =========================
|
|
||||||
# Phase 0 — bring up simulator
|
# Phase 0 — bring up simulator
|
||||||
# =========================
|
|
||||||
echo "[${TEST_NAME}] Phase 0: bring up simulator"
|
echo "[${TEST_NAME}] Phase 0: bring up simulator"
|
||||||
cd ./waku-simulator
|
cd ./waku-simulator
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
@ -76,24 +69,24 @@ docker run -d --rm --name lpt_cpu \
|
|||||||
--network host ${LPT_IMAGE}
|
--network host ${LPT_IMAGE}
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# Phase 2 — Sonda (exact style from your scripts)
|
# Phase 2
|
||||||
# build image + write env + run with --env-file
|
|
||||||
# =========================
|
# =========================
|
||||||
echo "[${TEST_NAME}] Phase 2: build and start Sonda"
|
echo "[${TEST_NAME}] Phase 2: build and start Sonda"
|
||||||
cd ../sonda
|
cd ./sonda
|
||||||
docker build -t local-perf-sonda -f ./Dockerfile.sonda .
|
docker build -t local-perf-sonda -f ./Dockerfile.sonda .
|
||||||
|
|
||||||
cat <<EOF > perf-test.env
|
cat <<EOF > perf-test.env
|
||||||
RELAY_NODE_REST_ADDRESS=http://127.0.0.1:8645
|
RELAY_NODE_REST_ADDRESS=${RELAY_NODE_REST_ADDRESS}
|
||||||
STORE_NODE_REST_ADDRESS=http://127.0.0.1:8644
|
STORE_NODE_REST_ADDRESS=${STORE_NODE_REST_ADDRESS}
|
||||||
QUERY_DELAY=0.5
|
QUERY_DELAY=0.5
|
||||||
STORE_NODES=/ip4/10.2.0.101/tcp/60001/p2p/16Uiu2HAkyte8uj451tGkbww4Mjcg6DRnmAHxNeWyF4zp23RbpG3n
|
STORE_NODES=/ip4/10.2.0.101/tcp/60001/p2p/16Uiu2HAkyte8uj451tGkbww4Mjcg6DRnmAHxNeWyF4zp23RbpG3n
|
||||||
CLUSTER_ID=66
|
CLUSTER_ID=${CLUSTER_ID}
|
||||||
SHARD=0
|
SHARD=${SHARD}
|
||||||
|
PUBSUB_TOPIC=/waku/2/rs/${CLUSTER_ID}/${SHARD}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
docker run --env-file perf-test.env -l sonda -d --network host local-perf-sonda
|
docker run --env-file perf-test.env -l sonda -d --network host local-perf-sonda
|
||||||
cd ../waku-lite/waku-protocol-perf-test
|
cd ..
|
||||||
|
|
||||||
echo "[${TEST_NAME}] hold 12m"
|
echo "[${TEST_NAME}] hold 12m"
|
||||||
sleep 720
|
sleep 720
|
||||||
|
|||||||
@ -9,10 +9,10 @@ echo "[${TEST_NAME}] start"
|
|||||||
# Images (pin for comparability)
|
# Images (pin for comparability)
|
||||||
export NWAKU_IMAGE="wakuorg/nwaku:stable"
|
export NWAKU_IMAGE="wakuorg/nwaku:stable"
|
||||||
export LPT_IMAGE="wakuorg/liteprotocoltester:latest"
|
export LPT_IMAGE="wakuorg/liteprotocoltester:latest"
|
||||||
export SONDA_IMAGE="wakuorg/sonda:latest" # change if you host it elsewhere
|
export SONDA_IMAGE="wakuorg/sonda:latest"
|
||||||
|
|
||||||
# Service/DB resources (CPU bottleneck on service)
|
# Service/DB resources (CPU bottleneck on service)
|
||||||
export SERVICENODE_CPU_CORES=0 # single core to amplify CPU load
|
export SERVICENODE_CPU_CORES=0
|
||||||
export POSTGRES_CPU_CORES=1-3
|
export POSTGRES_CPU_CORES=1-3
|
||||||
export SERVICE_MEM_LIMIT="2g"
|
export SERVICE_MEM_LIMIT="2g"
|
||||||
export POSTGRES_MEM_LIMIT="2g"
|
export POSTGRES_MEM_LIMIT="2g"
|
||||||
@ -43,12 +43,12 @@ sleep 30
|
|||||||
# ---------- Phase 1: CPU write hammer (small msgs, high rate) ----------
|
# ---------- Phase 1: CPU write hammer (small msgs, high rate) ----------
|
||||||
# Small payloads + high publisher count => per-message CPU (encode/verify/route) dominates.
|
# Small payloads + high publisher count => per-message CPU (encode/verify/route) dominates.
|
||||||
export NUM_PUBLISHER_NODES=24
|
export NUM_PUBLISHER_NODES=24
|
||||||
export NUM_RECEIVER_NODES=8 # keep some receivers to drive end-to-end
|
export NUM_RECEIVER_NODES=8
|
||||||
export MESSAGE_INTERVAL_MILLIS=8 # ~125 msg/s per publisher (adjust if too hot)
|
export MESSAGE_INTERVAL_MILLIS=8
|
||||||
export MIN_MESSAGE_SIZE=256 # bytes
|
export MIN_MESSAGE_SIZE=256
|
||||||
export MAX_MESSAGE_SIZE=1024 # bytes
|
export MAX_MESSAGE_SIZE=1024
|
||||||
export START_PUBLISHING_AFTER=10
|
export START_PUBLISHING_AFTER=10
|
||||||
export NUM_MESSAGES=0 # unlimited
|
export NUM_MESSAGES=0
|
||||||
|
|
||||||
echo "[${TEST_NAME}] phase1 writers: ${NUM_PUBLISHER_NODES} pubs @ ${MESSAGE_INTERVAL_MILLIS}ms, 256-1024B"
|
echo "[${TEST_NAME}] phase1 writers: ${NUM_PUBLISHER_NODES} pubs @ ${MESSAGE_INTERVAL_MILLIS}ms, 256-1024B"
|
||||||
docker run -d --rm --name lpt_cpu \
|
docker run -d --rm --name lpt_cpu \
|
||||||
Loading…
x
Reference in New Issue
Block a user