10,000
HTTP monitors
Performance benchmark
Reproducible self-hosted uptime monitoring tests covering 10,000 HTTP monitors, simultaneous target failures, and a 4,000-monitor comparison with Uptime Kuma.
The healthy-target benchmark completed 453,054 of 453,666 expected checks over a 2,722-second measurement window, with 0.1% missed checks and no worker errors.
View methodology and raw results10,000
HTTP monitors
99.86%
Checks executed
286.8 MiB
Average full-stack RAM
67.9%
Average full-stack CPU
Test environment
The benchmark ran on a Hetzner CPX32 with 4 vCPU, 8 GB RAM, PostgreSQL 16, Docker, and a 60-second check interval. Average full-stack usage was 286.8 MiB RAM and 67.9% CPU.
When every target failed simultaneously, Sentinel opened 10,000 incidents with zero duplicate incidents and zero worker errors. Average full-stack usage was 317.3 MiB RAM and 85.1% CPU.
Performance comparison
The same host and HTTP target ran 4,000 monitors at 30-second intervals for approximately 26 minutes. Figures include the full application and database stack; Uptime Kuma 2.3.2 was tested with both SQLite and MariaDB.
| Stack | Checks completed | Missed checks | Avg RAM | Avg CPU |
|---|---|---|---|---|
| Alon Sentinel + PostgreSQL | 208,680 | 0 (0.0%) | 389.8 MiB | 46.2% |
| Uptime Kuma + SQLite | 208,875 | 0 (0.0%) | 737.6 MiB | 63.9% |
| Uptime Kuma + MariaDB | 208,553 | 113 (0.1%) | 1,685.5 MiB | 103.2% |
These results characterize one reproducible workload, not universal product performance. CPU percentages are Docker container CPU values, where 400% represents all four host cores. Monitor types, target latency, storage, configuration, and hardware can materially change results.