Apex performance pass

With the same browser tabs open, Postgres CPU fell from — to — and the page header went from — to — per tab. Measured on the local stack with the market closed (Oct 9–10, 2026); market-hours fixes are simulated until Monday's check.

Postgres CPU, same open tabs — from — · —
API CPU, same open tabs — from — · —
Redis lookups per second — from — · —
Stock detail response — from — · —

Response times

Pages and API calls

Median of 10 requests, same endpoints before and after; log scale. Endpoints under 10 ms are left out.

Slowest requests with 3 more header tabs open

95th percentile of 10 requests while 3 extra page headers stream; log scale.

Database queries

Old and new SQL on the same data in the API container, median of 9; identical rows. Log scale.

Work in your browser

Old and new page code on real payloads (Node 24, and the browser for the pivots board); log scale.

Server load with the same open tabs

CPU and database traffic

Three report tabs and one board tab, market closed, 30-second window. "Tabs not reloaded" is the new server with the old page header still running in those tabs.

Measure Before Tabs not reloaded After Change

Live streams

Read for 15 seconds each. The page header now asks for three fields instead of the whole dashboard.

Stream Before After

Market hours: check on Monday

These paths only run while the market is open. The new numbers come from old and new code run on real data; the live column fills in after Monday's session.

What Before After, simulated After, live (Monday) How to check

Same results as before

Every change was required to leave outputs, ordering, errors and freshness unchanged.