您好,登錄后才能下訂單哦!
Php緩存和優化實戰
緩存原理:
當用戶請求一個php程序的時候,服務器的php引擎根據客戶端請求解析php,并將其編譯的編碼為特定的操作碼,默認情況下,php解析完之后會自動丟棄這個解析的操作碼,而操作碼緩存會將用戶請求解析的源碼放到共享內存里,方便下次調取,這樣就大大減少了cpu的負載量
LNMP php緩存過程
1首先客戶端向服務器申請php請求
2服務端收到客戶端請求后,會將這個信息交給php引擎,也就是fastcgi(php-fpm)進行處理,LAMP用的apache自帶的插件(libso)。
3php-fpm調用php解析器來讀取站點磁盤的php文件,加載到內存中
4php解析器將php程序編譯成opcode文件,然后緩存起來
5php程序將opcpde執行后,返回給nginx,然后返回客戶端
6nginx再次接受客戶端請求,會直接從opcode調取,這樣就不用執行第4部,方便簡潔
Php緩存加速器:
常見的有xcache,eAccelerator,zendOpcache,在企業中常用的還是xcache,其次是eAccelerator。
那么現在開始安裝緩存加速軟件
環境準備:
就按照我之前的LNMP環境搭建了,有需要的可以看看文檔。
查看nginx web版本
[root@localhost ~]# /application/nginx/sbin/nginx -v
nginx version: nginx/1.6.2
Php版本
[root@localhost ~]# /application/php/bin/php -v
PHP 5.3.28 (cli) (built: Apr 16 2016 03:56:50)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
Mysql版本
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32 MySQL Community Server (GPL)
LNMP緩存提示:
不論是Apache還是nginx,最后都是通過php提供動態解析程序來進行的,不論是Apache的libphp5.so模塊模式,還是nginx的fastcgi模式,都是一樣的,php引擎優化都是一致的,都是基于php服務(php.ini)來進行的,兩者之間無差異!
安裝php緩存加速器
那么我在這里直接用xcache緩存軟件了。
首先下載xcache
[root@localhost xiaohu]# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2
[root@localhost xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/application/php/bin/php-config
[root@localhost xcache-3.2.0]# make
Don't forget to run 'make test'. 出現這個成功,繼續install
[root@localhost xcache-3.2.0]# make install
Installing shared extensions: /application/php/lib/php/extensions/no-debug-non-zts-20090626/
查看有沒有xcache.so文件有代表成功
[root@localhost xcache-3.2.0]# ls -l /application/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so
-rwxr-xr-x. 1 root root 653772 4月 16 22:14 /application/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so
驗證xcache
修改php.ini 配置xcache
[root@localhost ~]# cd /application/php/lib/
[root@localhost lib]# ls
php php.ini
[root@localhost lib]# echo >>php.ini
[root@localhost lib]# echo ';xcache config by xiaohu 20160419--------------' >> php.ini
[root@localhost lib]# tail -2 php.ini
;xcache config by xiaohu 20160419--------------
編輯xcache.ini 修改相關配置參數
[root@localhost ~]# vim xiaohu/xcache-3.2.0/xcache.ini
將修改后的xcache加載到php.ini
[root@localhost ~]# cat xiaohu/xcache-3.2.0/xcache.ini >> /application/php/lib/php.ini
查看修改的參數,只修改了相關的參數
檢查xcache緩存加速情況
再次執行php命令,查看緩存生效情況
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。