Comparison Software between php frameworks

Good Night guys.

Can anyone point me to some php framework comparison software? Software that compares performance, response time, loading time, etc.

Author: Maurício Biléssimo, 2018-08-21

1 answers

If you have Apache installed on your machine, then you can use the line commandab (ApacheBench), assuming it is in folders, use example (laravel):

ab -n 1000 -c 10 http://localhost/laravel/

Codeigniter:

ab -n 1000 -c 10 http://localhost/codeigniter/

In windows the command should not be global, If you have XAMPP, Wamp or easyphp with apache (has variations with Nginx that will not have the ab) then navigate via cmd to the folder, something like:

cd c:\xampp\apache2\bin
ab -n 1000 -c 10 http://localhost/laravel/

This will test requests per second that of a URL, then you can point to the one you want.

After executing the command you will get a result similar to this:

This is ApacheBench, Version 2.3 <$Revision: 1373084 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.4.3
Server Hostname:        localhost
Server Port:            80

Document Path:          /laravel/
Document Length:        11 bytes

Concurrency Level:      10
Time taken for tests:   158.097 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      1008148 bytes
HTML transferred:       11000 bytes
Requests per second:    6.33 [#/sec] (mean)
Time per request:       1580.966 [ms] (mean)
Time per request:       158.097 [ms] (mean, across all concurrent requests)
Transfer rate:          6.23 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.5      0       1
Processing:   764 1565 1190.0   1371   15672
Waiting:      764 1564 1190.0   1369   15671
Total:        765 1566 1190.0   1371   15672

Percentage of the requests served within a certain time (ms)
  50%   1371
  66%   1485
  75%   1558
  80%   1622
  90%   1846
  95%   2075
  98%   4949
  99%   9404
 100%  15672 (longest request)
executed: ab -n 1000 -c 10 "http://localhost/laravel/"

You can have a general comparative, but in this type of result what I notice most is this line:

Requests per second:    6.33 [#/sec]

Translating would be "requests per second", so the more requests in a second the better.


There is a similar Python software, called boom, to install it is necessary the pip:

pip install boom

Use if it is in folders:

boom http://localhost/laravel/ -c 10 -n 100

The result will look something like this:

Server Software: Apache/2.4.3 (Win64) OpenSSL/1.0.1c
Running GET http://127.0.0.1:80/laravel/
Running 1000 queries - concurrency 10
[================================================================>.] 99% Done

-------- Results --------
Successful calls                1000
Total time                      185.2391 s
Average                         1.7943 s
Fastest                         0.6926 s
Slowest                         30.1822 s
Amplitude                       29.4896 s
Standard deviation              2.527278
RPS                             5
BSI                             :(

-------- Status codes --------
Code 200                        1000 times.

-------- Legend --------
RPS: Request Per Second
BSI: Boom Speed Index

Some details:

  • RPS, as the legend says, means requests per second
  • BSI refers to a proper evaluation of the command, it can return the following values:

    1. If requests per second are greater than 500: Woooooo Fast
    2. If requests per second are from 101 to 500: Pretty good
    3. Se requests per second are from 51 to 100: Meh
    4. If requests per second are less than 51: :(
 1
Author: Guilherme Nascimento, 2018-08-22 03:00:41