php7性能優化
之前一直使用的PHP版本都是6.5/6.6的,這次的項目開發要求使用PHP7,在網上大概看了下,發現PHP7的性能較之前相比提升了很多,所以使用PHP7我也沒啥意見,欣然接受。
今天溫州一家客戶做活動,導致用戶量突然多了起來,原本服務器現在還處於內測階段,服務器以及PHP環境並沒有做相關的性能優化,並且服務器配置還比較低,導致php-fpm進程出現掛死狀態,一度服務全掛。
好,廢話不多說,今天主要記錄PHP7的相關優化,資料也是從網上查了許久,整理了下,準備晚上優化看看效果。
1、開啟Zend Opcache
Zend Opcache支持php5.2.0+的版本,但是Zend Opcache到底是什麽呢?官方介紹翻譯是通過代碼緩存和優化提供了更快的PHP執行。根據官方的介紹為:通過在share memory中存儲已經編譯好的代碼來提升執行速度(PS:可以通過配置來決定他的存儲時間),省去了從磁盤讀取再編譯的時間(PS:這其實是時間開銷最大的部分),此外,還通過一些代碼優化模式來提升執行速度(PS:官方並沒有給出這個優化原理)。好以上是官方介紹,我盡量多讀幾遍,理解理解。
下面是啟動方法,在php.ini文件加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
2、Hugepage 大頁內存管理方式
關於Hugepage詳細介紹可參考:http://blog.csdn.net/leshami/article/details/8777639
首先在系統中開啟Hugepage,然後開啟Opcache的huge_code_pages:
sysctl vm.nr_hugepages=512 ##分配512個預留的大頁內存
cat /proc/meminfo | grep Huge
然後在php.ini中加入:
opcache.huge_code_pages=1
3、Opcache File Cache
開啟Opcache File Cache,通過開啟這個可以讓Opcache把opcode緩存緩存到外部文件中,對於一些腳本,會有明顯的性能提升。在php.ini中加入:
opcache.file_cache=/tmp
4、PGO
這塊不是很理解,後面再更新。。。
本文出自 “OpsWorld” 博客,請務必保留此出處http://cuimengah.blog.51cto.com/12607637/1980385
php7性能優化