cache|站點(diǎn)
??? 商業(yè)應(yīng)用的網(wǎng)站,其傳輸效率是十分重要的,通常在一些電子商務(wù)的站點(diǎn)上,服務(wù)器的反應(yīng)速度決定了其服務(wù)質(zhì)量,服務(wù)器的負(fù)載決定了它的最大可提供客戶的訪問容量。技術(shù)人員總是想方設(shè)法地盡可能地提高服務(wù)器的響應(yīng)速度。而ZendCache也正是為了提高服務(wù)器的響應(yīng)速度而開發(fā)的一個(gè)優(yōu)秀產(chǎn)品。有數(shù)據(jù)證明,使用ZendCache可以將服務(wù)器的響應(yīng)速度提高到原來的300%以上。
一、ZendCache是什么
先看一下php是如何運(yùn)行的,一個(gè)請(qǐng)求php腳本發(fā)到服務(wù)器后,服務(wù)器從磁盤上查找相應(yīng)的文件,先編譯腳本,然后執(zhí)行之,最后將結(jié)果送出。所花時(shí)間由查找文件+打開文件+讀文件+編譯文件幾部分組成。ZendCache是一個(gè)php腳本高速Cache,它可以將剛執(zhí)行的php腳本文件的編譯結(jié)果存放在Web服務(wù)器的內(nèi)存中,如果下一次有人再請(qǐng)求此頁,它就可以很快將其送出。免去了每次用戶請(qǐng)求php文件,服務(wù)器都編譯一次腳本所花的時(shí)間。同時(shí),免取了從磁盤上查找、讀取php文件所花的時(shí)間。所以可以大大提高服務(wù)器的相應(yīng)速度。
目前ZendCache只能運(yùn)行在Linux (glibc 2.1)、Solaris 2.6以上、FreeBSD 3.4及4.0。很可惜,目前它沿不支持Windows系統(tǒng)。
二、安裝及使用ZendCache
在zend.com上注冊(cè)一個(gè)用戶,以此用戶登錄zend.com,然后到以下地址下載http://www.zend.com/store/products/zend-cache.php。由于zendCache是一個(gè)要會(huì)費(fèi)的軟件,我們這里只能下載一個(gè)可供使用30天的一個(gè)限制日期的試用版,不過,它是一個(gè)全功能的軟件包。試試看,你可以體驗(yàn)到它強(qiáng)大的功能。要下載其試用版,直接選擇“Test drive available”下載。
整個(gè)下載要分三步,第一步,下載ZendCache軟件包,直接從“Supported Platforms”中選擇相應(yīng)平臺(tái)的軟件包即可。注意軟件適用的平臺(tái)及相應(yīng)php的版本、類庫的類型。
第二步是 “Request Product License”,即從zend.com取得授權(quán),要求用戶提供自己機(jī)器的Host ID,也即計(jì)算機(jī)上網(wǎng)卡的MAC地址,zend.com提供了一個(gè)讀取主機(jī)網(wǎng)卡地址的工具,用戶可以從zend.com是下載一個(gè)叫l(wèi)mutil.Z的小程序,解壓縮后,執(zhí)行它,即可獲得計(jì)算機(jī)的網(wǎng)卡地址。執(zhí)行方法:
# ./lmutil lmhostid
即可獲得主機(jī)ID。另外,用戶也可以從/var/log/messages中找到網(wǎng)卡的MAC地址。
此將此ID號(hào)填入申請(qǐng)license的form中,選擇“request”,然后耐心等待,Zend.com會(huì)在48小時(shí)內(nèi)給你發(fā)郵件,通知你可以去下載自己的license了。收到郵件后,直接進(jìn)入http://www.zend.com/store/pickup.php去下載。License是一個(gè)名為zend_cache.dat的文件.
安裝(本文以linux環(huán)境下的安裝為例)
解壓縮ZendCache-1[1].0.0-PHP_4.0.4-Linux_glibc2.1-i386.tar.gz文件
# tar –zxvf ZendCache-1[1].0.0-PHP_4.0.4-Linux_glibc2.1-i386.tar.gz
# cd ZendCache-1[1].0.0-PHP_4.0.4-Linux_glibc2.1-i386
# cp *.so /usr/local/Zend/lib
然后,將zend_cache.dat復(fù)制到/usr/local/Zend目錄下。
接著編輯php.ini文件,加入以下幾行:
; Start of sample Zend Cache configuration section
zend_cache.use_cwd=1
zend_cache.memory_consumption=64 ; 64MB
zend_cache.validate_timestamps=1
zend_extension=/usr/local/lib/ZendCache.so
; End of sample Zend Cache configuration section
重新啟動(dòng)apache 服務(wù)器。使剛才的改動(dòng)生效。
在Web服務(wù)器的htdocs目錄下編輯一個(gè)簡(jiǎn)單的php文件test.php,內(nèi)容如下:
Phpinfo();
?>
然后,在瀏覽器上鍵入http://localhost/test.php
如果屏幕上的第二部分出現(xiàn)了
This program makes use of the Zend scripting language engine:
Zend Engine v1.x.x, Copyright (c) 1998-2000 Zend Technologies
with Zend Cache v1.x.x, Copyright (c) 1999-2000, by Zend Technologies
字樣,表示ZendCache已經(jīng)正常工作了。剩下的是看看它的Cache命中效果了。
三、測(cè)試ZendCache的命中率
隨同ZendCache軟件包解開的還有一部分php代碼,這可以將ZendCache的命中效果直觀地顯示出來。簡(jiǎn)單地將cache_gui這個(gè)子目錄復(fù)制到Web服務(wù)器的htdocs目錄下。在瀏覽器url欄中鍵入http://localhost/cach_gui/index.html即可看到Cache的命中效果。如下圖所示,為筆者安裝zendCache后的命中效果圖:
如果瀏覽器中的圖形無顯示,且提示你編譯的PHP中的GD模塊不支持png圖形的顯示,那么你還得再次編譯php,使GD模塊支持png圖形顯示。有關(guān)如何編譯PHP,使它支持png的文章可以在網(wǎng)上查找,本文不作記述。如果你不知道自己PHP是否支持png,可以使用phpinfo()函數(shù)查看。一般情況下,如果在編譯時(shí)沒有特別指出要支持png,編譯時(shí)GD就不會(huì)默認(rèn)支持png。
注意:如果你同時(shí)使用了ZendOptimizer,那么,應(yīng)該將以上幾行放置在ZendOptimizer之后,否則你的Apache server起不來。
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)