Наверное немного коряво написал тему топика... В общем хотелось бы узнать, кто каким акселератором пользуется, кто каким кешем? А если будут ещё и какие-то сравнения - будет совсем чудесно. Сам пользуюсь eAccelerator, правда производительность с ним и без него не замерял
Тоже его буду юзать у себя. Когда нужно было выбирать между eA и apc - перерыл много инфы. большая часть была в поддержку первого. даже котеров чтото там апач с этим еА оживлял. Тот еще некромант)) Хотя знакомый юзает/юзал апс - вроде тоже жалоб не было.
сохраняет в кеше промежуточный байт-код, избегая необходимости компиляции скрипта при каждом вызове Апельсин Читал обзоры на eA, APC и xCache. Обзоры, мягко говоря, неубедительные, потому и непонятливые. везде инфа только из частных бложиков мегакулхацкертруповервебметалпрограммистов, которые то один хвалят, то другой, то третий, ничем не подкрепляя свой выбор
мы использовали в своём проекте для кеширования. кеширование как кеширование для ускорения делали следующее: 1. использовать nginx (т.к. работает быстрее апача) 2. статику отдавать напрямую 3. expire date для статики 1-2 дня 4. хранить статику в двух вариантах - нормальном и gzip, отдавать то, что поддерживает браузер (настраивается в nginx) 5. кеширование сложных запросов в бд 6. кеширование сгенерированных страниц и блоков (т.к. некоторые страницы нельзя кешировать полностью) 7. хранить статику на отдельном домене/поддомене на отдельной машине 8. бд на отдельной машине / кластере акселераторами кода не пользовались, т.к. проект был не на пхп.
Вывод ускоряю минимальной вёрсткой (чем проще страница тем лучше) скорость загрузки в целом выносом статики на другой сервер, скорость генерации ускорять сейчас нигде не приходится (хватает пока этой скорости) во времена далёкие когда сервера были маленькие а скрипты медленные, оптимизировал SQL-запросы.
Короче, такая тема. eA весьма круто ускоряет, по времени в пару раз быстрее код выполнялся, памяти жралось раза 2-3 меньше. Но обнаружил баг, именуемый как "неведомая xyйня", вследствии чего пришлось от него отказаться. Поставил xCache, тоже ускоряет, но слабее чем eA. Но нет бага как в eA. Что касательно apc - думал его тыкнуть, но нашел инфу, что с php-fpm он не дружит и не стал пробовать.
Kreker Есть страница, части которой при onload подгружались аяксом. При рестарте пхп (с включенным еА) вход на сайт происходит без проблем, все отображается. При обновлении страницы часть сайта пропадает, то есть доп. контент не подгружается, ошибок не выдает ни чих-пых, ни nginx, ни еа. Если вручную забить в браузере и попытаться получить ту часть страницы (которая, например, гетом или постом подтягивается) - нгинкс выдает или просто белую пустоту или Bad gateway. Причем, это не на одной той конкретной странице, на некоторых других также - где есть подгружаемый контент или обработка форм через аяксовый обработчик - эти страницы работают с первого раза, но когда попадают в кеш - у них отваливается часть/страницы, которые отдают инфу аяксом. Менял настройки, чистил кеш еа. Погуглил, нашел инфу что еа плохо работает (или вообще не работает) с пхпмайадмин. Сей продукт мне не нужен, но в pma там тоже "составные" страницы с фреймами и т.д. Потому, моим комитетом было принято решение отказаться в пользу xCache.
Стоит apc он дружит с php-fpm, основная проблема в том, что стандартный apc из пакетов крашится при имитации больших хеш таблиц и очень частом вызове функций чтения-записи. Проблема решается минут за 10 скачиванием сорцев и самостоятельным компилированием. Есть несколько способов решить проблему "ускорени вывода страниц" На клиентской части: 1. Сделать валидным html код со strict (тогда браузер будет быстрее парсить и отображать и меньше времени тратить на фантазии интерпретации не валидного кода) - к слову дает очень маленький прирост. 2. Оптимизация javascript обратный инкремент и еше куча вариантов оптимизации, дает ощутимый эффект особенно в firefox (который вешается при обработке большого количества dom элементов). 3. Сокращение объема и сжатие дополнительных подключаемых ресурсов .js .css(сжатие, удаление комментариев и для каждой страницы свой набор функций) картинок (которые можно было бы объединить в спрайты). На сервере: 1. Отключение журналирования файловой системы(ускоряет при наличии очень больших объемов инфомации на винте, но требует бесперебойного блока питания и laptop_mode для сбережения патиния и корректного выключения в случае чего ) и заточкой самой операционки (вплоть до сборки своего монолитного ядра с накатыванием проприетарных драйверов патчами и исключением всего лишнего). 2. explain запросов (правильное расставление ключей, де нормализация базы, поиск нестандартных решений). 3. Конфиг mysql (увеличение объема памяти на кеширование, etc..) 4. Ускорение скриптов (ну слабые места языка и так все тут знают). 5. Кеширование (при больших нагрузках имеет смысл кешировать даже результат изменяющийся раз в 30 секунд). 6. Использование более быстрых и легких http серверов с их специфическими фичами. 7. Решение с помощью доп железа (партицирование, репликация - думаю это заслуживает отдельной темы).
Сейчас попробую поставить скайп, у меня тут новый ноут под альфa версией ubuntu 12.04 с собранным 3.2.1 ядром (сексом занимаюсь короче ).
Один мой знакомый проблему решил просто - при создании новых страниц оригинал хранит в mysql затем сохраняет в отдельном каталоге в обычном HTMLе и именно в таком виде затем "отдает" их юзерам. То бишь полнотекстовый поиск идет по БД, а результат набор обычных HTML-ок. По-моему быстрее чистого html еще никто не придумал.