Назад | Перейти на главную страницу

NGINX / PHP-FPM: Ajax медленный первый запрос, хорошие следующие

При запуске определенного запроса через строку URL-адреса запрос выполняется немедленно. Однако при запуске через ajax (через jQuery) тот же запрос ведет себя очень странно.

А именно: первый запрос (в медиа-менеджере) на просмотр деталей изображения должен быть запущен с помощью Ajax. Он регистрируется в браузере, но не на сервере ... Еще нет ... Через несколько хороших 40-50 секунд запрос появляется на сервере, а затем немедленно откликается.

Все последующие запросы выполняются немедленно, без проблем. Только первый грубый ..

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

Это не маршрутизация (сайт уже запущен и запросы обслужены), это не разрешение (ip находится в моем файле / etc / hosts).

И чтобы добавить немного вишенки поверх торта, попытка захвата пакетов (tcpdump) на сервере не дает результата: запрос еще не здесь ... Пробовал также на клиенте: нет вывода - по крайней мере 40 секунд .. .

Это все в браузере, консоль разработчика не показывает ошибок, только ожидающий запрос.

Что-нибудь из этого звонит кому-нибудь?

The server:
nginx version: nginx/1.6.2
PHP 5.6.7-1 (cli)
PHP 5.6.7-1 (fpm-fcgi)

jQuery версии 1.11
Клиент: пробовал на Firefox 39 (ubuntu) и Chromium 41

Примечание: я задал тот же вопрос о stackoverflow, так как не могу четко понять, виноват ли это код или архитектура ...

Я столкнулся с подобной проблемой, и в итоге я увеличил количество рабочих php-fpm. Я использовал следующие настройки в www.conf (pool.d), чтобы решить проблему, с которой я столкнулся. У меня была настройка сервера аналитики, который отслеживал просмотры страниц, и была задержка в 15-20 секунд в API, записывающем просмотры страниц. Настройка следующих параметров решила мою проблему, возможно, это может вам помочь.

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3