Skip to content

Benchmarks

BrowserThing keeps browsers running between sessions. This benchmark opened and closed a Playwright connection for each task. In this setup, Browserless 2.56.0 launched a new browser process for each connection.

BrowserThing: Connect -> Use running browser -> Open page -> Read
Browserless: Connect -> Start new browser -> Open page -> Read

Browserless also supports session reuse, which this benchmark did not use.

The comparison used an AWS m8i.xlarge with 4 vCPUs and 16 GB of memory. Both systems used the same Playwright version, with one BrowserThing worker and one Browserless node.

Measurement BrowserThing Browserless
Get a browser, open a page, read it 51 ms 217 ms
CPU time per task 0.09 s 0.70 s
1,000 such tasks, 5 at a time 26 s 154 s

These results measure a short page-read task. Results for your application depend on the pages, hardware, and number of concurrent sessions.

BrowserThing avoids the browser launch cost on each connection. This saves time and CPU when a service opens and closes many short sessions.

For application tasks, browser reuse reduces session startup overhead. Page loading and browser actions still take time. Measure the complete task with your own pages before estimating the benefit for your application.

Each session uses separate browser contexts for cookies, storage, and cache. Sessions on the same worker share a browser process. Browser launch options apply to the whole worker, and a browser crash ends all sessions on that worker. See architecture and the security boundary for details.

The repository includes benchmark scripts for time to first page and session throughput. Use the scaling guide to tune worker capacity for your workload.