У меня есть спам в веб-сервисе. Мой (веб-сервис) находится в gsoap & управляемый C++. Это не IIS/apache, но говорит xml. Мой клиент находится в .NET Время вычисления услуги светлое (< 0.1s для подготовки ответа). Я ожидаю, что сервис будет плавным, быстрым и будет иметь хорошую доступность. У меня около 100 клиентов, время ответа 1 обязательное. У клиентов около 1 запроса в минуту. Клиенты проверяют присутствие веб-сервисов с помощью теста tcp open port. Итак, чтобы избежать возможных перегрузок, я превратил gSoap KeepAlive в false. Пока все не работает нормально: я не вижу связи в TCPView (sysinternals)Ухудшение веб-сервиса
Новая специальная программа синхронизации теперь вызывает службу в цикле. Это более высокая нагрузка, но все обрабатывается менее, чем за 30 секунд. С sysinternals TCPView, я вижу, что около 1 000 подключений находятся в TIME_WAIT. Они замедляют обслуживание, и теперь требуется секунд, чтобы служба ответила.
Может быть, мне нужно сбросить соединение SoapHttpClientProtocol? У кого-то есть призраки TIME_WAIT с вызовом веб-службы в цикле?
Я согласен. Я хочу, чтобы KeepAlive = false на стороне сервера, но на стороне клиента, .NET, похоже, предпочитает переработку по умолчанию. Я нашел это решение: http://yakkowarner.blogspot.com/2008/11/calling-web-service-in-loop.html Но он выглядит тяжелым. Я пытаюсь сделать это: http://forums.asp.net/t/1003135.aspx – wiwulo