diff --git a/reports/load-test/load-report-2026-02-20.json b/reports/load-test/load-report-2026-02-20.json index 561a679..a3e6d4f 100644 --- a/reports/load-test/load-report-2026-02-20.json +++ b/reports/load-test/load-report-2026-02-20.json @@ -1,56 +1,71 @@ { - "generatedAt": "2026-02-20T04:30:10.395Z", + "generatedAt": "2026-02-20T17:11:43.222Z", "config": { "relay": { "protocol": "ws:", - "hostname": "127.0.0.1", - "port": "7777" + "hostname": "localhost", + "port": "9999" }, - "relaySummary": "ws://127.0.0.1:7777", + "relaySummary": "ws://localhost:9999", "dryRun": true, - "clients": 50, - "durationSec": 2, + "clients": 1000, + "durationSec": 10, "rateEps": 20, - "mixMetadata": 0.3, - "seed": "load-test-smoke", + "mixMetadata": 0.2, + "seed": null, "connectConcurrency": 25, - "maxConnections": 50, + "maxConnections": 250, "maxInflight": 300, "publishTimeoutMs": 15000, "metadataParts": 4 }, "results": { - "attempted": 40, - "succeeded": 40, + "attempted": 200, + "succeeded": 200, "failed": 0, "successRate": 1, - "throughputEps": 19.99, + "throughputEps": 19.998, "backpressureDrops": 0, "inFlightPeak": 2, "latency": { - "count": 40, - "minMs": 4.94, - "avgMs": 13.866649999999998, - "p50Ms": 13.787, - "p90Ms": 21.282, - "p95Ms": 21.878, - "p99Ms": 24.229, - "maxMs": 24.229 + "count": 200, + "minMs": 4.796, + "avgMs": 14.317129999999993, + "p50Ms": 13.845, + "p90Ms": 22.402, + "p95Ms": 23.497, + "p99Ms": 24.346, + "maxMs": 24.576 }, "eventLoopLag": { - "avgMs": 0.875, - "p95Ms": 5 + "avgMs": 0.375, + "p95Ms": 1 }, "errorBreakdown": {}, "topStackTraces": {}, "resource": { - "samples": [], - "sampleCount": 0, - "maxRssMb": 0, - "maxHeapUsedMb": 0, - "avgCpuPercent": 0, - "cpuUserMs": 369.44, - "cpuSystemMs": 9.975 + "samples": [ + { + "tSec": 5, + "rssMb": 78.51, + "heapUsedMb": 10.08, + "heapTotalMb": 19.1, + "cpuPercent": 15.75 + }, + { + "tSec": 10, + "rssMb": 78.66, + "heapUsedMb": 10.24, + "heapTotalMb": 19.1, + "cpuPercent": 13.34 + } + ], + "sampleCount": 2, + "maxRssMb": 78.66, + "maxHeapUsedMb": 10.24, + "avgCpuPercent": 14.54, + "cpuUserMs": 1430.143, + "cpuSystemMs": 24.589 }, "throughputSeries": [ { @@ -66,12 +81,68 @@ "succeeded": 20, "failed": 0, "backpressureDrops": 0 + }, + { + "second": 2, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 3, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 4, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 5, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 6, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 7, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 8, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 + }, + { + "second": 9, + "attempted": 20, + "succeeded": 20, + "failed": 0, + "backpressureDrops": 0 } ], "hotFunctions": "not measured", - "startedAtIso": "2026-02-20T04:30:08.394Z", - "completedAtIso": "2026-02-20T04:30:10.395Z", - "runDurationSec": 2.001 + "startedAtIso": "2026-02-20T17:11:33.221Z", + "completedAtIso": "2026-02-20T17:11:43.222Z", + "runDurationSec": 10.001 }, "remediation": [ "No significant bottlenecks observed in this run; increase load gradually and repeat to find saturation point." diff --git a/reports/load-test/load-test-report-2026-02-20.md b/reports/load-test/load-test-report-2026-02-20.md index 5de5605..00a35c9 100644 --- a/reports/load-test/load-test-report-2026-02-20.md +++ b/reports/load-test/load-test-report-2026-02-20.md @@ -3,34 +3,34 @@ ## Safety - Does not target public relays. - Requires explicit `RELAY_URL`. -- Relay target: ws://127.0.0.1:7777 +- Relay target: ws://localhost:9999 - Mode: dry-run (no network sends) ## Configuration -- Clients: 50 -- Duration: 2s +- Clients: 1000 +- Duration: 10s - Rate: 20 events/sec -- Metadata mix: 0.3 -- Max connections: 50 +- Metadata mix: 0.2 +- Max connections: 250 - Max in-flight publishes: 300 -- Seed: load-test-smoke +- Seed: (random) ## Summary -- Attempted: 40 -- Succeeded: 40 +- Attempted: 200 +- Succeeded: 200 - Failed: 0 -- Throughput: 19.99 events/sec +- Throughput: 19.998 events/sec - Success rate: 100.00% ## Latency -- p50: 13.787 ms -- p90: 21.282 ms -- p95: 21.878 ms -- p99: 24.229 ms +- p50: 13.845 ms +- p90: 22.402 ms +- p95: 23.497 ms +- p99: 24.346 ms ## Event Loop Lag -- Avg: 0.875 ms -- p95: 5 ms +- Avg: 0.375 ms +- p95: 1 ms ## Error Taxonomy - none diff --git a/task-logs/daily/2026-02-20T17-15-00Z__load-test-agent__completed.md b/task-logs/daily/2026-02-20T17-15-00Z__load-test-agent__completed.md new file mode 100644 index 0000000..cec3e3f --- /dev/null +++ b/task-logs/daily/2026-02-20T17-15-00Z__load-test-agent__completed.md @@ -0,0 +1,38 @@ +--- +agent: load-test-agent +cadence: daily +status: completed +platform: jules +lock_event_id: 36139289d0a276828f518865d7b3ce178fb121ab977001a49362165bdf8affc1 +complete_event_id: 977ccaf9d518b208b79081b7f3c25d5e333a5806f4e67aaad2423da05741c51a +--- + +# load-test-agent Daily Run - 2026-02-20 + +## Summary +Successfully executed daily load test harness in dry-run mode. Generated performance reports and verified relay connectivity (simulated). + +## Work Performed +- Executed `scripts/agent/load-test.mjs` in dry-run mode. +- Validated harness configuration and execution flow. +- Generated load test report: `reports/load-test/load-report-2026-02-20.json`. +- Generated human-readable report: `reports/load-test/load-test-report-2026-02-20.md`. + +## Artifacts +- **Report JSON**: `reports/load-test/load-report-2026-02-20.json` +- **Report Markdown**: `reports/load-test/load-test-report-2026-02-20.md` + +## Memory Workflow +- **Retrieval**: Completed (`retrieve.ok` verified). +- **Storage**: Completed (`store.ok` verified). + +## Verification +- `npm run lint`: Passed. +- Harness execution: Successful (dry-run). +- Artifact generation: Verified presence of report files. + +## Lock Metadata +- **Lock Event ID**: `36139289d0a276828f518865d7b3ce178fb121ab977001a49362165bdf8affc1` +- **Complete Event ID**: `977ccaf9d518b208b79081b7f3c25d5e333a5806f4e67aaad2423da05741c51a` +- **Platform**: jules +- **Relays**: wss://relay.damus.io, wss://nos.lol, wss://relay.primal.net