Случайные тайм-ауты WCF с помощью Azure Load Balancer - PullRequest
0 голосов
/ 13 декабря 2018

Я получаю случайные тайм-ауты при вызове службы WCF в размещенной среде Azure.Частота проблемы низкая, около 1 или 2 тайм-аута в час, и это не связано с нагрузкой на сервер.Мы используем балансировщик нагрузки Azure (HAProxy) между клиентом и сервером, оба они написаны на .Net framework 4.6.1 и размещены на виртуальных машинах Azure.

На основе трассировок WCF и других журналов,Ситуация выглядит примерно так:

  1. Клиент отправляет запрос без проблем и ждет.
  2. Некоторое время ничего не происходит, это может продолжаться несколько секунд.Во время этого ожидания на клиенте или сервере ничего не происходит.
  3. Сервер получает запросы и разрешает их в обычное время ответа, от 100 до 500 мс, что означает отсутствие проблем с кешем или БД.

Если на шаге 2 у нас будет более 60 секунд, время ожидания клиента истечет, а после этого сервер обработает и ответит на запрос.

Трассировка WCF на стороне серверавыглядит здоровым, даже когда время ожидания истекло, проблема в том, что происходит посередине (шаг 2).

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

Я не знаю, где еще искать.Любая помощь или идея будут очень приветствоваться.

...