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

Линейное увеличение количества используемых потоков пула приложений без обслуживания запросов

Вчера днем, после некоторых маркетинговых усилий, мы получили в течение дня трафик выше среднего (но ни в коем случае не опасно высокого).

После того, как этот трафик продолжался некоторое время, мы были предупреждены о том, что один из наших API-интерфейсов (микросервис, который выполняется хотя бы один раз при каждом запросе) некоторое время зависал, а затем возвращал 503 кода ответа.

Эти ответы были получены от балансировщика нагрузки, поскольку он не смог получить ответ ни от одного из двух (идентичных) экземпляров.

Затем мы изучили IIS в экземплярах, где обнаружили, что количество используемых потоков быстро увеличивалось, почти в соответствии с количеством входящих запросов (около 10 в секунду), при этом ни один из запросов не получал ответов.

Мы проверили журналы ошибок (ожидая увидеть хотя бы несколько тайм-аутов или других ошибок), но там не было ничего, что могло бы направить нас в правильном направлении, так как вообще не было зарегистрировано никаких соответствующих ошибок.

Самым странным во всей этой шебанге было то, что проблема, казалось, возникла из ниоткуда (хотя и с увеличенным трафиком), а затем все снова заработало после нескольких часов этого. Это потенциально могло означать, что мы превысили порог, из-за которого IIS странно взаимодействовали с потоками, или это могло быть просто совпадением.

После того, как проблема разрешилась сама по себе, она больше не возникала в том же экземпляре, но проблема проявилась в другом экземпляре, на котором позже была запущена другая микрослужба.

Кто-нибудь видел подобный узор раньше? Или что-нибудь подобное?