Arhn - архитектура программирования

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

  • The CMS is Elxis, which comes from a variant of Joomla (PHP).
    • The server is running nGinx with PHP-FPM
    • Все запросы регистрируются и выполняются, в конце концов, НО!!!

При запуске определенного запроса через строку 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

10.04.2015

  • Дубликат, опубликованный в разделе «Сбой сервера» NGINX / PHP-FPM: Ajax медленный первый запрос, хорошие следующие. 10.04.2015
  • @Paul, stackoverflow предназначен для кода, ошибка сервера - для служб. Пожалуйста, помогите мне выбрать, какой из них имеет место, и я удалю неактуальный один из двух постов. 11.04.2015
  • ты узнал? у меня очень похожая проблема 15.09.2015
  • Мне придется поискать, это была работа для друга, и с тех пор я ничего не слышал об этом проекте... Я сообщу вам об этом. 16.09.2015
  • Вы нашли решение? У меня такая же проблема, и я застрял... Спасибо! 24.10.2016
  • Я видел похожую проблему, которая проявлялась только в Chrome и была связана с бесконечной прокруткой. Я думаю, что несколько недель/месяцев назад за это была назначена еще одна награда. Это бесконечная прокрутка, которая потенциально может быть поставлена ​​на карту в вашем коде? 28.01.2018
  • не могли бы вы поделиться образцом URL вашего приложения, чтобы воспроизвести проблему 30.01.2018
  • @Orchid, Нет, потому что это было бы в бэкэнде, администрировании CMS. Во всяком случае, это проект, которым я уже давно не занимаюсь. 30.01.2018
  • @RubyRacer, вы пробовали использовать новый плагин JQuery? 02.02.2018
  • Возможно ли, что вы отправляете много данных с вашим запросом? Я думаю, что нет, но, возможно, поможет следующее: преобразовать ваши данные в json JSON.stringify(data); Добавьте тип содержимого «application/json» в свой запрос ajax, чтобы убедиться, что ваш сервер интерпретирует входящие данные как json. 02.02.2018
  • Люди, я от этого в течение некоторого времени. Я не тот, кто установил награду. 03.02.2018
  • (Я знаю, что OP будет уведомлен об этом, но избежать этого невозможно). Исходный вопрос указывает, что запрос появляется в журнале браузера, но не в журналах сервера, однако нам нужно знать, в какой момент сервер регистрирует запрос. Это сразу после попадания или это журнал FPM? Если это первое, то проблема вряд ли будет на стороне сервера, а скорее промежуточная. 03.02.2018
  • @apokryfos, я сказал это только потому, что меня пометил praneeth. У меня нет проблем с уведомлением. Что касается вопроса, то на стороне сервера не было обнаружено никакой сетевой активности. Я использовал tcpdump для захвата активности TCP. Не было ни одного, а потом, спустя много времени, появилось. Все это описано в вопросе. 03.02.2018

Ответы:


1

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

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
02.02.2018
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..