eAccelerator leírása
Az eAccelerator ingyenes cache rendszer, amely a PHP alapú site-okat jelentősen felgyorsítja. A gyorsítás módjai:
- A betöltött PHP kódot tömöríti (felesleges whitespace-eket kiszedi),
- A PHP oldalakat előrefordított módon tárolja a megosztott memóriában és/vagy a merevlemezen (memória cache winchester cache). Így ha többen lekérdezik ugyanazt az oldalt, akkor a memóriában lévő fájlt a háttértárról történő betöltés nélkül tudja futtatni. Ha a megadott cache memóriába nem fér be a fájl, akkor a háttértárról olvassa be a lefordított kódot.
- A tartalmakat képes tárolni a memóriában és/vagy a merevlemezen (tartalom cache)
A Windows-Apache-PHP rendszereken az elérhető gyorsulás legalább 100%, tehát a cachelés nélküli állapothoz képest fele annyi idő alatt lefutnak az oldalak. A PHP-t modul vagy FastCGI módban kell használni, CGI üzemmódban nem használható!
Használható a PHP 4.x.x és a PHP 5.x.x változatában, beleértve a PHP 5.2.x változatokat is.
A fenti technológiákkal a jelenlegi oldalakat kb a kétszeresére lehetett gyorsítani.
Beszerzése: http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds
Telepítés
Ha Zend kiterjesztésként telepítjük, akkor
- a Zend encoder által használt formátumokat is lehet használni, és az eLoader.dll-t kell használni.
PHP extensionként is telepíthető.
- PHP extensionként használva a klasszikus gyorsító funkciókat teljesíti:
A PHP.INI fájlba az extensions szakaszba tegyük az alábbiakat
php.ini
extension="eAccelerator0952_5.2.4.dll"
......
[eaccelerator]
eaccelerator.shm_size = "64"
;A megosztott memória mérete megabyte-ban. "0" az OS default jelenti
;Default value is "0".
eaccelerator.cache_dir = "E:/Temp"
;A disk cache részére használt könyvtár. lefordított kódot tartalmaz és session adatokat, létre kell hozni a megadott könyvtárat
eaccelerator.enable = "1"
;engedélyezés /tiltás. Default value is "1".
eaccelerator.optimizer = "1"
;"peephole" optimalizálás. azt jelenti, hogy a kódot kicsit átalakítja, és optimalizálja
;Engedélyezés="1", tiltás="0". Alapértelmezés "1".
eaccelerator.debug = "0"
;Hibakereső logolás. Engedélyezés="1", tiltás="0". Alapértelmezés "0".
eaccelerator.check_mtime = "1"
;Engedélyezi a PHP fájlok módosításellenőrzését. Engedélyezés="1", tiltás="0".
;1-re kell állítani, hogy a módosítás után a PHP fájlokat újrafordítsa. Alapértelmezés "1".
eaccelerator.filter = ""
;Melyik PHP fájlokat cachelje? Megadható minta (pl. "*.php *.phtml")
;ami meghatározza a cachelendő fájloka, illetve a cachelésből kizárt fájlokat.
;Cachelésből kizárt egy fájl, ha a minta ! jellel kezdődik,
;Alapértelmezés "", ami minden fájl cachelését jelenti.
eaccelerator.shm_max = "0"
;Disables putting large values into shared memory by "eaccelerator_put()" function.
;It indicates the largest allowed size in bytes (10240, 10K, 1M). A "0" disables the limit. Default value is "0".
eaccelerator.shm_ttl = "0"
;When eAccelerator fails to get shared memory for a new script it removes all scripts from
;shared memory which were not accessed at least "shm_ttl" seconds. Default value is "0" which means - don't remove any files from shared memory.
eaccelerator.shm_prune_period = "0"
;Ha az eAccelerator nem tud több memóriát foglalni, akkor megpróbál kitörölni egy régi scriptet
;ha az előz próbálkozás "shm_prune_period" időnél korábban volt.
;Alapértelmezés "0" ami azt jelenti, hogy nem próbál kivenni semmit a megosztott memóriából.
eaccelerator.shm_only = "0"
;A lefordított scriptek cachelése a lemezen. Nem hat a session adatokra és a tartalom cachelésére
;Default value is "0", ami a lemez és a megosztott memóriát jelenti
eaccelerator.compress = "1"
;Cahcelt tartalom tömörítése. Engedélyezés="1", tiltás="0". Alapértelmezés "1", ami a tömörítés engedélyezését jelenti.
eaccelerator.compress_leel = "9"
;Tömörítési szint a cache-eléshez. Alapértelmezés "9", am a maximális tömörítést jelenti
;cache-elés módjai
; "shm_and_disk"- Megosztott memóriában és a disken cache-el.
; "shm_only" - Csak a shared memóriában cache-el
; "shm" - Megosztott memórában vagy a disken cachel,
; ha az adatok mennyisége túllép az eaccelerator.shm_max paraméternél beállítottnál
; "disk_only" - Csak a lemezen cachel
; "none" - Nincsen cache
eaccelerator.keys = "shm_only"
eaccelerator.sessions = "shm_only"
eaccelerator.content = "shm_only"
eaccelerator.admin.name="root"
eaccelerator.admin.password="xxxxxxxx"
eaccelerator.allowed_admin_path = "C:/wwwroot/eaccelerator/control.php"
A rendszerhez tartozik egy vezérlőfelület is, amelyet célszerű feltenni. A rendszer letöltése innen lehetséges:
http://www.sitebuddy.com/files/0952_final_useful%20_files.zip
A xxx_final_useful_files.zip fájlban található control.php fájlt tegyük a webszerver valamelyik alkönyvtárába, és állítsuk be a usernév, password párost, ugyanazt, amit a PHP.INI-ben is beállítottunk!!
control.php
~~~~~~~~~~~
/** config **/
$user = "root";
$pw = "xxxxxxxx";
/** /config **/
Körülbelül kétszer olyan gyors lesz egy oldal lefutása, mint azelőtt. Ez a cache bármilyen másik HTML cache-el felveszi a versenyt.