задержка обработки входящего soap
От: Kubroid  
Дата: 22.11.11 12:42
Оценка:
приветствую!

имеем:
MS windows server 2008 R2 enterprise + iis 7.5
на нем работает маленький web сервис, суть которого получать soap запросы и конвертировать их на вызов .net remoting и отправлять результат опять же через soap.

суть проблемы:
на нагрузке 60 запросов в секунду наступает ситуация, при которой между soap запросом и soap ответом образуется пауза в 20 секунд (по данным apache jmeter).
при этом в логе сервиса видно, что он работал в среднем две секунды, 99% этого времени — remoting.
сопоставив логи варшарка и сервиса видно, что пауза имеет место быть перед началом выполнения сервиса.

если ремотинга нет (заворачиваю ответ внутри web сервиса)- проблемы нет.
если ремотинг выполняется быстро — проблемы нет.
трабл возникает только если сервис на ремотной стороне выполняется более менее долго...

посоветуйте плиз куда копать?!
голова пухнет.
Re: задержка обработки входящего soap
От: Lloyd Россия  
Дата: 22.11.11 14:51
Оценка:
Здравствуйте, Kubroid, Вы писали:

K>посоветуйте плиз куда копать?!


Может thread pool забит запросами, ждущими ответа от remoting-овых сервисов?

Попробуйте для проверки заменить remoting-овые вызовы на банальный Thread.Sleep на какое-то длительное время. Если проблема повторится, то здесь и надо копать.
Re[2]: задержка обработки входящего soap
От: Kubroid  
Дата: 22.11.11 15:24
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Kubroid, Вы писали:


K>>посоветуйте плиз куда копать?!


L>Может thread pool забит запросами, ждущими ответа от remoting-овых сервисов?


L>Попробуйте для проверки заменить remoting-овые вызовы на банальный Thread.Sleep на какое-то длительное время. Если проблема повторится, то здесь и надо копать.


поставил паузу 2 сек.
вот такая картина http://imageshack.us/photo/my-images/528/jmeter1.png/

судя по всему ремотинг не при чем.
можно чуть подробнее куда теперь смотреть/что подкрутить ? я в дотнете & co очень слаб — случайная задача

спасибо за ответ!
Re[3]: задержка обработки входящего soap
От: Lloyd Россия  
Дата: 22.11.11 15:33
Оценка:
Здравствуйте, Kubroid, Вы писали:

L>>Попробуйте для проверки заменить remoting-овые вызовы на банальный Thread.Sleep на какое-то длительное время. Если проблема повторится, то здесь и надо копать.


K>поставил паузу 2 сек.

K>вот такая картина http://imageshack.us/photo/my-images/528/jmeter1.png/

K>судя по всему ремотинг не при чем.

K>можно чуть подробнее куда теперь смотреть/что подкрутить ? я в дотнете & co очень слаб — случайная задача

Поищите в инете информацию по настройкам размеров thread pool-а.
По хорошему, конечно такие задачи надо делать асинхронно (чтобы потоки обратно в thread pool возвращались), но не уверен, что это будет легко организовать при работе c веб-сервисами (на сервере) и с ремоутингом (с клиента).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.