Высоконагруженный проект на PHP (Apache)

Подскажите, в какую сторону и как развивать проект, если кэширование и различного рода оптимизация кода - пройденный этап. Насколько я понимаю, раз из PHP уже выжать больше нечего, значит надо смотреть в сторону Apache и распределенной нагрузки, т.е. имеем несколько серверов и запросы пользователей равномерно идут между ними. Чтобы почитать на эту тему? Кто как с этим справлялся?

З.Ы. Помнится мне, есть такая конференция - Highload. Где бы архивы выступлений нарыть? ;)

1 ответов


Посмотрите в сторону nginx+php-fpm, в высоконагруженных системах от апача уже потихоньку отходят или переводят его на бэкенд, выставляя впереди легкие сервера типа nginx или lighttpd.
Убедитесь, что ваш код действительно оптимизирован: воспользуйтесь (k)cachegrind, xhprof.
После профилирования найдите слабое место в системе: диски, память, CPU.
Нелишним также будет провести обзор структуры и производительности БД, если используете MySQL, рекомендую сайт mysqlperformanceblog.com, а также их книгу High Performance MySQL 2 Edition.
Думаю для начала хватит :)
P.S. Сообщество в ЖЖ - ru_highload.


Обычно занозой в производительности является база. Сделайте репликацию, добавьте серверов для базы.
Или это тоже пройденный этап?


Посмотрите в сторону nginx+php-fpm, в высоконагруженных системах от апача уже потихоньку отходят или переводят его на бэкенд, выставляя впереди легкие сервера типа nginx или lighttpd.

Я бы сказал, что в высоконагруженных системах давно уже апач не используют на фронтенде...