2016-11-28 3 views
-1

Мы проводим тестирование веб-загрузки, чтобы проверить, как работает наш веб-API на конкретном QPS (запрос в секунду).Тестирование веб-загрузки, разница между различными номерами клиентских потоков

У нас есть инструмент для отправки запроса в наш веб-API.

Мои вопросы: Для данного QPS, скажем 100, с разной комбинацией количества клиентских потоков и запросов в потоке, какая разница в отношении веб-API.

например,

  • 1 нить, 100 запросов в секунду на поток
  • 10 нитей, 10 запросов в секунду на поток
  • 20 нитей, 5 запросов в секунду на поток.

Любые различия в пропускной способности веб-сервера API-интерфейса?

ответ

0

Со стороны сервера это не должно быть никакой разницей, однако вы, возможно, не применимы к сценариям. Я не знаю ваших данных «инструмента», но обычно веб-API означает HTTP transport, а HTTP - это протокол «запрос/ответ», поэтому, если вы используете 1 поток, вы не сможете отправить следующий запрос, пока не получите ответ с сервера ,

Обычная «хорошая» практика моделирует нагрузку как можно ближе к реальности, поэтому вам нужно подражать реальному использованию вашего веб-API, иначе ваш тест нагрузки не имеет смысла. Поэтому я бы рекомендовал пересмотреть свой шаблон загрузки, чтобы представить как реального пользователя, так и приложение, которое использует веб-API как можно ближе. См. Testing SOAP/REST Web Services Using JMeter руководство для некоторых идей.

0

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

Инструмент исполнения в основном имитирует пользователей, совершающих клики на веб-сайте, поэтому каждый клик представляет собой запрос.

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

Цель этих тестов - определить, способен ли ваш сайт обслуживать необходимое количество пользователей.

+0

Добро пожаловать в StackOverflow и спасибо за помощь. Тем не менее, ваш ответ, похоже, объясняет цель инструментов тестирования производительности и возможные меры, которые необходимо принять в случае неудовлетворительной скорости. OP, однако, спрашивает о разнице в распределении 100 qps на различное количество потоков. Ваш ответ, похоже, не обсуждает этот конкретный момент и, следовательно, кажется, что он фактически не отвечает на вопрос. – Yunnosch

Смежные вопросы