П’ята година ранку, а я ще за компом…
Почалося все вчора ввечері, коли я випадково натрапив на 49 наблу Котерова “Оптимизируем загрузку PHP-кода в 22 раза, или почему FastCGI не ускоряет PHP“. Там зачепився поглядом за eAccelerator і згадав, що давно хотів на нього подивитися. Скачав, налаштував, запустив. Про результати судив на прикладі живих проектів. Наприклад, для textbroker.ru час виконання скрипта зменшився в 2-4 рази – доволі суттєво. Трошки поцикався, почитав доступну інфу. Гарно, гарно. Тільки треба більше часу виділити, щоб нормально розібратись.
Потім дійшли руки до php_apc. Теж давно хотів подивитись. Підключив, запустив кілька сайтів. На прикладі того ж textbroker.ru різниця з eAccelerator ніби і не помітна. Але потрібно враховувати, що:
– запускалося все на робочому ноуті
– в конфігурування я поки не вникав
– ніяких сторонніх засобів для замірів не використовувалось
Треба завтра поганяти на сервері, тоді вже можна буде робити якісь висновки. Явною перевагою є те, що його збираються включити до ядра php (по моэму в 6й версії). Та й в ZF є готовий Zend_Cache_Backend_Apc.
Але й це ще не все. Читаючи про акселератори, в котре, то тут, то там, я зустрічав гарні відгуки про xDebug. Свого часу, щоб довго не паритись, я налаштував ZendDebugger. В принципі він мене всім влаштовував. Дебаг є. Профайлер, хоч і куций, але теж є… Та в мені сьогодні прокинувся дух експериментатора і я почав ставити xDebug. Довго чомусь з ним грався. В чому був затик так і не зрозумів – голова вже не варить. Десь годину тому почав читати докуменацію. Ще й половини не прочитав, але вже можу сказати, що розширення дійсно корисне. Раджу придивитися до нього уважніше.
Корисні посилання:
Таки FCGI не ускоряет PHP. Однако он дает возможность отказаться от использования весьма тяжкого Apache, а это уже дает огромный прирост.
Кроме того используя FCGI становится возможным разделить мух и котлеты – отделить интерпретатор от вэб-сервера. С FCGI легче изолировать пользователей (suexec в бинарной сборке как правило смотрит в /var/www, у меня же сайты живут в /home/virtual//apps/*, а в бинарных дистрах пересобирать Apache как-то совершенно не хочется).
И вдогонку:
http://dmitry.shaposhnik.name/2008/02/03/webservers-benchmark/
http://dmitry.shaposhnik.name/2007/12/27/php-optimizers-revisited/
http://dmitry.shaposhnik.name/2007/09/15/php-opcode-cachers-review/