Веб-сервис SOAP, возможен ли тест производительности? - PullRequest
4 голосов
/ 26 июля 2011

У меня есть веб-служба SOAP, написанная на Java и использующая Spring-ws.

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

-Что касается увеличения производительности, связанного с моим Java-кодом и архитектурой, что я могу улучшить?

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

Спасибо

Ответы [ 4 ]

4 голосов
/ 27 июля 2011

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

Что вы хотите сделать, так это убедиться, что любой выбранный вами инструмент соответствует техническим потребностям правильного использования вашего интерфейса, хорошо соответствует вашим внутренним навыкам и содержит отчеты, необходимые для определения успеха илинеудача в ваших усилиях по тестированию.Если вы получаете инструмент, который не соответствует ни по одному из трех направлений, то вы, возможно, также купили самый дорогой инструмент на рынке и наняли самую дорогую консультационную форму, чтобы использовать его ... сортировать или как гвозди сторец отвертки вместо того, чтобы использовать подходящий инструмент (молоток).

У большинства коммерческих инструментов на рынке сегодня есть варианты аренды / аренды для краткосрочного использования, а затем есть варианты с открытым исходным кодом, такие какЧто ж.У каждого инструмента есть спроектированная эффективность, связанная с основными задачами, такими как создание сценария, построение теста, выполнение теста и анализ, который отличается от инструмента.Коммерческие инструменты, как правило, имеют более сбалансированный вес по всем задачам, в то время как инструменты с открытым исходным кодом, как правило, имеют более высокий LsOE, необходимый для краевых задач создания и анализа сценариев.

Учитывая, что вы собираетесь работать как минимум с несколькими миллионами выборок (при условии, что вы захотите работать не менее 24 часов), вам необходимо убедиться, что инструменты анализа имеют наглядный послужной список.с большими наборами данных.Все давние коммерческие инструменты тестирования производительности имеют наглядные результаты на этом уровне, инструменты с открытым исходным кодом поражают и пропускают, а в некоторых случаях анализ превращается в самостоятельное предложение против зарегистрированных данных времени отклика.Здесь вы можете увидеть, как можно потратить много времени на создание собственного механизма анализа!

То, что вы хотите сделать, технически возможно.Вы можете пересмотреть свои требования к производительности, вот почему.Мне довелось работать с организацией, которая сегодня использует интерфейс веб-сервисов для обслуживания потребностей клиентов по всему миру.Их внутренний архив транзакционных данных приближается к 250 ТБ данных за десять лет работы.На почасовой основе в течение прошлого года максимальная отметка составляла около 60 тыс. Запросов в час.Прогнозируемый на 24-часовой основе, это все равно обрабатывает менее 2 миллионов запросов в день.Если вы проводите тестирование до этого уровня и обнаруживаете проблемы, вы обнаруживаете подлинные проблемы или находите технических призраков, то, что никогда не произойдет в производстве из-за различий между производством и объемом испытаний.Правильно моделировать нагрузку всегда сложно, но время, потраченное на нахождение модели нагрузки для вашего сочетания транзакций и правильного объема, будет хорошо потрачено на то, чтобы не использовать свои навыки разработчика для погони за призраками производительности и сокращением бюджета при этом.

Удачи!

3 голосов
/ 26 июля 2011

Вы также можете использовать StresStimulus , который является плагином для Fiddler

2 голосов
/ 27 июля 2011

Имейте в виду, что 1 день (24 часа) - это большая выборка. Я подозреваю, что 2 000 000 показов не будут равномерно распределены в течение 24 часов. Постарайтесь понять, как будет выглядеть трафик. Например, если половина трафика поступает между часами с 1:00 до 4:00 (например), вам нужно проверить 1M попаданий за 3 часа и 2M за 24.

1 голос
/ 26 июля 2011

SOAPUI сможет помочь вам в нагрузочном тестировании вашего веб-сервиса, вычисляя мыльное сообщение от wsdl:

Apache JMeter, которыйэто инструмент для тестирования производительности / нагрузки, который поможет вам загрузить его с помощью сэмплера мыла или обычного сэмплера HTTP:

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