Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP 7 Performance

Tags:

I've tried to reproduce this benchmark which compares PHP 7 with older versions on a Wordpress server: http://talks.php.net/oz15#/wpbench

My configuration is nearly the same, the server has an i7, SSD, 16GB RAM and debian. The server software is nginx. Suprisingly my results differ a lot from the ones linked above.

In my tests Siege (https://www.joedog.org/siege-home/) outputs the following:

For PHP 7.0.0RC1:

siege -c100 -r100 http://10.22.255.133/wordpress/ ** SIEGE 3.0.8 ** Preparing 100 concurrent users for battle. The server is now under siege..      done.  Transactions:                  10000 hits Availability:                  100.00 % Elapsed time:                  131.61 secs Data transferred:              95.77 MB Response time:                 0.75 secs Transaction rate:              75.98 trans/sec Throughput:                    0.73 MB/sec Concurrency:                   56.98 Successful transactions:       10000 Failed transactions:           0 Longest transaction:           1.01 Shortest transaction:          0.04 

For PHP 5.6.12:

siege -c100 -r100 http://10.22.255.133/wordpress/ ** SIEGE 3.0.8 ** Preparing 100 concurrent users for battle. The server is now under siege..      done.  Transactions:                  10000 hits Availability:                  100.00 % Elapsed time:                  63.41 secs Data transferred:              95.77 MB Response time:                 0.03 secs Transaction rate:              157.70 trans/sec Throughput:                    1.51 MB/sec Concurrency:                   4.45 Successful transactions:       10000 Failed transactions:           0 Longest transaction:           0.63 Shortest transaction:          0.01 

When looking at the transaction rate you can see, that PHP 5 is about two times faster than PHP 7. I can't believe that.

Another interesting fact is, that running this benchmark (http://www.php-benchmark-script.com/) results in PHP 7 being about 3 times faster than PHP 5 (of course on the same server where I've also tested Wordpress). The measured results were:

  • PHP 7.0.0RC1 | PHP 5.5.28
  • Math: 0.201 | 0.683
  • String Manipulation: 0.271 | 0.77
  • Loops: 0.166 | 0.486
  • If Else: 0.12 | 0.295

I've uploaded both phpinfo() files in case that helps:

  • PHP Version 7.0.0RC1: http://simsso.de/downloads/stackoverflow/php7.html
  • PHP Version 5.6.12-0+deb8u1: http://simsso.de/downloads/stackoverflow/php5.html

Do you have any idea why PHP 7 is that much slower in my tests with Wordpress?


With opcache enabled PHP 7 is actually twice as fast as PHP 5. Thanks Mjh for your hint!

I've made the following measurements on a randomly filled WordPress Server.

Siege now outputs the following for PHP 7.0.0RC1:

Transactions:                  10000 hits Availability:                 100.00 % Elapsed time:                  62.14 secs Data transferred:             604.20 MB Response time:                  0.02 secs Transaction rate:             160.93 trans/sec Throughput:                     9.72 MB/sec Concurrency:                    3.77 Successful transactions:       10000 Failed transactions:               0 Longest transaction:            0.41 Shortest transaction:           0.01  

And PHP 5.6.12:

siege -c100 -r100 http://10.22.255.133/wordpress/ ** SIEGE 3.0.8 ** Preparing 100 concurrent users for battle. The server is now under siege..      done.  Transactions:                 10000 hits Availability:                 100.00 % Elapsed time:                 119.98 secs Data transferred:             604.20 MB Response time:                0.60 secs Transaction rate:             83.35 trans/sec Throughput:                   5.04 MB/sec Concurrency:                  49.86 Successful transactions:      10000 Failed transactions:          0 Longest transaction:          4.06 Shortest transaction:         0.04 
like image 897
Timo Denk Avatar asked Sep 01 '15 09:09

Timo Denk


People also ask

Why is PHP 7 so fast?

Why PHP 7 is faster? PHP 7 runs on the PHPNG engine (or Zend Engine 3.0) that speeds up PHP apps more than the previous PHP interpreter (Zend Engine 2.0). Thanks to PHPNG, your applications will perform 2x faster and has 50% better memory consumption than PHP 5.6.

Which PHP version is fastest?

Benchmark ResultsPHP 8.1 is the fastest with CodeIgniter, performing 8.48% more requests per second than PHP 8.0.

Is php8 faster than php7?

PHP 8 will be much faster than PHP 7 because of the new asynchronous design and JIT compiler, you will be able to build asynchronous applications in PHP 8 which is a big deal for websites.

Is PHP 7.2 outdated?

PHP 5.6, 7.0, 7.1, and 7.2 End of Life End of life means these versions will no longer have security support and could be exposed to unpatched security vulnerabilities. As of November 30, 2020, PHP 7.2 reached its end of life. As of December 1st, 2019, PHP 7.1 reached its end of life.


1 Answers

According to the output of phpinfo you posted, opcache isn't enabled for your PHP 7, while it is for PHP 5. That alone can amount for a huge difference.

like image 97
Quentin Skousen Avatar answered Oct 19 '22 05:10

Quentin Skousen