快還要更快,讓PHP 7 運行更加神速

導讀 PHP 7 比5.x 快上不少,即便只有單純的版本升級就已經頗有感,不過你們仍是但願它變得愈來愈快,這時再作些小調整就會更有fu,Let's try it!
事前準備

說到PHP 7,那必定跑不了LAMP 或是LEMP,請先準備好底層服務的安裝。php

之前咱們要讓PHP加快處理速度,一般會配合APCeAcceleratorXCache的任一個來使用;如今忘了它們吧,就從如今起開始改用OPcache來實做,它是PHP 7開發者之一的惠新宸合力開發的PHP支援模組。 此次實做以LEMP架構爲主,套件庫是用Remi的版本,別忘了要依各位實際的環境來修改路徑及設定值。html

開始設定

安裝OPcache套件。mysql

sudo yum -y install php70-php-opcache
how-to-improve-php7-performance-011

編輯主設定檔。linux

sudo vi /etc/opt/remi/php70/php.ini
how-to-improve-php7-performance-012

加上這些參數。nginx

zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1opcache.file_cache=/ home/opcache opcache.huge_code_pages=1
how-to-improve-php7-performance-013

啓動Huge Pages,它是一種大型暫存分頁機制,詳細說明請參閱The Linux Kernel Archives - Huge Pages,在個人機器上測試結果改到512就夠了。web

sudo sysctl -w vm.nr_hugepages=512
how-to-improve-php7-performance-014

創建OPcache專用目錄。sql

sudo mkdir /home/opcache sudo chown nginx:nginx /home/opcache
how-to-improve-php7-performance-015

從新啓動PHP-FPM,這邊就會看到OPcache已經啓動了。apache

sudo systemctl restart php70-php-fpm
how-to-improve-php7-performance-016

另外,咱們還能夠加裝memcached,顧名思義它就是使用記憶體來當快取,加速系統的運做。centos

sudo yum -y install memcached
how-to-improve-php7-performance-021

編輯主程式檔。php7

sudo vi /etc/sysconfig/memcached
how-to-improve-php7-performance-022

參數很少,請依需求修改。

PORT - 端口,別忘了開防火牆。
MAXCONN - 總鏈接數。
CACHESIZE - 內存使用量,單位是KB。
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="1024"
OPTIONS=""
how-to-improve-php7-performance-023

啓動memcached,並讓它在開機後自動啓動。

sudo systemctl restart memcached sudo systemctl enable memcached
how-to-improve-php7-performance-024

開放防 火牆

sudo firewall-cmd --permanent --zone=public --add-port=11211/tcp
how-to-improve-php7-performance-025

再安裝memcached for PHP的支援模組。

sudo yum -y install php70-php-pecl-memcached
how-to-improve-php7-performance-026

從新啓動PHP-FPM。

sudo systemctl restart php70-php-fpm
how-to-improve-php7-performance-027

最後看一下phpinfo(); 函數的顯示結果,出現memcached 的段落就表明成功了。

how-to-improve-php7-performance-028
實測結果

這邊直接引用對岸的網友的資料,在OneAPM -使用PHP 7給Web應用加速這篇文章裏,他測試了Wordpress 4.1.一、Drupal 八、phpBB 3.1.三、MediaWiki 1.24.一、Opencart 2.0.2.0 、WardrobeCMS 1.2.0、Geeklog 2.1.0、Magento 1.9.1.一、Traq 3.5.二、Cachet、Moodle 2.9-dev、ZenCart 1.5.4等12種套件的比較結果。 以Wordpress 4.1.1爲例,咱們能夠看到PHP 7比起5.3 ~ 5.6的讀取速度(Read)及延遲時間(Latency)都有大幅改善。

how-to-improve-php7-performance-051

參考資料

相關文章
相關標籤/搜索