У нас есть веб-сайт C # ASP.NET MVC, размещенный в Azure (служба приложений), который подключается к стороннему REST API. Это всегда работало без проблем, но некоторое время назад сторонние разработчики заменили свой старый балансировщик нагрузки на новый Citrix NetScaler. С тех пор наш веб-сайт обычно работает нормально около часа (в зависимости от трафика), но затем мы начнем получать ошибки:
[SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <ip address>]
Эти ошибки обычно со временем увеличиваются. Он начинается с 1 часа в час, но через 24 часа мы получим около 100 за полчаса.
Если мы затем переключимся обратно на старую конечную точку loadbalancer, ошибки исчезнут, когда мы снова переключимся на новую конечную точку loadbalancer, проблема повторяется. У нас также есть веб-сайт Java 7, размещенный на Google App Engine, который подключается к тому же новому балансировщику нагрузки, но не имеет этой проблемы.
Стороннее лицо находится в контакте со службой поддержки Citrix, но пока ничего с его стороны не обнаружено (подробностей у меня нет).
Я знаю, что это очень расплывчатая проблема, за что прошу прощения. Я надеюсь, что кто-то может понять, почему мы видим это на нашем веб-сайте .NET в Azure, но не на нашем веб-сайте Java Google App Engine. Более того, я попытался найти в Интернете эту проблему, но ничего не нашел. Что кажется немного странным, поскольку я совершенно уверен, что у многих людей есть подобная настройка, но, очевидно, нет проблем. Итак, я хочу задать вопрос: есть ли у кого-нибудь идеи, почему это может происходить? Кто-нибудь, кто знает Citrix NetScaler или сталкивался с подобной проблемой раньше? При необходимости я могу предоставить дополнительную информацию.
Чтобы сузить проблему, я предлагаю сравнить две разные трассировки сетевых пакетов от вашего Netscaler (рабочий сценарий VS не рабочий сценарий) + изучить ns.log, расположенный:
\ var \ log \ ns.log
Также это общедоступная статья для отслеживания следов работы вашего Netscaler: