Skip to content

v1.2.0 — Performance at Scale

Choose a tag to compare

@vishaltps vishaltps released this 07 Mar 05:39
· 5 commits to main since this release
ea3f846

Performance at Scale

Resolves gateway timeouts on the overview page with large datasets (millions of rows). #27

Benchmark (100K jobs on PostgreSQL)

Pain Point Before After Speedup
Stats calculation 75ms 3ms 24x
Chart data (1d) 148ms 22ms 7x
Chart data (1w) 771ms 89ms 9x
Filter queries 7ms 1.6ms 5x
Queue stats (N+1) 37ms 7ms 5x

Changed

  • BREAKING: Dashboard "Total Jobs" and "Completed" stats replaced with "Active Jobs" (sum of ready + scheduled + in-progress + failed)

Fixed

  • Overview stats no longer query solid_queue_jobs — all counts derived from execution tables
  • Chart data service uses SQL GROUP BY bucketing instead of loading timestamps into memory
  • All filter methods use subqueries instead of unbounded .pluck(:job_id)
  • Queue stats pre-aggregated, eliminating N+1 per-queue COUNT queries

Added

  • config.show_chart option to disable the job activity chart and skip chart queries entirely

Full Changelog: v1.1.0...v1.2.0