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

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