SOAP - Тайм-аут операции - исключить мой сервер - PullRequest
1 голос
/ 13 июня 2011

Я использую SOAP в C # .Net 3.5 для использования веб-службы от компании, занимающейся видеоиграми. У меня много исключений SOAP с ошибкой «Тайм-аут операции»

Пока один процесс задерживается, другие проходят без проблем. Я хотел бы исключить проблему с моей стороны, но я не знаю, с чего начать. Мой тайм-аут 5 минут. На каждые 5000 запросов может быть 500 неудачных.

У кого-нибудь есть советы по диагностике сбоев веб-сервисов? Владелец веб-службы, вероятно, не поддержит меня в этом, поскольку это бесплатный сервис.

Спасибо

Ответы [ 2 ]

1 голос
/ 13 июня 2011

ОК, это огромный вопрос, и многое может быть.

Обсуждали ли вы HTTP два ограничения на соединение? http://madskristensen.net/post/Optimize-HTTP-requests-and-web-service-calls.aspx

Достаточно ли у вас потоков ввода-вывода, чтобы удовлетворить нагрузку? Используйте мониторинг производительности, чтобы проверить это для вашего пула приложений - я думаю, что есть счетчик потоков ввода-вывода. Быстрый Google поднял это - http://www.guidanceshare.com/wiki/ASP.NET_2.0_Performance_Guidelines_-_Threading

Вы исчерпываете свою пропускную способность? Снова используйте мониторинг производительности, чтобы проверить использование вашей сетевой карты.

Это действительно сложный предмет для текстового обсуждения, так как он так сильно зависит от среды, но я надеюсь, что это может помочь.

Это тоже выглядит интересно - http://software.intel.com/en-us/articles/how-to-tune-the-machineconfig-file-on-the-aspnet-platform/

1 голос
/ 13 июня 2011

Мне пришлось много отлаживать, подключаясь к SOAP-сервису с использованием PHP, и тайм-ауты - худшая проблема.Обычно проблема в том, что «клиент» не имеет достаточно большого таймаута и бомб после 30 с.

Я тестирую звонки с помощью SoapUI.Я продолжаю использовать более высокий тайм-аут на стороне клиента, пока не найду что-то, что работает.Как только я это выясняю, я использую только что найденное время для своего клиента и повторно тестирую.

Ваше единственное решение может состоять в том, чтобы убедиться, что у ваших «клиентов» достаточно большой тайм-аут, который будет работать для всего.Для большинства тайм-аутов на стороне сервера должно хватить 5 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...