eAccelerator

eAccelerator is a wonderful mechanism to speed up slow php. In general, the idea is simple 😆 when running php scripts, this nonsense keeps them up to date. opcode level and on the next call if there are no changes in the script the opcode copy is used. The result is faster execution at low server load, less waste of resources. Basically it is.

Now to share the simplicity that I managed to create. A little less than a week ago on a server I updated the php version I use because of the fatal one CVE-2010-4645 bug. I updated the version to 5.2.17 where I saw, that it has been repaired. I didn't risk it 5.3.5 version, that there are differences and I don't know how it will work , and most importantly, it was late at night. Said done. The update went more than smoothly, but after I finished I was impressed that the agility of the site dropped a lot. But one of the developers had warned me, that they would test new scripts and I didn't pay much attention to it. Yesterday I had to set some cron to php and when I played them I saw a rather unpleasant inscription, that my compilation of eAccelerator is for the start version of my php and does not work with the new one ;). Everything is clear now. I quickly recompiled the eAccelerator and everything fell into place according to rough observations. The loading of the pages dropped twice as valuable megabytes of RAM were released.. In general, at least I have already done the test and it is certainly useful especially for over 200 user online things become quite eloquent and at 400 😉 There are other mechanisms but according to the tests the eAccelerator is the most competent choice. I don't have much time for testing so I trust people 😀

http://www.youtube.com/watch?v = eJarZiMQaKA

14 comments

  1. А eAccelerator на какво е писан?
    Има ли някакви проблеми със сигурността при използването му?
    на мен често м исе гади едно такова вътрешно, ако трябва да слагам приставки, плъгин-и, добавки, надстройки и всякакви темподобни. Колкото повече (мечо Пух 🙂 ) толквоа повече места за пробив. Да не забравяме qmail.

    1. Ами сорсовете гледам са написани на С. Иначе не мисля че има някакви дупки които да отваря повече от самото php 😉 :-D. Although, че като се има на предвид, че е от създателите на lighttpd и го гледах първоначално леко с несигурност, че те с техните memory leak-ове направо избиваха рибата. Иначе има още 2 известни такива кеширащи механизми коитона второ място класират X-Cache и на 3-то APC, които ще взле официално в php6 ама по тестовете не му е много красиво положението. А определно бързодействието на php му е слаб момент и схемата на python за bytecode хавите е грамотно решение и горе доло това правят ти кеширащи механизми. А инсталацията е тривиална phpize && ./configure && make && make install 😉 След това го добавяш в php.ini-то и си свиркаш щастлив :)))

      1. Взема да пробвам, ама нямам сървър с такова натоварване….някакъв генератор на трафик трябва да поизмисля или да потърся

        1. ab е твоя tool 😉 Иначе сървъра дето се говори за него чакаме(надяваме се) да минем 20к уникални скоро стигаме нормално около 15к за ден което е прилично 🙂

  2. Не са едно и две решенията за opcode кеширане.

    Най-популярните примери са:
    apc
    xcache
    zend_optimizer

    Аз лично предпочитам xcache, защото имаш API и можеш да persist-ваш ръчно, т.е мога да го ползвам като storage.

    1. Дам писах за тях, по принцип трябва някои ден да седна да го разчопля повече аз x-cache и да се запозная по надълбоко с функционалноста му. В случая чак от такава функционалност нямаме нужда и общо взето на повечето тестове гледам eAccelerator бие с малко но бие x-cache.

  3. Освен заигравките с опкод кешове има и други заигравки. Правилно кеширане по диска и ползване на memcached ама това обикновенно значи че някой трябва да рита developerite а те са малко мързеливи обикновенно.

    Допълнително да добавим и че опкод кешовете не работят ако се php-то се ползва като CGI (fastcgi)

    1. Сигурен ли си защото си кеширaшe преди с lighttpd и php-то беше точно като fastcgi. А смяната на apache-то с nginx ми беше основна идея за в бъдеще. Мисля че няма да се навият ако ги открехна на memcache точно поради причиние дето изтъкна 😀

      1. За eAccelerator не съм сигурен тъй като не съм го ползвал, но xcache не оказва никакво влияние. Реалномамка му и че съм идиотsuexec. Добре днес явно ще имам заигравка да видим как се държат опкод кешовете при различни вариации.

        1. ахахахах Тествай и ще чакам резултати и аз тия дни ако ми остане повече време за игра ще дигна една виртуална да видя как се държат apache, lighttpd и nginx с или без opcode кеширания и с различните такива 🙂 За apache 100% има ефект въпроса е с цифрички да се видят 😉

  4. Ох, чувствам се яко дилетант. Най-накрая трябва да седна и да почна да се занимавам с код като хората. Чувствам се доста неловко, щъкайки из графичния админ интерфейс на страницата си. И постоянно едн огласче какъв спец си ти, след като ползваш графичен интерфейс? Дали специалистите са задължително тези, които имат бели букви на черен екран, стартират lynx и ходят из директориите най-много с mc? Надали! Ама май е стереотип!

    1. Защо пък дилетант 🙂 Иначе колко си професионалист не се определя от толкова от туловете които ползваш а от начина по които ги ползваш. Дали браузвам с наутилус или mc каква е разликата въпроса е да ти е удобно конфортно и да вършиш максимално бързо поставените задачи. Точно тези фактори те определят какъв си, да речем някои ламер ако си сложи backtrak това дали ще го направи по голям хахор 😉 Не мисля. Аз съм на принципа обичам да е удобно и ползвма туловете които имам. Отделно живеем за да се учим 😉

Leave a Reply

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

Anti SPAM *