摘要:鳥哥點評相對于主要優化也是在。基于的腳本測試未開啟取平均值取平均值開啟取平均值取平均值在本次測試中,未開啟的情況下,性能比略有提升,開啟之后,比有很大的提升。測試結果和配置參數以及服務器配置有關,僅供對比與的性能。
直播好久沒有曝光量了,自薦一波《PHP進階之路》(PHPer們,好久沒有投資自己了呢?)
原文地址 https://mengkang.net/1019.html
PHP7.2 更新內容
https://github.com/php/php-sr...
從官方給的文檔中,我似乎沒有看到關于整體性能方面的修改。
服務器配置鳥哥點評 PHP7.2 相對于 PHP7.1 主要優化也是在 opcache 。
2核 Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz 內存 4G 系統 Centos 6.2 gcc 4.4.7安裝
# http://hk1.php.net/get/php-7.1.10.tar.gz/from/this/mirror $ ./configure --prefix=/data/local/php71 --with-config-file-path=/data/local/php71/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl
# https://downloads.php.net/~remi/php-7.2.0RC3.tar.gz $ ./configure --prefix=/data/local/php72 --with-config-file-path=/data/local/php72/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl
$ /data/local/php71/bin/php -v PHP 7.1.10 (cli) (built: Oct 8 2017 16:08:01) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies $ /data/local/php72/bin/php -v PHP 7.2.0RC3 (cli) (built: Oct 8 2017 18:11:35) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.2.0-dev, Copyright (c) 1998-2017 Zend Technologiesphp.ini 配置
僅供測試,非生產環境使用,摘錄自 http://www.laruence.com/2016/...
engine = On short_open_tag = Off realpath_cache_size = 2M max_execution_time = 86400 memory_limit = 1024M error_reporting = 0 display_errors = 0 display_startup_errors = 0 log_errors = 0 default_charset = "UTF-8" [opcache] zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.optimization_level=-1 opcache.fast_shutdown=1 opcache.validate_timestamps=1 opcache.revalidate_freq=60 opcache.use_cwd=1 opcache.max_accelerated_files=100000 opcache.max_wasted_percentage=5 opcache.memory_consumption=128 opcache.consistency_checks=0 opcache.huge_code_pages=1純 CPU 基準測試 基于Zend/bench.php的腳本測試 未開啟 opcache
$ for i in `seq 1 10`;do /data/local/php71/bin/php /data/soft/php-7.2.0RC3/Zend/bench.php|grep "Total"|awk "{print $0}" ;done Total 1.381 Total 1.416 Total 1.374 Total 1.366 Total 1.430 Total 1.394 Total 1.394 Total 1.369 Total 1.377 Total 1.358 # 取平均值 1.3859 $ for i in `seq 1 10`;do /data/local/php72/bin/php /data/soft/php-7.2.0RC3/Zend/bench.php|grep "Total"|awk "{print $0}" ;done Total 1.448 Total 1.444 Total 1.445 Total 1.458 Total 1.440 Total 1.447 Total 1.486 Total 1.433 Total 1.449 Total 1.464 # 取平均值 1.4514開啟 opcache 之后
$ for i in `seq 1 10`;do /data/local/php71/bin/php /data/soft/php-7.2.0RC3/Zend/bench.php|grep "Total"|awk "{print $0}" ;done Total 0.794 Total 0.797 Total 0.798 Total 0.806 Total 0.808 Total 0.793 Total 0.814 Total 0.846 Total 0.859 Total 0.818 # 取平均值 0.8133 $ for i in `seq 1 10`;do /data/local/php72/bin/php /data/soft/php-7.2.0RC3/Zend/bench.php|grep "Total"|awk "{print $0}" ;done Total 0.779 Total 0.774 Total 0.765 Total 0.772 Total 0.764 Total 0.769 Total 0.779 Total 0.839 Total 0.784 Total 0.842 # 取平均值 0.7867
在本次測試中,未開啟opcache的情況下,php7.2 性能反而有些下降,開啟opcache之后,性能追趕上來,比php7.1略有提升。所以更應該開啟opcache了。
基于Zend/micro_bench.php的腳本測試 未開啟 opcache$ for i in `seq 1 10`;do /data/local/php71/bin/php /data/soft/php-7.2.0RC3/Zend/micro_bench.php|grep "Total"|awk "{print $0}" ;done Total 5.588 Total 5.689 Total 5.652 Total 5.702 Total 5.668 Total 5.641 Total 5.622 Total 5.580 Total 5.635 Total 5.588 # 取平均值 5.6365 $ for i in `seq 1 10`;do /data/local/php72/bin/php /data/soft/php-7.2.0RC3/Zend/micro_bench.php|grep "Total"|awk "{print $0}" ;done Total 5.924 Total 5.597 Total 5.553 Total 5.579 Total 5.591 Total 5.523 Total 5.518 Total 5.503 Total 5.494 Total 5.558 # 取平均值 5.584開啟 opcache
$ for i in `seq 1 10`;do /data/local/php71/bin/php /data/soft/php-7.2.0RC3/Zend/micro_bench.php|grep "Total"|awk "{print $0}" ;done Total 4.369 Total 4.379 Total 4.352 Total 4.370 Total 4.375 Total 4.397 Total 4.311 Total 4.361 Total 4.313 Total 4.373 # 取平均值 4.36 $ for i in `seq 1 10`;do /data/local/php72/bin/php /data/soft/php-7.2.0RC3/Zend/micro_bench.php|grep "Total"|awk "{print $0}" ;done Total 3.711 Total 3.711 Total 3.712 Total 3.734 Total 3.700 Total 3.712 Total 3.705 Total 3.769 Total 3.785 Total 3.695 # 取平均值 3.7234
在本次測試中,未開啟opcache的情況下,php7.2 性能比php7.1 略有提升,開啟opcache之后,php7.2比php7.1有很大的提升。
圖表呈現匯總 | bench.php | bench.php + opcache | micro_bench.php | micro_bench.php + opcache |
---|---|---|---|---|
PHP7.1 | 1.3859 | 0.8133 | 5.6365 | 4.3600 |
PHP7.2 | 1.4514 | 0.7867 | 5.5840 | 3.7234 |
2核 Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz 內存 4G 系統 Centos 6.2 nginx 1.10.1 mysql 5.5.28 wordpress 4.8.1
考慮到該服務器上已經在運行我的博客等其他服務,所以php-fpm子進程數只配置了15個,在相同配置文件的條件下對比。
# php-fpm 簡單配置,僅供測試 [global] pid = /data/local/php7{x}/var/run/php-fpm.pid error_log = /data/log/php7{x}-fpm.log log_level = notice [www] listen = /tmp/php7{x}-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www group = www pm = static pm.max_children = 15wordpress 壓測 未開啟 opcache
# php7.1 Concurrency Level: 10 Time taken for tests: 8.696 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 5215300 bytes HTML transferred: 5189300 bytes Requests per second: 11.50 [#/sec] (mean) Time per request: 869.637 [ms] (mean) Time per request: 86.964 [ms] (mean, across all concurrent requests) Transfer rate: 585.65 [Kbytes/sec] received
# php7.2 Concurrency Level: 10 Time taken for tests: 8.528 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 5215500 bytes HTML transferred: 5189300 bytes Requests per second: 11.73 [#/sec] (mean) Time per request: 852.793 [ms] (mean) Time per request: 85.279 [ms] (mean, across all concurrent requests) Transfer rate: 597.24 [Kbytes/sec] received
可以看到在未開啟opcache的情況下,性能非常糟糕,10個并發的情況下,每個請求的響應時間已經非常長了,沒有必要繼續增加并發數了。
開啟 opcache 之后匯總 | 7.1 Requests per second (每秒) | 7.1 Time per request (ms) | 7.2 Requests per second (每秒) | 7.2 Time per request (ms) |
---|---|---|---|---|
c10 n100 | 60.63 | 164.939 | 70.05 | 142.762 |
c20 n200 | 66.27 | 301.803 | 70.74 | 282.719 |
c30 n300 | 66.50 | 451.121 | 70.89 | 423.2 |
c40 n400 | 67.95 | 588.683 | 70.6 | 566.608 |
在開啟opcache 之后,相對之前未開啟的情況性能簡直天壤之別。相比之下php7.2在wordpress壓測上,QPS 穩定在70+ 相對php7.1 增加不少。
測試結果和配置參數以及服務器配置有關,僅供對比php7.1與7.2的性能。
其他讓你的 PHP 更快的方式,請參考@Laruence http://www.laruence.com/2015/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26167.html
摘要:本文只為記錄升級過程本文用的是的系統,如果只需要改一下或下載相關的版本即可確認和升級版本要求版本為,而只需要版本之前我安裝的是的所以需要升級升級終端運行查看安裝了那些組件然后按下面步驟依次運行升級 本文只為記錄升級過程本文用的是Ubuntu16.04的系統,如果Windows只需要改一下PHPStudy或下載相關的PHP版本即可 1、確認和升級PHP版本 laravel5.6要求PH...
摘要:最近想要學習一下,雖然機子上裝的是,但是考慮到一些有關的輪子要依賴更高版本例如,所以就在機子上升級了,下面是在網上搜索或者自己折騰出來的一些筆記。 最近想要學習一下swoole,雖然機子上裝的是php7.0,但是考慮到一些有關swoole的輪子要依賴更高版本(例如swooletw),所以就在機子上升級了php7.2,下面是在網上搜索或者自己折騰出來的一些筆記。 版本升級操作(直接從7....
摘要:在服務器上安裝配置環境一安裝方式安裝添加的更新安裝包檢驗是否安裝成功運行命令如若成功就能開始安裝安裝運行查看版本出現如下結果則為成功二安裝的各個模塊安裝為了與我下方配置對應這 在服務器上安裝 Git sudo apt-get install git 配置環境 一:安裝 PHP 7.1 ppa 方式安裝 php7.1 : sudo apt-get install software-pro...
閱讀 3241·2021-11-15 11:37
閱讀 2458·2021-09-29 09:48
閱讀 3821·2021-09-22 15:55
閱讀 3021·2021-09-22 10:02
閱讀 2641·2021-08-25 09:40
閱讀 3236·2021-08-03 14:03
閱讀 1702·2019-08-29 13:11
閱讀 1576·2019-08-29 12:49