MrHDOLEK / slim4-boirlerplate

Template for a project based on the slim framework
MIT License
2 stars 0 forks source link

Benchmarks #22

Open MrHDOLEK opened 11 months ago

MrHDOLEK commented 11 months ago

Current performance of the skeleton in different configurations

No indexes are set up in the base. Tested on an environmentally compatible version v.1.4.0

Tool used: apache benchmark

Test hello word endpoint

Test command:

ab -c 32 -n 10000 http://localhost/

ngnix + php-fpm + cache doctrine + compile

Concurrency Level:      32
Time taken for tests:   10.762 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      1490000 bytes
HTML transferred:       120000 bytes
Requests per second:    929.16 [#/sec] (mean)
Time per request:       34.440 [ms] (mean)
Time per request:       1.076 [ms] (mean, across all concurrent requests)
Transfer rate:          135.20 [Kbytes/sec] received

ngnix + php-fom + no cache doctrine + no compile

Concurrency Level:      32
Time taken for tests:   51.764 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      1490000 bytes
HTML transferred:       120000 bytes
Requests per second:    193.18 [#/sec] (mean)
Time per request:       165.646 [ms] (mean)
Time per request:       5.176 [ms] (mean, across all concurrent requests)
Transfer rate:          28.11 [Kbytes/sec] received

Test simple endpoint /api/v1/users

Test command:

ab -c 32 -n 10000 http://localhost/api/v1/users

ngnix + php-fpm + cache doctrine + compile

Concurrency Level:      32
Time taken for tests:   32.751 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      8010000 bytes
HTML transferred:       6720000 bytes
Requests per second:    305.34 [#/sec] (mean)
Time per request:       104.802 [ms] (mean)
Time per request:       3.275 [ms] (mean, across all concurrent requests)
Transfer rate:          238.84 [Kbytes/sec] received

ngnix + php-fom + no cache doctrine + no compile

Concurrency Level:      32
Time taken for tests:   71.739 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      8010000 bytes
HTML transferred:       6720000 bytes
Requests per second:    139.39 [#/sec] (mean)
Time per request:       229.566 [ms] (mean)
Time per request:       7.174 [ms] (mean, across all concurrent requests)
Transfer rate:          109.04 [Kbytes/sec] received
MrHDOLEK commented 11 months ago

Performense on the swoole

Tested on branch swoole branch

Tool used: apache benchmark

Test hello word endpoint

Test command:

ab -c 32 -n 10000 http://localhost/

swoole + php-fpm + cache doctrine + compile

Concurrency Level:      32
Time taken for tests:   3.270 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      1780000 bytes
HTML transferred:       220000 bytes
Requests per second:    3057.88 [#/sec] (mean)
Time per request:       10.465 [ms] (mean)
Time per request:       0.327 [ms] (mean, across all concurrent requests)
Transfer rate:          531.54 [Kbytes/sec] received

swoole + php-fom + no cache doctrine + no compile

Concurrency Level:      32
Time taken for tests:   1.801 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      1780000 bytes
HTML transferred:       220000 bytes
Requests per second:    5552.26 [#/sec] (mean)
Time per request:       5.763 [ms] (mean)
Time per request:       0.180 [ms] (mean, across all concurrent requests)
Transfer rate:          965.14 [Kbytes/sec] received

Test simple endpoint /api/v1/users

Test command:

ab -c 32 -n 10000 http://localhost/api/v1/users

swoole + php-fpm + cache doctrine + compile

Concurrency Level:      32
Time taken for tests:   4.565 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      8470000 bytes
HTML transferred:       6840000 bytes
Requests per second:    2190.45 [#/sec] (mean)
Time per request:       14.609 [ms] (mean)
Time per request:       0.457 [ms] (mean, across all concurrent requests)
Transfer rate:          1811.83 [Kbytes/sec] received

swoole + php-fpm + no cache doctrine + no compile

Concurrency Level:      32
Time taken for tests:   6.123 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      8470000 bytes
HTML transferred:       6840000 bytes
Requests per second:    1633.30 [#/sec] (mean)
Time per request:       19.592 [ms] (mean)
Time per request:       0.612 [ms] (mean, across all concurrent requests)
Transfer rate:          1350.98 [Kbytes/sec] received
MrHDOLEK commented 11 months ago

Performense on the laravel

Tested on a clean project in laravel. The endpoint that was tested can be found here example All tests were performed on the same image as is in this repository. Tool used: apache benchmark Test command: ab -c 32 -n 10000 http://localhost/api/ping

Test simple endpoint

ngnix + php-fpm + optimaze + no cache of response

Concurrency Level:      32
Time taken for tests:   8.383 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      2420000 bytes
HTML transferred:       90000 bytes
Requests per second:    1192.84 [#/sec] (mean)
Time per request:       26.827 [ms] (mean)
Time per request:       0.838 [ms] (mean, across all concurrent requests)
Transfer rate:          281.90 [Kbytes/sec] received

ngnix + php-fpm + no optimaze + no cache of response

Concurrency Level:      32
Time taken for tests:   25.420 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      2420000 bytes
HTML transferred:       90000 bytes
Requests per second:    393.39 [#/sec] (mean)
Time per request:       81.343 [ms] (mean)
Time per request:       2.542 [ms] (mean, across all concurrent requests)
Transfer rate:          92.97 [Kbytes/sec] received

Test simple endpoint

Endpoint only included a simple database query to display 10 records. Example: return new Response(Model::query()->take(10)->get()->toArray());

ngnix + php-fpm + optimaze + no cache of response

Concurrency Level:      32
Time taken for tests:   20.357 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      16240000 bytes
HTML transferred:       13910000 bytes
Requests per second:    491.24 [#/sec] (mean)
Time per request:       65.142 [ms] (mean)
Time per request:       2.036 [ms] (mean, across all concurrent requests)
Transfer rate:          779.07 [Kbytes/sec] received

ngnix + php-fpm + no optimaze + no cache of response

Concurrency Level:      32
Time taken for tests:   29.948 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      16240000 bytes
HTML transferred:       13910000 bytes
Requests per second:    333.91 [#/sec] (mean)
Time per request:       95.835 [ms] (mean)
Time per request:       2.995 [ms] (mean, across all concurrent requests)
Transfer rate:          529.56 [Kbytes/sec] received