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