The feed list counts every item of every feed on each load #240

Closed
opened 2026-10-15 06:40:38 -07:00 by rays · 2 comments
Owner

GET /api/feeds' feed_list step 'entries' counts all stored items per subscribed feed on every request: 366 of 465 ms in trace cb6b7fcf86ba11699f00f74cf030565b (2026-10-15). The count is the same for everyone and changes only when items are stored or pruned.

GET /api/feeds' feed_list step 'entries' counts all stored items per subscribed feed on every request: 366 of 465 ms in trace cb6b7fcf86ba11699f00f74cf030565b (2026-10-15). The count is the same for everyone and changes only when items are stored or pruned.
rays added the enhancement label 2026-10-15 06:40:38 -07:00
Author
Owner

Left open, waiting on #241: on the load test's Postgres, scaled to production's shape (150,000 items, 147 feeds of ~100), this count takes 12 ms (index-only scan) and All Subscriptions 32 ms, against 366 and 300 ms in production. The query is not the problem; production's database is. A cache here would be rebuilt after nearly every scan anyway, since scans store items every few minutes.

Left open, waiting on #241: on the load test's Postgres, scaled to production's shape (150,000 items, 147 feeds of ~100), this count takes 12 ms (index-only scan) and All Subscriptions 32 ms, against 366 and 300 ms in production. The query is not the problem; production's database is. A cache here would be rebuilt after nearly every scan anyway, since scans store items every few minutes.
Author
Owner

Closed with #241's fix, not a cache: on production this count takes 5 ms in Postgres; its 366 ms in the trace was waiting for a new connection, which the daemon now keeps open. A cache would have been rebuilt after nearly every scan.

Closed with #241's fix, not a cache: on production this count takes 5 ms in Postgres; its 366 ms in the trace was waiting for a new connection, which the daemon now keeps open. A cache would have been rebuilt after nearly every scan.
rays closed this issue 2026-10-15 07:57:13 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#240