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

Устранение неполадок таймаутов завитков

Я запускаю службу мониторинга SaaS. Наш стандартный пример интеграции - сделать запрос curl на специальный URL-адрес, который мы предоставляем. У нас периодически возникает проблема, когда пользователь достигает 10-секундного тайм-аута завивки (-m 10 param). Однако в журналах моего сервера я вижу, что запросы, обрабатываемые примерно в то время, занимали всего 100–300 мс, что для нас нормально.

Мы действительно видим всплески трафика в начале каждой минуты, но даже в этом случае мы редко занимаем более 1000 мс.

В частности, у нас был один пользователь, который, кажется, подвержен тайм-аутам. Я попросил его указать наш IP-адрес в файле hosts, чтобы убедиться, что это не проблема DNS. (Хотя я очень уверен, что это не DNS).

Я хотел бы получить любые идеи относительно минимально инвазивных способов, которыми я мог бы попросить этого пользователя помочь мне в устранении неполадок. До того, как мы сбросили данные, таймауты Amazon ELB были более распространены (хотя все еще очень редки), и я смог воспроизвести их пару раз, и я увидел очень странные ошибки «тайм-аут 0 мс», как будто соединение было каким-то образом немедленно отклонено, несмотря на 10 секунд. тайм-аут.

В нашем конфиге iptables нет ничего экзотического, только блокировка портов и плохие IP-адреса. Стек веб-сервера - nginx-uwsgi

Проблема для нас оказалась в том, что наша очередь запросов uwsgi заполнялась. Чтобы исправить это, нам пришлось настроить параметр uwsgi и параметр ядра: https://stackoverflow.com/questions/8516516/stuck-at-100-requests-uwsgi