Browser automation can break near 20 concurrent sessions

In production, a Node and Playwright browser scraper started failing when concurrency reached about 18 sessions. The failures included timeouts, sharp memory growth, dropped websockets, and a stuck job queue.

Adding 32GB of memory did not fix the core issue. Since Chrome 121, the staging setup has hit OOM kills, while a proposed downgrade has remained unmerged for two weeks.

Workers had to be restarted four times in one day. often emphasizes horizontal scaling and easy setup, but running more than 15 to 20 Node sessions may require careful per-session control.

Key points

  • Node and Playwright became unstable around 18 concurrent runs.
  • The main symptoms were timeouts, memory spikes, dropped websockets, and a dead queue.
  • Adding 32GB of memory did not solve the problem.
  • Chrome 121 was linked to OOM kills in staging.
  • Running more than 15 to 20 sessions may need active session management.
Read original