Есть ли какая-то польза от добавления небольшой задержки между вызовами веб-службы SOAP? - PullRequest
1 голос
/ 20 апреля 2011

У меня есть скрипт PHP, который делает много последовательных вызовов веб-службы на основе SOAP за короткий промежуток времени; что-то вроде 200 в течение 0,5 секунд. Я заметил, что редко, могут быть ошибки подключения или «фатальные ошибки протокола», возможно, в 1 из каждых 200 запросов. Я задавался вопросом, могло ли это быть, потому что я "забиваю" службу.

Было бы полезно добавить что-то вроде usleep(100); между каждым вызовом SOAP, чтобы уменьшить влияние на службу, или SOAP имеет какую-то встроенную систему буферизации / организации очереди / повторной попытки, чтобы службы не могли быть залил вот так с одного клиента?

Спасибо.

1 Ответ

1 голос
/ 20 апреля 2011

Конкретных ограничений в отношении протокола SOAP нет, ограничение может применяться поставщиком услуг. 200 запросов в течение 0,5 секунд - это довольно много и может привести к сбою одного из ваших запросов из-за нехватки ресурсов сервера.

Если вы контролируете поставщика услуг, я предлагаю оптимизировать ваш протокол, чтобы сделать меньше запросов - объедините множество в каждом запросе.

Если вы не можете изменить протокол, механизм кэширования / прокси-сервер на вашей стороне может ограничить количество запросов. Механизм кэширования может быть реализован с помощью memcached, базы данных или даже файлов, сохраненных во временной папке на вашем веб-сервере. Прокси-сервер, такой как Squid, будет более чем доволен, передавая запросы SOAP.

В производственной среде запрос страницы от клиента, который зависит от 200 последующих запросов SOAP, будет очень плохо масштабироваться. Я советую вам улучшать свое приложение, чтобы по возможности делать меньше запросов, используя один из методов, описанных выше. Как только это будет оптимизировано настолько, насколько это возможно, тогда посмотрите на улучшение поставщика услуг.

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