fpm-nginx (Quick)
Web server load test
Concurrency was raised until throughput stopped improving. Response times were measured separately, at about 70% of that rate, so they include no queue a real visitor would not also hit. Learn more
Static
Framework baseline — no database
13,097
req/s at 234 concurrent
JSON API
25-item JSON payload
12,754
req/s at 234 concurrent
DB read
20 rows queried per request
2,039
req/s at 200 concurrent
I/O-bound
Simulated ~100ms outbound call
12,495
req/s at 7268 concurrent
Laravel database performance
↓ Lower is better — time to run 100 statements, one record each
Create
27.5ms
INSERT per record
±15.45% over 5 runs — unstable
Read
12.0ms
SELECT per record, by id
±2.91% over 5 runs
Update
26.6ms
UPDATE per record, by id
±4.63% over 5 runs
Delete
24.9ms
DELETE per record, by id
±15.08% over 5 runs — unstable
Network speed test
Measured from the server to Cloudflare's nearest edge — this latency rides on every external request the app makes.
Download
1133mbps
Upload
169mbps
Latency
79ms
Environment
Host
- Provider
- DigitalOcean
- Plan
- c-48-intel
- Datacenter
- NYC2
- Cost
- $1,310/mo
Runtime
- Server
- fpm-nginx
- Mode
- Process per request
- Workers
- 1810 (pm.max_children)
- Web server
- nginx 1.30.5
- SAPI
- fpm-fcgi
- PHP
- 8.5.10
- Laravel
- 13.25.0
- Database
- pgsql
Machine
- CPU
- INTEL(R) XEON(R) GOLD 6548N (48 cores)
- RAM
- 94.3 GB
- OS
- Debian GNU/Linux 13 (trixie)
Tuning
- Write durability
- synchronous_commit=on · fsync=on
- OPcache
- on
- JIT
- Off
- OPcache memory
- 256 MB
- Memory limit
- 256M
- pm
- static
- pm.max_children
- 1810
- pm.start_servers
- 2
- pm.min_spare_servers
- 1
- pm.max_spare_servers
- 3
Discuss this result
Comment on the original GitHub issue where this result was submitted. Feel free to ask more on how the host was set up or any other questions you have.
