eAccelerator használata Windows szervereken

Default book

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.name_space =""
;Ha a cache megosztott memóriájában akarsz tárolni adatokat, az adatok elnevezése a
;Server neve alapján jön létre (amit az Apache-ban beállítottál). Ez néha nem megfelelő, ezt lehet felülírni
 ;ezzel a paranccsal. Ha a sztring üres, akkor a ServerName lesze az előtag, ha nem üres, akkor ez az érték.

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.

Kapcsolódó cikk

Három kiterjesztés a Zend motor működésének megismeréséhez