Joseph Doherty
da65605e41
docs(plans): WP-4 target-scale load test RESULTS + close register #25 and row 50
...
Full-scale run executed on this machine: 10 sites x 500 instances x 75 tags =
375,000 live tag subscriptions, 37,518 updates/s achieved vs 37,500 nominal,
45,021,375 updates over a 20-minute steady-state window (M4 Pro, 14 cores, 48 GB,
with the 8-node docker rig still running so the figures are pessimistic).
11 clean passes, 1 pass with a caveat, 0 failures:
tag latency P50 0.88ms P99 4.57ms max 37.41ms (1.1M samples, end-to-end)
stream 900,675 delivered, 0 dropped at 100 live subscribers
health collect+ingest P99 0.31ms, 10/10 sites tracked
debug view P99 2.19ms, 264 completed, 0 timeouts
deploy 500 instances to a site in 2.6s
cpu 41% of ONE core = 2.9% of the box
memory working-set slope +8.83 MB/min
Three findings, reported rather than tuned away:
F1 (Low) 20 min with ZERO gen-2 collections cannot fully settle the leak
question; the heap demonstrably sawtooths but an uncompacted gen-2 makes a
positive slope ambiguous. The 1-hour run would settle it. Not tuned.
F2 (informational, by design) a deferred S&F backlog sits for one full
DefaultRetryInterval (28.9s measured) before anything drains --
EnqueueAsync(attemptImmediateDelivery:false) stamps LastAttemptAt. Easy to
misread as slow drainage, so drain is reported as two numbers: retry wait,
then 3,533 msg/s of actual capacity.
F3 (positive) slow-subscriber isolation is TOTAL: 4 healthy subscribers at
100.00% with zero drops while a peer lost 197,028/200,000 events entirely
within its own bounded channel. Mechanism recorded link by link.
Also records what the run does NOT prove (not clustered, not real-network, not
real OPC UA, not 1 hour) and the four WP-4 sub-criteria this harness does not
cover, so the evidence is not over-read.
Register rows 25 and 50 -> RESOLVED 2026-08-15; remediation execution-log
residual 7 -> resolved; phase-8-checklist WP-4 section replaced with the
measured numbers.
2026-08-15 02:55:59 -04:00
..
2026-06-01 00:23:00 -04:00
2026-08-14 23:46:28 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-03-21 01:11:35 -04:00
2026-03-21 01:11:35 -04:00
2026-03-21 01:11:35 -04:00
2026-03-21 01:11:35 -04:00
2026-03-21 01:11:35 -04:00
2026-03-21 01:11:35 -04:00
2026-03-17 13:30:23 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-06-01 00:23:00 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 11:15:24 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 12:37:48 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-06-01 00:23:00 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-12 05:38:58 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-19 11:26:37 -04:00
2026-05-19 11:30:21 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-19 05:01:58 -04:00
2026-05-28 09:37:45 -04:00
2026-05-19 06:31:23 -04:00
2026-08-01 08:53:56 -04:00
2026-05-31 21:50:38 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-05-20 16:56:56 -04:00
2026-05-20 17:44:12 -04:00
2026-05-20 19:43:30 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-05-21 06:41:53 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-22 01:13:11 -04:00
2026-05-28 09:37:45 -04:00
2026-05-22 02:03:36 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-05-28 09:37:45 -04:00
2026-08-01 08:53:56 -04:00
2026-05-31 23:32:53 -04:00
2026-08-01 12:34:34 -04:00
2026-06-02 01:23:52 -04:00
2026-05-24 07:26:20 -04:00
2026-06-16 20:37:51 -04:00
2026-08-01 12:34:34 -04:00
2026-06-16 20:30:29 -04:00
2026-06-16 20:30:29 -04:00
2026-05-29 07:28:21 -04:00
2026-05-29 07:39:44 -04:00
2026-05-29 08:12:43 -04:00
2026-06-01 00:23:00 -04:00
2026-08-01 12:41:24 -04:00
2026-08-07 01:56:33 -04:00
2026-08-01 08:53:56 -04:00
2026-07-10 12:49:44 -04:00
2026-06-01 00:23:00 -04:00
2026-05-31 03:29:37 -04:00
2026-05-31 21:58:49 -04:00
2026-05-31 21:39:23 -04:00
2026-05-31 22:05:13 -04:00
2026-06-03 13:58:14 -04:00
2026-06-03 15:24:05 -04:00
2026-08-01 08:53:56 -04:00
2026-06-05 09:39:35 -04:00
2026-06-05 09:52:12 -04:00
2026-08-01 08:53:56 -04:00
2026-06-06 11:23:59 -04:00
2026-06-06 11:44:56 -04:00
2026-06-06 12:37:47 -04:00
2026-06-06 13:55:19 -04:00
2026-06-06 13:59:21 -04:00
2026-06-06 14:31:18 -04:00
2026-06-06 16:10:07 -04:00
2026-06-07 03:26:25 -04:00
2026-06-07 04:33:16 -04:00
2026-06-07 09:53:34 -04:00
2026-06-07 10:00:48 -04:00
2026-06-07 10:31:02 -04:00
2026-08-01 08:53:56 -04:00
2026-06-15 15:04:28 -04:00
2026-08-01 08:53:56 -04:00
2026-06-15 09:32:14 -04:00
2026-08-01 08:53:56 -04:00
2026-06-16 08:31:19 -04:00
2026-06-16 08:35:05 -04:00
2026-06-16 08:55:09 -04:00
2026-06-25 14:11:25 -04:00
2026-06-25 14:15:39 -04:00
2026-08-01 08:53:56 -04:00
2026-06-16 21:10:21 -04:00
2026-06-16 21:12:52 -04:00
2026-08-01 08:53:56 -04:00
2026-06-16 16:34:56 -04:00
2026-06-16 15:16:06 -04:00
2026-06-16 16:34:56 -04:00
2026-06-16 18:34:34 -04:00
2026-06-16 17:13:14 -04:00
2026-06-16 18:27:10 -04:00
2026-06-16 19:07:32 -04:00
2026-06-16 19:09:12 -04:00
2026-08-01 08:53:56 -04:00
2026-06-17 14:06:08 -04:00
2026-06-17 14:14:58 -04:00
2026-08-01 08:53:56 -04:00
2026-07-10 12:18:46 -04:00
2026-06-17 19:32:58 -04:00
2026-08-01 08:53:56 -04:00
2026-06-17 11:00:41 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-07-10 09:29:38 -04:00
2026-08-01 08:53:56 -04:00
2026-07-10 12:49:44 -04:00
2026-06-18 01:57:18 -04:00
2026-08-01 08:53:56 -04:00
2026-06-18 05:25:04 -04:00
2026-06-18 05:29:39 -04:00
2026-08-01 08:53:56 -04:00
2026-06-18 10:01:38 -04:00
2026-06-18 10:08:57 -04:00
2026-08-01 08:53:56 -04:00
2026-06-18 19:18:49 -04:00
2026-06-18 19:01:54 -04:00
2026-08-01 11:28:46 -04:00
2026-08-01 08:53:56 -04:00
2026-06-19 09:34:45 -04:00
2026-06-19 09:38:32 -04:00
2026-08-01 08:53:56 -04:00
2026-07-10 03:52:04 -04:00
2026-06-26 05:01:16 -04:00
2026-06-26 05:19:24 -04:00
2026-08-01 08:53:56 -04:00
2026-06-26 17:35:07 -04:00
2026-06-26 17:35:07 -04:00
2026-06-27 12:04:12 -04:00
2026-06-27 12:09:49 -04:00
2026-06-27 14:07:25 -04:00
2026-08-01 13:12:46 -04:00
2026-08-15 02:55:59 -04:00
2026-07-13 09:49:53 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-07-19 02:34:38 -04:00
2026-08-01 08:53:56 -04:00
2026-07-20 05:37:48 -04:00
2026-08-01 08:53:56 -04:00
2026-07-20 02:15:53 -04:00
2026-08-07 01:56:33 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-08-07 01:56:33 -04:00
2026-08-01 08:53:56 -04:00
2026-07-22 06:33:28 -04:00
2026-07-22 07:49:51 -04:00
2026-07-24 04:33:20 -04:00
2026-08-01 08:53:56 -04:00
2026-08-01 08:53:56 -04:00
2026-07-23 15:22:22 -04:00
2026-08-01 08:53:56 -04:00
2026-08-07 11:39:28 -04:00
2026-08-07 08:51:39 -04:00
2026-08-10 07:29:06 -04:00
2026-08-10 06:05:04 -04:00
2026-08-10 07:00:12 -04:00
2026-08-11 06:03:06 -04:00
2026-08-12 18:28:05 -04:00
2026-08-12 18:10:02 -04:00
2026-08-14 19:23:56 -04:00
2026-08-14 20:30:35 -04:00
2026-08-15 02:55:59 -04:00
2026-08-14 21:47:48 -04:00
2026-08-14 21:45:23 -04:00
2026-08-15 02:27:47 -04:00
2026-08-15 02:55:59 -04:00
2026-05-28 09:37:45 -04:00
2026-06-01 00:23:00 -04:00
2026-07-23 12:54:32 -04:00
2026-05-18 22:57:45 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-05-28 09:37:45 -04:00
2026-03-16 19:51:49 -04:00
2026-03-16 20:13:04 -04:00
2026-03-21 01:11:35 -04:00
2026-03-16 20:35:24 -04:00
2026-03-21 01:11:35 -04:00
2026-03-16 20:57:46 -04:00
2026-05-13 13:30:07 -04:00
2026-03-16 22:19:29 -04:00
2026-03-21 01:11:35 -04:00
2026-03-16 22:19:29 -04:00
2026-05-13 13:30:07 -04:00
2026-03-16 15:34:54 -04:00
2026-03-16 22:19:29 -04:00
2026-03-16 22:19:29 -04:00
2026-03-16 15:34:54 -04:00
2026-03-16 22:19:29 -04:00
2026-08-10 06:56:56 -04:00
2026-08-15 02:55:59 -04:00
2026-03-16 15:34:54 -04:00
2026-08-10 06:56:56 -04:00
2026-08-01 08:53:56 -04:00