2014-11-29 3 views
0

У меня следующая ситуация:Nginx PHP-FPM кэш же несколько запросов в секунду

создан веб-сайт аукциона, где все пользователи подключены сделать Ajax запрос на сервер каждые 2 секунды.

Данные изменяются каждые 2 секунды, поэтому их нельзя кэшировать в течение длительного времени, поэтому мне было интересно.

Что бы быть лучшим способом для достижения этой цели:

Если у меня есть 200 запрос в ту же секунду, служить им один и тот же ответ, вместо того, чтобы продолжить игру PHP и подключение к MySQL, чтобы получить результаты.

Так что я не знаю, можно ли это сделать с такой небольшой продолжительностью кеша в 1 секунду, также я не знаю, что лучше использовать, что-то на стороне Nginx или что-то на стороне PHP такой как APC.

Любые идеи? имеет ли это смысл?

Моя проблема заключается в том, что я попытался настроить Nginx и php-fpm, и сейчас он может обрабатывать 200 запросов в 2000 мс, при 500 запросах - около 5000 мс, поэтому я ищу способ ускорить работу и обрабатывать как можно больше запросов в секунду.

Update:
Сайт работает на Symfony2 так что любые предложения, связанные с ним, также приветствуется.

Обновление 2 !!!
Я переместил часть приложения, которое обрабатывало запрос ajax в один файл php, без использования рамки Symfony2. Он выполняет 3 sql-запроса и возвращает ответ json. Теперь он может обрабатывать 1000+ запросов со скоростью 150 мс/секунду, это действительно невероятно. Я думаю, что Symfony2 действительно нуждается в настройках, чтобы иметь возможность сделать то же самое, и я думаю, проблема была не в php, а во всей памяти, используемой инфраструктурой.

ответ

0

Vanilla PHP, конечно, быстрее, чем любая PHP-инфраструктура, но сохранение десятков таких скриптов является болезненным. Вы можете использовать Symfony и использовать Varnish для обработки тяжелой нагрузки. Кэш TTL может составлять всего 1 секунду, а с Varnish вы можете обрабатывать тысячи запросов.

Смежные вопросы