如何提高PHP7性能?相信很多新手小白對(duì)PHP7的了解處于懵懂狀態(tài),小編給你幾點(diǎn)建議,通過(guò)幾點(diǎn)建議,希望你能收獲更多。如下資料是關(guān)于提高PHP7性能的內(nèi)容。
創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、成都西云數(shù)據(jù)中心解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球上千企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。1. Opcache
記得啟用Zend Opcache, 因?yàn)镻HP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測(cè)試時(shí)期就發(fā)生了有人一直沒(méi)有啟用Opcache的事情. 啟用Opcache非常簡(jiǎn)單, 在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
2. 使用新的編譯器
使用新一點(diǎn)的編譯器, 推薦GCC 4.8以上, 因?yàn)橹挥蠫CC 4.8以上PHP才會(huì)開(kāi)啟Global Register for opline and execute_data支持, 這個(gè)會(huì)帶來(lái)5%左右的性能提升(Wordpres的QPS角度衡量)
其實(shí)GCC 4.8以前的版本也支持, 但是我們發(fā)現(xiàn)它支持的有Bug, 所以必須是4.8以上的版本才會(huì)開(kāi)啟這個(gè)特性.
3. HugePage
我之前的文章也介紹過(guò): 讓你的PHP7更快之Hugepage , 首先在系統(tǒng)中開(kāi)啟HugePages, 然后開(kāi)啟Opcache的huge_code_pages.
以我的CentOS 6.5為例, 通過(guò):
$sudo sysctl vm.nr_hugepages=512
分配512個(gè)預(yù)留的大頁(yè)內(nèi)存:
$ cat /proc/meminfo | grep Huge
AnonHugePages: 106496 kB
HugePages_Total: 512
HugePages_Free: 504
HugePages_Rsvd: 27
HugePages_Surp: 0
Hugepagesize: 2048 kB
然后在php.ini中加入:
opcache.huge_code_pages=1
這樣一來(lái), PHP會(huì)把自身的text段, 以及內(nèi)存分配中的huge都采用大內(nèi)存頁(yè)來(lái)保存, 減少TLB miss, 從而提高性能.
4. Opcache file cache
開(kāi)啟Opcache File Cache(實(shí)驗(yàn)性), 通過(guò)開(kāi)啟這個(gè), 我們可以讓Opcache把opcode緩存緩存到外部文件中, 對(duì)于一些腳本, 會(huì)有很明顯的性能提升.
在php.ini中加入:
opcache.file_cache=/tmp
這樣PHP就會(huì)在/tmp目錄下Cache一些Opcode的二進(jìn)制導(dǎo)出文件, 可以跨PHP生命周期存在.
5. PGO
我之前的文章: 讓你的PHP7更快(GCC PGO) 也介紹過(guò), 如果你的PHP是專門為一個(gè)項(xiàng)目服務(wù), 比如只是為你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以嘗試通過(guò)PGO, 來(lái)提升PHP, 專門為你的這個(gè)項(xiàng)目提高性能.
具體的, 以wordpress 4.1為優(yōu)化場(chǎng)景.. 首先在編譯PHP的時(shí)候首先:
$ make prof-gen
然后用你的項(xiàng)目訓(xùn)練PHP, 比如對(duì)于Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
也就是讓php-cgi跑100遍wordpress的首頁(yè), 從而生成一些在這個(gè)過(guò)程中的profile信息。
以上就是提高PHP7性能的知識(shí)匯總,內(nèi)容較為全面,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ骺赡軙?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。