1. 程式人生 > >php性能提升之opcache

php性能提升之opcache

什麽 req 源代碼 共享 bsp int acc validate 提升

性能提升原理:減少文件解析的時間。

我們都知道,程序要運行,得有一個編譯或者解析的過程,編譯或解析之後的代碼才是機器可以運行的。

而 php 是一種解析性語言,在使用php來處理http請求的時候,每一個請求到來的時候,都需要把所有用到的文件解析一遍。

而用了 opcache 的話,解析一次就可以多次使用,而不需要每次都從硬盤讀取文件,然後再解析,所以會有大幅的性能提升。

php -v 看看是什麽版本的,然後去下載對應版本的源代碼

進源代碼目錄下的 ext/opcache,

然後

phpize

./configure --with-php-config=/usr/local/php/bin/php-confie

make

sudo make install

在配置文件末尾添加:(參考:一個關於Zend O+的小分享)

zend_extension=opcache.so
opcache.enable_cli=1
opcache.memory_consumption=128      //共享內存大小, 這個根據你們的需求可調
opcache.interned_strings_buffer=8   //interned string的內存大小, 也可調
opcache.max_accelerated_files=4000  //最大緩存的文件數目
opcache.revalidate_freq=60          //60s檢查一次文件更新
opcache.fast_shutdown=1             //打開快速關閉, 打開這個在PHP Request Shutdown的時候
                                     //   會收內存的速度會提高
opcache.save_comments=0             //不保存文件/函數的註釋

  

然後重啟 fpm 就可以了。

具體效果:

技術分享圖片

我們可以看到,耗費時間大概少了50%。

  

php性能提升之opcache