頻道欄目
首頁 > 資訊 > php > 正文

使用memcached,xcache做PHP緩存優化

17-12-02        來源:[db:作者]  
收藏   我要投稿

1)eaccelerator

1.介紹

eAccelerator是一個自由開放源碼php加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使您的PHP程序代碼執效率能提高1-10倍.

2.緩存原理

用戶請求一個PHP程序時,PHP引擎會解析該程序,并將其編譯為特定的操作碼(opcode),這是一種二進制格式的可執行代碼。然后此操作碼會由PHP引擎執行并丟棄。操作碼緩存將保存這個編譯后的操作碼,并在下一次調用該頁面時重用它,這樣就節省了很多重復編譯的時間,節省資源,優化性能。
3.安裝eaccelerator

調整字符集
#echo 'LC_ALL=C' >> /etc/profile
#source /etc/profile

[root@~]#tar jxf eaccelerator-0.9.6.tar.bz2
[root@~]#cd eaccelerator-0.9.6

[root@~]#/usr/local/php/bin/phpize

phpize是用來擴展php模塊的,通過phpize可以建立php的外掛模塊
[root@~]#./configure --enable-eaccelerator=shared \

--with-php-config=/usr/local/php-5.3.27/bin/php-config
[root@~]#make && make install

[root@~]# ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/
eaccelerator.so

4.配置PHP加載eaccelerator

創建緩存目錄

mkdir /tmp/eaccelerator #可目錄可以用tmpfs內存文件系統來存儲,SSD固態硬盤

chown -R www.www /tmp/eaccelerator

在php.ini中添加以下內容:
eaccelerator cache config by Zhang DeJin 2017-12-1
[eaccelerator]
extension = eaccelerator.so
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.chech_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_perid="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
--End config
測試:[root@lnmp nginx]# /usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 30 2017 05:35:00)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerat

配置完畢

重啟httpd或者php-fpm生效

5.版本選擇

php5.3.xx 可用eaccelerator-0.9.6版本
php5.2.xx 可用eaccelerator-0.9.5.2版本

2)Xcache

1介紹

XCache 是一個又快又穩定的 PHP opcode 緩存器. 經過良好的測試并在大流量/高負載的生產機器上穩定運行. 經過(在 linux 上)測試并支持所有現行 PHP 分支的最新發布版本, 如 PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6.x), 并支持線程安全/Windows. 與同類 opcode 緩存器相比更勝一籌, 比如能夠快速跟進 PHP 版本. XCache 工程由 mOo 領隊, 他也是 Lighttpd 的開發成員之一. Lighttpd 是最快的 Web 服務器應用程序之一, 并且超越 Apache 以及許多其他 Web 服務器. XCache 努力達到類似的效果. 2.安裝

tar jxf xcache-1.3.2.tar.bz2
cd xcache-1.3.2
/usr/local/php-5.3.27/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php-5.3.27/bin/php-config
make && make install

ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

3.配置PHP加載xcache

cd /usr/local/php/lib/
添加備注
echo >> php.ini
echo "xcache config by ZhangDejin 2017-12-1"
修改xcache-1.3.2/xcache.ini,可用sed命令修改
注釋第三行
zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so
注釋第六行
zend_extension_ts = c:/php/extensions/php_xcache.dll
啟用第八行
;extension = xcache.so
剩下的參數根據服務器配置自行調整
然后加入到php.ini
cat /home/king/xcache-1.3.2/xcache.ini >> php.ini
測試
/usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 29 2017 18:03:24)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v1.3.2, Copyright (c) 2005-2011, by mOo

重啟httpd或者php-fpm生效

3)memcache客戶端,PDO_mysql,imagick擴展庫

1.介紹

Memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像,視頻文件以及數據庫檢索的結果,簡單的說就是將數據調用到內存中,然后從內存中讀取,從而大大提高了讀取速度

PDO擴展為PHP訪問數據庫定義了一個輕量級的,一致性的接口,它提供了一個數據訪問抽象層,這樣,無論使用什么數據庫,都可以通過一致的函數執行查詢獲取數據

ImageMagick是一套功能強大,穩定而且免費的工作集和開發包,對圖片超過89中格式的圖片類型進行改變大小,旋轉,銳化,減色等處理,現在它的主要精力集中在性能,減少bug以及提供穩定的API和ABI上

2.安裝

tar zxf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php-5.3.27/bin/phpize
./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config
make && make install
ln /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

安裝PDO_MYSQL

tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php-5.3.27/bin/phpize
./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config --with-pdo-mysql=/usr/local/mysql/
make && make install
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-non-zts-2009062

yum install perl-devel -y
tar zxf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make && make install
安裝imagick
tar zxf imagick-2.3.0.tgz
cd imagick-2.3.0
/usr/local/php-5.3.27/bin/phpize
./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config
make && make install
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

配置PHP加載pdo_mysql,memcache,imagick等模塊
修改extension_dir = "./"為
extension_dir = "/usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626
/"
添加這幾個模塊
;--cache ext start by Zhang Dejin 2017-12-1
extension = memcache.so
extension = pdo_mysql.so
extension = imagick.so
;End config:

查看nginx編譯參數
nginx -V
查看httpd編譯參數
cat httpd/build/config.nice
查看mysql編譯參數
grep "CONFIGURE_LINE" mysql/bin/mysqlbug
php編譯參數
php/bin/php -i|grep configure

完畢

相關TAG標簽
上一篇:Hadoop心跳機制、HDFS安全模式及副本存放策略講解
下一篇:Ceph網絡通信機制與源碼分析
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片