單機memcache內存優(yōu)化效果不如APC、Xcache等php加速擴展
更新時間:2016-11-22 10:05:54 來源:大同網站建設 點擊:
協(xié)會老師反映數碼攝影網http://www.cd-pa.com這幾天打開特別慢,讓幫忙處理一下。經過檢測發(fā)現很多頁面被掛馬,清理了之后,順便又折騰了一下網站服務器的優(yōu)化,雖然對于中小網站來說,優(yōu)化沒有很大的意義,但至少自己訪問速度提升、打開速度實現了秒開,心理還是很爽的。分享一下這次實踐過程中積累的一個經驗:
單機內存優(yōu)化memcache效果不如APC、Xcache等php加速擴展
我當前的幾個vps和彈性云都是單機服務器,因此這個問題是有價值的,而且對于90%的站長來說,估計都是用的單機vps,部署集群服務器的草根站長估計不會很多。
1、memcache單機個人使用體會:
由于看著discuz官方是用的memcache,因此包括我在內的很多用discuz的站長都用這個內存優(yōu)化工具,同時wdcp這個被廣泛采用的linux面板也集成了memcache,開啟非常的方便,所以很多論壇都自然的開啟了。
以前包括恒星兼職論壇在內的網站都是開啟了這個內存優(yōu)化,看著底部的數據庫查詢次數確實有很大的減少,從平均的40次左右下降到10次左右。但是我感覺速度沒有很大的提升,反而還不如不用memcache優(yōu)化時候的速度,并且這種感覺是非常明顯的!我隨便打開一個頁面都要卡一會兒,雖然底部顯示的程序運行時間是0.x秒級別,但實際感受根不止,每次都要等很久。
我開始以為是加速樂開啟的問題,關閉了加速樂也是一樣的慢,關閉了memcache優(yōu)化后,速度明顯有上升,雖然數據庫查詢次數多了,但實際感受速度快了很多。因此,我琢磨換其它加速工具試試,同時也了解了一下幾個加速的異同。
2、memcache加速和APC/Xcache/eAccelerator的異同
這幾個都是常用的加速工具,但原理是有一定區(qū)別的。
Memcached是“分布式”的內存對象緩存系統(tǒng),那么就是說,那些不需要“分布”的,不需要共享的,或者干脆規(guī)模小到只有一臺服務器的應用,memcached不會帶來任何好處,相反還會拖慢系統(tǒng)效率,因為網絡連接同樣需要資源,即使是UNIX本地連接也一樣。 在我之前的測試數據中顯示,memcached本地讀寫速度要比直接PHP內存數組慢幾十倍,而APC、共享內存方式都和直接數組差不多?梢姡绻皇潜镜丶壘彺妫褂胢emcached是非常不劃算的。(轉的一段話,應該描述是準確的,我看很多朋友都這么說)
APC/Xcache/eAccelerator這3個是php加速工具,加速的是php程序的執(zhí)行效率,和memcache是有很大區(qū)別的。
3、為什么單機服務器不用memcache而要用APC/Xcache/eAccelerator呢
memcache適合多服務器使用,是內存緩存加速,假如是集群服務器部署,那使用memcache會極大的減少數據庫查詢次數,提升程序實現效率。單機由于memcache需要使用網絡資源,反而會降低速度!
但APC/Xcache/eAccelerator是php加速工具,提升的是php代碼的執(zhí)行效率!不管是單機還是集群使用都有效果。
所以在單臺服務器的情況下,APC/Xcache/eAccelerator等php加速工具的效果遠遠高于memcache。
4、實際使用情況評測:Xcache效果好于memcache
由于跟版網是單臺西部數碼主機(彈性云),符合上述情況。先前開啟的是memcache內存優(yōu)化,實際效果確實不咋的,比不開啟任何優(yōu)化速度還蠻,雖然減少了數據庫查詢次數,但網頁打開速度很慢,甚至慢到我不能忍受的地步,否則我也不會去找這個問題!和換其它的優(yōu)化加速工具,假如速度可以接受,誰愿意折騰呢?都以論壇首頁為例:
單機開啟memcache效果:數據庫查詢次數由40左右下降到10左右,減少的很多,程序執(zhí)行時間首次x秒左右,第二次開始0.x秒,從來沒有達到過0.0x秒級別,實際感受速度那是非常的慢!慢到我無法忍受以至于不得不關閉和更換其它的。
單機開啟Xcache效果:數據庫查詢次數由40左右下降10-20次左右,減少的也不錯,但效果不如memcache減少的多,必須承認。發(fā)現一個問題,就是每天首次訪問網站的時候速度會較慢,達到x秒級別,不知道是否所有php加速都是這樣?大部分時候是0.2秒左右,這個比memcache效果好很多了,加快了5倍左右,提升明顯;第二次開始下降到0.0x秒,一般在0.05秒左右!繼續(xù)提升似乎很難了,與硬件的性能有關系。關鍵是打開網頁感受速度有非常大的提升,基本上一點就開,感覺很爽,唰唰的,不像以前要卡頓一下。(至于繼續(xù)優(yōu)化到0.00x秒級別,我沒那技術,感覺也沒那必要,因為0.0x秒以后的提升,人訪問已經無法感受出來了。
單機開啟APC/eAccelerator的效果:APC我安裝了并且現在用著,效果和Xcache差不多的,都能夠達到0.0x秒級別,由于APC不能和zend一起使用,因此我關了(實際我現在也只用了Xcache,和zend一起沒測試成功,估計也提升不了多少,懶得折騰了)。eAccelerator我另外一個論壇安裝了,速度非常的快,比apc和Xcache效果都要好,但是這個加速工具有些問題,不是很穩(wěn)定,我放棄了(很多網友都反應eAccelerator單機小流量加速效果比apc和x好多很,有興趣的朋友可以自己測試哦)。
結論:假如你是單臺服務器或者vps,那建議使用APC/Xcache/eAccelerator這類php加速工具,而不用要memcache內存優(yōu)化(相信大多數站長和我一樣,都用單臺的,而且根本都用不完呢!當然了還有更多的朋友用的虛擬主機,是折騰不了這些優(yōu)化工具的)。假如你是集群服務器,有負載均衡的,memcache效果要好很多,具體沒測試。
同時,在小流量的情況下(1萬流量以下的都是小流量網站),php加速工具隨便選一個就可以,沒有很大的區(qū)別,沒有必要糾結。
關于內存優(yōu)化和php加速的幾個問題:
1、建議只選一個優(yōu)化工具:速度是一個方面,穩(wěn)定性更是壓倒一切,小網站還是少折騰,開一個加速工具就行了,安心做內容吧。
2、幾個沖突的地方:APC不能和zend一起開啟;Xcache可以和zend一起用,但需要先加載Xcache再加載zend(我自己沒折騰成,把zend關閉了);APC/Xcache/eAccelerator同時只建議啟用一個,多了網站會有問題。
我今天就遇到個奇怪的事情,論壇可以正常打開,但主站后臺無法訪問,老出現503錯誤,折騰半天才明白,是因為在php.in里面APC/Xcache/我都開啟了,但是論壇程序默認只開啟一個優(yōu)化,所以可以正常訪問,但織夢程序似乎都開啟了,造成無法訪問!關閉了apc后,主站恢復正常了。
不想沖突的最好方法,就是只裝一個加速,夠用了,而且穩(wěn)定。
3、php加速是給所有的程序加速,其實memcache也一樣,但我起先是折騰論壇的,后來發(fā)覺開啟Xcache后,織夢后臺的速度杠杠的!點擊任何一個頁面都是瞬開!這倒是么有想到,其實這個問題很傻鳥,因為加速的是php程序,當然這個服務器下面的所有網站都加速了……
4、建議給單機的discuz和wordpress開啟至少一個php加速工具,常用的有APC/Xcache/eAccelerator這3個,效率提升效果非常的明顯。
5、假如你的網站最終是生成靜態(tài)的,那就不需要開啟任何加速了!比如只有dedecms/phpcms/zblog,并且最后都生成了靜態(tài)頁面(偽靜態(tài)的話建議開哦),那沒有必要做任何的內存優(yōu)化,這個優(yōu)化只對動態(tài)內容有效果,需要查詢數據庫的,靜態(tài)內容是么有用的。能夠加速的就是一個后臺,沒啥意義。
6、不管是linux還是win系統(tǒng),都是可以安裝php加速的。
以上內容,對于老手來說都是很容易甚至很傻的問題,但對于我們自學的草根站長來說,還是要花費一段工夫來了解的,因此記錄在這里,給有需要的朋友參考,同時自己也積累點經驗,方便以后查閱。
大同市宏微信息技術有限公司主要從事技術開發(fā)、技術服務、技術轉讓;電腦圖文設計、制作;網站網頁設計、維護;廣告設計、制作及發(fā)布;公司主要技術人員在大同制作網站、大同建站、大同做網站、大同網站建設、大同網站制作、大同網頁設計、大同網絡開發(fā)、大同網站優(yōu)化等方面有多年豐富的從業(yè)經驗。
單機內存優(yōu)化memcache效果不如APC、Xcache等php加速擴展
我當前的幾個vps和彈性云都是單機服務器,因此這個問題是有價值的,而且對于90%的站長來說,估計都是用的單機vps,部署集群服務器的草根站長估計不會很多。
1、memcache單機個人使用體會:
由于看著discuz官方是用的memcache,因此包括我在內的很多用discuz的站長都用這個內存優(yōu)化工具,同時wdcp這個被廣泛采用的linux面板也集成了memcache,開啟非常的方便,所以很多論壇都自然的開啟了。
以前包括恒星兼職論壇在內的網站都是開啟了這個內存優(yōu)化,看著底部的數據庫查詢次數確實有很大的減少,從平均的40次左右下降到10次左右。但是我感覺速度沒有很大的提升,反而還不如不用memcache優(yōu)化時候的速度,并且這種感覺是非常明顯的!我隨便打開一個頁面都要卡一會兒,雖然底部顯示的程序運行時間是0.x秒級別,但實際感受根不止,每次都要等很久。
我開始以為是加速樂開啟的問題,關閉了加速樂也是一樣的慢,關閉了memcache優(yōu)化后,速度明顯有上升,雖然數據庫查詢次數多了,但實際感受速度快了很多。因此,我琢磨換其它加速工具試試,同時也了解了一下幾個加速的異同。
2、memcache加速和APC/Xcache/eAccelerator的異同
這幾個都是常用的加速工具,但原理是有一定區(qū)別的。
Memcached是“分布式”的內存對象緩存系統(tǒng),那么就是說,那些不需要“分布”的,不需要共享的,或者干脆規(guī)模小到只有一臺服務器的應用,memcached不會帶來任何好處,相反還會拖慢系統(tǒng)效率,因為網絡連接同樣需要資源,即使是UNIX本地連接也一樣。 在我之前的測試數據中顯示,memcached本地讀寫速度要比直接PHP內存數組慢幾十倍,而APC、共享內存方式都和直接數組差不多?梢姡绻皇潜镜丶壘彺妫褂胢emcached是非常不劃算的。(轉的一段話,應該描述是準確的,我看很多朋友都這么說)
APC/Xcache/eAccelerator這3個是php加速工具,加速的是php程序的執(zhí)行效率,和memcache是有很大區(qū)別的。
3、為什么單機服務器不用memcache而要用APC/Xcache/eAccelerator呢
memcache適合多服務器使用,是內存緩存加速,假如是集群服務器部署,那使用memcache會極大的減少數據庫查詢次數,提升程序實現效率。單機由于memcache需要使用網絡資源,反而會降低速度!
但APC/Xcache/eAccelerator是php加速工具,提升的是php代碼的執(zhí)行效率!不管是單機還是集群使用都有效果。
所以在單臺服務器的情況下,APC/Xcache/eAccelerator等php加速工具的效果遠遠高于memcache。
4、實際使用情況評測:Xcache效果好于memcache
由于跟版網是單臺西部數碼主機(彈性云),符合上述情況。先前開啟的是memcache內存優(yōu)化,實際效果確實不咋的,比不開啟任何優(yōu)化速度還蠻,雖然減少了數據庫查詢次數,但網頁打開速度很慢,甚至慢到我不能忍受的地步,否則我也不會去找這個問題!和換其它的優(yōu)化加速工具,假如速度可以接受,誰愿意折騰呢?都以論壇首頁為例:
單機開啟memcache效果:數據庫查詢次數由40左右下降到10左右,減少的很多,程序執(zhí)行時間首次x秒左右,第二次開始0.x秒,從來沒有達到過0.0x秒級別,實際感受速度那是非常的慢!慢到我無法忍受以至于不得不關閉和更換其它的。
單機開啟Xcache效果:數據庫查詢次數由40左右下降10-20次左右,減少的也不錯,但效果不如memcache減少的多,必須承認。發(fā)現一個問題,就是每天首次訪問網站的時候速度會較慢,達到x秒級別,不知道是否所有php加速都是這樣?大部分時候是0.2秒左右,這個比memcache效果好很多了,加快了5倍左右,提升明顯;第二次開始下降到0.0x秒,一般在0.05秒左右!繼續(xù)提升似乎很難了,與硬件的性能有關系。關鍵是打開網頁感受速度有非常大的提升,基本上一點就開,感覺很爽,唰唰的,不像以前要卡頓一下。(至于繼續(xù)優(yōu)化到0.00x秒級別,我沒那技術,感覺也沒那必要,因為0.0x秒以后的提升,人訪問已經無法感受出來了。
單機開啟APC/eAccelerator的效果:APC我安裝了并且現在用著,效果和Xcache差不多的,都能夠達到0.0x秒級別,由于APC不能和zend一起使用,因此我關了(實際我現在也只用了Xcache,和zend一起沒測試成功,估計也提升不了多少,懶得折騰了)。eAccelerator我另外一個論壇安裝了,速度非常的快,比apc和Xcache效果都要好,但是這個加速工具有些問題,不是很穩(wěn)定,我放棄了(很多網友都反應eAccelerator單機小流量加速效果比apc和x好多很,有興趣的朋友可以自己測試哦)。
結論:假如你是單臺服務器或者vps,那建議使用APC/Xcache/eAccelerator這類php加速工具,而不用要memcache內存優(yōu)化(相信大多數站長和我一樣,都用單臺的,而且根本都用不完呢!當然了還有更多的朋友用的虛擬主機,是折騰不了這些優(yōu)化工具的)。假如你是集群服務器,有負載均衡的,memcache效果要好很多,具體沒測試。
同時,在小流量的情況下(1萬流量以下的都是小流量網站),php加速工具隨便選一個就可以,沒有很大的區(qū)別,沒有必要糾結。
關于內存優(yōu)化和php加速的幾個問題:
1、建議只選一個優(yōu)化工具:速度是一個方面,穩(wěn)定性更是壓倒一切,小網站還是少折騰,開一個加速工具就行了,安心做內容吧。
2、幾個沖突的地方:APC不能和zend一起開啟;Xcache可以和zend一起用,但需要先加載Xcache再加載zend(我自己沒折騰成,把zend關閉了);APC/Xcache/eAccelerator同時只建議啟用一個,多了網站會有問題。
我今天就遇到個奇怪的事情,論壇可以正常打開,但主站后臺無法訪問,老出現503錯誤,折騰半天才明白,是因為在php.in里面APC/Xcache/我都開啟了,但是論壇程序默認只開啟一個優(yōu)化,所以可以正常訪問,但織夢程序似乎都開啟了,造成無法訪問!關閉了apc后,主站恢復正常了。

不想沖突的最好方法,就是只裝一個加速,夠用了,而且穩(wěn)定。
3、php加速是給所有的程序加速,其實memcache也一樣,但我起先是折騰論壇的,后來發(fā)覺開啟Xcache后,織夢后臺的速度杠杠的!點擊任何一個頁面都是瞬開!這倒是么有想到,其實這個問題很傻鳥,因為加速的是php程序,當然這個服務器下面的所有網站都加速了……
4、建議給單機的discuz和wordpress開啟至少一個php加速工具,常用的有APC/Xcache/eAccelerator這3個,效率提升效果非常的明顯。
5、假如你的網站最終是生成靜態(tài)的,那就不需要開啟任何加速了!比如只有dedecms/phpcms/zblog,并且最后都生成了靜態(tài)頁面(偽靜態(tài)的話建議開哦),那沒有必要做任何的內存優(yōu)化,這個優(yōu)化只對動態(tài)內容有效果,需要查詢數據庫的,靜態(tài)內容是么有用的。能夠加速的就是一個后臺,沒啥意義。
6、不管是linux還是win系統(tǒng),都是可以安裝php加速的。
以上內容,對于老手來說都是很容易甚至很傻的問題,但對于我們自學的草根站長來說,還是要花費一段工夫來了解的,因此記錄在這里,給有需要的朋友參考,同時自己也積累點經驗,方便以后查閱。
上一篇:第三屆世界互聯網大會在浙江烏鎮(zhèn)閉幕 下一篇:實戰(zhàn)檢驗xcache-在win服務器安裝教程