All results

fpm-nginx (Quick)

Host
DigitalOcean
$1,310/mo (c-48-intel)
Hardware
48 cores
94.3 GB RAM
Server
fpm-nginx
PHP 8.5.10
Database
PostgreSQL
oha

Web server load test

classic mode1810 workers I/O 100ms External load4.25ms RTT oha 1.16.0

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

Typical p503ms
Slowest 5% p957ms
Slowest 1% p999ms

JSON API

25-item JSON payload

12,754

req/s at 234 concurrent

Typical p503ms
Slowest 5% p957ms
Slowest 1% p999ms

DB read

20 rows queried per request

2,039

req/s at 200 concurrent

Typical p5016ms
Slowest 5% p9523ms
Slowest 1% p9926ms

I/O-bound

Simulated ~100ms outbound call

12,495

req/s at 7268 concurrent

Typical p50109ms
Slowest 5% p95796ms
Slowest 1% p992405ms
phpbench

Laravel database performance

100 records per operation

↓ Lower is better — time to run 100 statements, one record each

CreateCreate

27.5ms

INSERT per record

±15.45% over 5 runs — unstable

ReadRead

12.0ms

SELECT per record, by id

±2.91% over 5 runs

UpdateUpdate

26.6ms

UPDATE per record, by id

±4.63% over 5 runs

DeleteDelete

24.9ms

DELETE per record, by id

±15.08% over 5 runs — unstable

cfspeedtest

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

Configuration

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.

Leave a comment