eAccelerator : PHP crashed [4064]

eaccelerator
eAccelerator este probabil cel mai rapid si eficient accelerator si optimizator pentru PHP. eAccelerator depaseste cu peste 50% in performanta versiunea gratuita a Zend Optimizer. Pe scurt, diferenta dintre eAccelerator si Zend este enorma la nivelul performantei. Dar viteza are si laturi negative. eAccelerator 0.9.5.2 pentru PHP 5.2.5 are prostul obicei de a crapa in cazul in care ajungi la un numar de aproximativ 250 conectii simultane. Nu este in tema acestui post debuggul acestei probleme.

Totusi, in tema acestui post este modalitatea de a evita un crash de PHP in cazul in care vrei sa folosesti eAccelerator.

Cei care folosesc deja eAccelerator stiu probabil ca acesta poate sa fie folosit in doua moduri, ca extensie PHP sau ca extensie Zend. In mod firesc, folosirea lui ca extensie PHP este aleasa de majoritatea webmasterilor … fatala alegere 🙂

Rularea eAccelerator-ului ca extensie Zend s-a dovedit in practica drept cea mai stabila varianta. Dar nu va bucurati inca, chiar si aici este un trick. In mod normal, extensiile Zend sunt folosite direct, fara mentiunea _ts (thread safe) adica felul in care este gestionat eAccelerator-ul este lasat aproape la voia intamplarii si invariabil apar mici probleme care in final genereaza acel fatal PHP crash urmat de Apache crash, downtime si vizitatori nemultimiti.

pe scurt, setarile posibile pentru eAccelerator si cu bold, varianta ideala:


extension="eaccelerator.dll" ; ca extensie PHP -> crash
zend_extension = "calea_intreaga_catre\eaccelerator.dll" ; ca extensie Zend obisnuita -> crash
zend_extension_ts = "calea_intreaga_catre\eaccelerator.dll" ;ca extensie Zend cu Thread Safe (_ts) - >varianta pe care trebuie s-o alegi

Evident, aceasta observatie este una personala, nu ofer nicio garantie ca o mearga. Totusi, in cazul meu functioneaza si practica pare sa-si spuna cuvantul.

Articolul acesta il consider valabil pentru versiunile urmatoare:

Apache 2.2.8
MySQL 5.0.51a
PHP 5.2.5
Zend Optimizer 3.3.0a
eAccelerator 0.9.5.2 for PHP 5.2.5
Windows XP sp2, Windows Vista

Leave a Reply

Your email address will not be published. Required fields are marked *