目前用於Web的緩存系統不少,包括squid、varnish、Nginx自帶的proxy_cache、FastCGI中的fastcgi_cache、APC、Xcache等。php
像squid、varnish、Nginx自帶的proxy_cache這類系統,屬於重量級產品,配置維護比較麻煩,不適合小型網站,並且通常用這類系統緩存靜態內容,好比圖片、css、JavaScript等;像FastCGI中的fastcgi_cache,它主要用於緩存動態內容,因此在訪問使用fastcgi_cache的網站時速度極快,可是筆者使用時發現其維護比較麻煩,特別是每次網站有數據要更新後,若是不等到緩衝期過時後得須要手動清除緩存才能看到網站更新的內容;至於APC我的感受性能就通常了,拿它和Xcache比較時發現訪問使用Xcache網站的速度明顯高於使用APC網站的速度(筆者沒有具體測試),因此最終選擇了使用Xcache。css
咱們都知道PHP是一種動態語言,它在執行時是以解釋的方式執行,因此 PHP代碼每次執行時都會被解析和轉換成操做碼(opcode)。而Xcache是一個開源的操做碼緩存器/優化器,它經過把解析/轉換PHP後的操做碼緩存到文件(直到原始代碼被修改)從而避免重複的解析過程,提升了代碼的執行速度,一般可以提升頁面生成速率2-5倍,下降了服務器負載,提升了用戶訪問網站的速度。html
1、安裝Xcachenginx
# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
# tar zxvf xcache-1.3.0.tar.gz
# cd xcache-1.3.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache
# make && make install
注:–enable-xcache表示啓用Xcache支持;–enable-xcache-coverager表示包含用於測量加速器功效的附加特性;–enable-xcache-optimizer表示啓用操做碼優化web
安裝完畢後系統會提示xcache.so模塊生成路徑,本次生成路徑爲/usr/local/php/lib/php/extensions/no- debug-non-zts-20060613/,而後把xcache.so移動到/usr/local/php/include/php/ext目錄下。緩存
2、配置管理Xcache服務器
一、修改php配置文件ide
配置時咱們能夠參考xcache的配置模板xcache.ini,此文件位於Xcache安裝程序中性能
# vi /usr/local/php/lib/php.ini
而後添加以下內容測試
extension_dir=/usr/local/php/include/php/ext
[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "xcache"
xcache.admin.pass = ""
[xcache]
xcache.shm_scheme ="mmap"
xcache.size=60M
xcache.count =1
xcache.slots =8K
xcache.ttl=0
xcache.gc_interval =0
xcache.var_size=4M
xcache.var_count =1
xcache.var_slots =8K
xcache.var_ttl=0
xcache.var_maxttl=0
xcache.var_gc_interval =300
xcache.test =Off
xcache.readonly_protection = On
xcache.mmap_path ="/tmp/xcache"
xcache.coredump_directory =""
xcache.cacher =On
xcache.stat=On
xcache.optimizer =Off
[xcache.coverager]
xcache.coverager =On
xcache.coveragedump_directory =""
二、生成Xcache緩存文件
# touch /tmp/xcache
# chmod 777 /tmp/xcache
三、生成Xcache管理員的祕密(MD5密文)
# echo -n "123456" | md5sum
e10adc3949ba59abbe56e057f20f883e
而後將上述生成的MD5密文粘貼到php.ini文件中xcache.admin.pass = ""選項,xcache.admin.pass= "e10adc3949ba59abbe56e057f20f883e"
四、拷貝Xcache管理程序到網站根目錄下
# cp -a /tmp/xcache-1.3.0/admin//usr/local/nginx/html/
而後從新啓動PHP,而後訪問http://localhost/admin ,用戶名爲xcache 密碼爲123456;另外,還能夠經過phpinfo來驗證PHP是否支持Xcache