A server is 100% dedicated to benchmark, no web sites or application run on it.
|Organization system||Ubuntu server 16.04 LTS 64 bits|
|Processor||Intel(R) Xeon(R) CPU D-1531 @ 2.20GHz (6 coeurs, 12 threads)|
|RAM||32 Go DDR4 ECC||Storage||SSD|
|PHP extensions||calendar, ctype, dom, exif, fileinfo, ftp, gettext, iconv, intl, json, mbstring, mysqli, mysqlnd, opcache, pdo, pdo_mysql, phar, posix, readline, shmop, simplexml, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwrite, xsl, zip|
Benchmark protocol#1 PHP FPM is restarted, to clear OPCache
#2 Clear all caches and logs, warmup caches if needed
#3 First unsaved benchmark is launched, 1,000 calls, concurrency 1, to init caches and fill OPCache
#4 5 benchmarks are launched, 50,000 calls, for each concurrencies (1, 5, 10 and 20)
#5 Only best results are added to Score, for each concurrencies
Best benchmark update benchmarked tool score.
This score is the sum of requests per second of all benchmark types (Hellow World, Rest API etc)
for all concurrencies (1, 5, 10 et 20).
The higher it is, the more the tool is able to respond quickly.
To have equals chances for each tools, default installation is done.
Nearly no files are modified.
If exist, production environment tutoial will be followed.
All benchmarks source codes are available on github.com/phpbenchmarks.
Do not hesitate to create a pull request to improve your favorite tool result!