追蹤
NEIL's_學而時習之x不學無術~私藏IT技術經驗分享部落
關於部落格
NEIL. Cheng....寫作只是為了日後工作之備忘操作參考

本部落格文章撰寫前進邁向第五年(since 2009 ~至今)仍繼續推進分享IT學習!!About Windows/Linux Server,Virtualization


分享網誌: 由於,本人預先完成LAB後,才補上撰寫文章與截圖,若發現文圖對照說明有誤..本人將盡快校正,也請不吝指教! Thanks!

  • 174774

    累積人氣

  • 5

    今日人氣

    1

    追蹤人氣

網管人工作日誌之 Opcode Zend Guard Loader & XCache - PHP 指令搞加速執行 by Neil

XCache for (PHP 5.5.8+ Nginx)   安裝配置]

 延續 前篇 [效能提升] Nginx 整合 PHP 實驗網頁"動靜態頁面分隔處理實現by Neil

 我們架構規劃設計設仍以 "動靜態頁面切割處理" !! Cent222(使用Nginx1.4.4)

 僅負責靜態頁面元件處理, PHP程式處理則轉發Cent223,Cent224 兩台主機獨立處理

 Then, 我們現在將XCache 加裝在 Cent223 這台主機上測試

[XCache 安裝] 

yum install php-xcache*            #使用 3.1.0-2.el6 穩定版本


產生一組md5加密密碼,稍後web-ui 介面登入時會用到

echo -n "xxxxxx" | md5sum

dad3a37aa9d50688b5157698acfd7aee  -



編修XCache 組態檔案:   vi /etc/php.d/xcache.ini   修改內容

[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "neil"
xcache.admin.pass = "023870ee8d60d5669f702ac2e5de9dcb"  

#方才md5sum 產生密碼填上在此我使用另外一組Pass


重新啟動PHP-FPM 服務

/etc/init.d/php-fpm restart


XCache 提供一個Web-UI  介面可供管理者後台登入檢視Cache使用命中狀況...等

/var/www/html/v2   =  已對應虛擬主機  s1.neil0918u.com

cp -rf /usr/share/doc/php-xcache-3.1.0/admin/   /var/www/html/v2/xcache


瀏覽網頁: http://s1.neil0918u.com/xcache/  登入


登入後台Web-UI 介面後,我們可以看得關於XCache 相關資訊(命中率..快取使用量..等訊息)

這些配置可以於剛剛組態檔做修改 
/etc/php.d/xcache.ini 


另外我們也可以在phpinfo(); 看到XCache 以整合成功配置訊息

擷取官方說明參數配置檢視
xcache.shm_scheme string   決定XCache 如何從系統分配共享內存
xcache.mmap_path string

對於*nix, xcache.mmap_path是文件路徑 ,不是目錄.對於Win32, xcache.mmap_path
只是匿名的map名 ,不是實際的文件路徑.如果您要啟用
ReadonlyProtection請用類似
"/tmp/xcache"的路徑. 2組php不該共用同一個路徑(/dev/zero除外).

xcache.readonly_protection boolean

如果啟用了ReadonlyProtection ,將會略微降低性能,但是會提高一定的安全係數.
這個選項對於xcache.mmap_path = /dev/zero無效.

xcache.size int

0 禁止, 非0 則啟用緩存器. 請注意您系統所允許的mmap 最大值.
xcache.count int
指定將cache切分成多少塊.參考SplittedCache

xcache.slots size
只是作為hash 槽個數的參考值, 您可以放心地緩沖超過這個個數的項目.

xcache.ttl seconds
設置緩衝項目的Ttl (Time To Live) 值, 0=永不過期.

xcache.gc_interval seconds
檢查過期項目, 回收內存空間的間隔.
xcache.cacher boolean
使用/不使用opcode 緩存器. xcache.size = 0 時無效.

xcache.stat boolean
使用stat() 發現檢查腳本更新.
xcache.var_size int
xcache.var_count int
xcache.var_slots size
xcache.var_gc_interval seconds
同上, 不過用於數據緩衝而不是opcode 緩衝.

xcache.var_ttl seconds
xcache_(get|set|inc|dec) 等的默認ttl 值.

xcache.var_maxttl seconds
最大ttl 值, 程序無法指定超過這個最大值的ttl.


<分享配置參考EXAMPLE>: 沒提到參數維持預設值

xcache.size = 64M    #XCache 配置內存大小,視系統內存空閒大小配置

xcache.count = 2    #Cache需切分N等分處裡,官方建議實體CPU核心+1值(本Lab實體1核心)

xcache.ttl = 0      #緩衝時間檢查UPDATE時間,達N秒即Refresh舊緩存訊息

cache.gc_interval = 400  #N秒後內存使用回收時間Recyle

xcache.var_size = 8M     #數據緩存大小

xcache.cacher = On   #啟用XCache緩存否

xcache.stat = On 

xcache.optimizer = On  
#XCache 優化代碼功能啟用,已安裝Zend Guard Loader 請調整為Off
相簿設定
標籤設定
相簿狀態