|
折騰VPS的朋友,在安裝好LNMP等Web運(yùn)行環(huán)境后都會選擇一些緩存擴(kuò)展安裝以提高php運(yùn)行速度,常被人介紹的有eAccelerator、memcached、xcache、Alternative php Cache這幾個緩存擴(kuò)展,它們之間有什么區(qū)別?分別的作用又是什么?我們?nèi)绾芜x擇?這是本文給于大家的答案。
1、eAccelerator
eAccelerator是一個自由開放源碼php加速器,優(yōu)化和動態(tài)內(nèi)容緩存,提高了php腳本的緩存性能,使得php腳本在編譯的狀態(tài)下,對服務(wù)器的開銷幾乎完全消除。 它還有對腳本起優(yōu)化作用,以加快其執(zhí)行效率。使php程序代碼執(zhí)效率能提高1-10倍。從文字上可以理解為:eAccelerator是php加速器擴(kuò)展。
2、memcached
Memcached 是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。從文字上可以理解為:內(nèi)存緩存擴(kuò)展,并且針對于集群服務(wù)器使用較多,主要用于分布式緩存,算是數(shù)據(jù)庫緩存。
3、Alternative php Cache(APC緩存)
Alternative php Cache (APC緩存)是一種對php有效的開放源高速緩沖儲存器工具,他能夠緩存Opcode(目標(biāo)文件)的php中間碼。 APC的緩存分兩部分:系統(tǒng)緩存和用戶數(shù)據(jù)緩存. 系統(tǒng)緩存 是自動使用的,是指APC把php文件源碼的編譯結(jié)果緩存起來,然后在再次調(diào)用時先對比時間標(biāo)記。如果未過期,則使用緩存代碼運(yùn)行。默認(rèn)緩存 3600s(一小時).但是這樣仍會浪費(fèi)大量CPU時間.因此可以在php.ini中設(shè)置system緩存為永不過期(apc.ttl=0).不過如果這樣設(shè)置,改運(yùn)php代碼后需要restart一下您的web服務(wù)器(比如apache…).目前對APC的性能測試一般指的是這一層cache;從文字上理到:Alternative php Cache(APC緩存)也算是一種內(nèi)存緩存擴(kuò)展,算是數(shù)據(jù)庫緩存擴(kuò)展。
4、Xcache
是一個開源的opcode緩存器/優(yōu)化器, 他能夠提高服務(wù)器上的php性能,他通過把編譯php后的數(shù)據(jù)緩沖到共享內(nèi)存從而避免重復(fù)的編譯過程, 能夠直接使用緩沖區(qū)已編譯的代碼從而提高速度. 通常能夠提高您的頁面生成速率2到5倍, 降低服務(wù)器負(fù)載。 其實它與eAccelerator一樣是php加速器擴(kuò)展。
以上就是他們的作用與區(qū)別,簡單一點就是:eAccelerator,xcache是php緩存擴(kuò)展,memcached、APC緩存是數(shù)據(jù)庫緩存擴(kuò)展,一般兩者只有要安裝其中一個即可,不要貪多。另外,實際測試中發(fā)現(xiàn)當(dāng)Cache數(shù)量超過一定閥值的時候,APC的性能不如Memcache。所以在擴(kuò)展的選擇上,本人一般會選擇xcache+memcached這個組合。
php技術(shù):PHP中4個加速、緩存擴(kuò)展的區(qū)別和選用建議,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。