Что влияет на TPS, удары в секунду при тестировании производительности? - PullRequest
1 голос
/ 22 апреля 2020

Я делаю стресс-тест, чтобы определить максимальное количество TPS (транзакций в секунду), хитов в секунду сервера, делая HTTP-запросы через JMeter.

Когда я запускаю скрипт в Jmeter с разными клиентами (тестируется на одном и том же сервере, один и тот же скрипт), я обнаруживаю, что число tps (или попаданий в секунду), которое может обработать сервер, отличается.

Предположим, что сервер может обрабатывать максимум около 500 TPS при запуске сценария на клиенте 1, 400 TPS при запуске сценария на клиенте 2.

Я очень смущен следующими проблемами:

  1. Почему существует такая разница между двумя клиентами?
  2. Что влияет на TPS, количество обращений в секунду?
  3. Хотя при проведении стресс-теста я обнаружил, что сервер может обрабатывать максимум около 500 TPS, есть ли способ повысить производительность сервера, увеличить максимальное количество tps, которое может обработать сервер?

Заранее спасибо, особенно если кто-нибудь, кто может решить эту проблему для меня !!

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

По моему мнению, разница между двумя клиентами из-за их конфигурации, такой как ЦП, ОЗУ, сеть, жесткий диск и т. Д. c ... Это верно? Я использую та же версия Jmeter при запуске сценария на 2 клиентах.

Когда я запускаю сценарий на моем P C, он все равно может увеличить количество запросов, отправляемых на сервер (я не ограничиваюсь машины), ЦП сервера (или ОЗУ) также очень низок, но число обращений в секунду достигает только 450, но не может увеличиваться дальше. Почему это так?

Большое спасибо за вашу помощь !!!

hits per second

CPU, RAM Of server

0 голосов
/ 22 апреля 2020

Если вы запускаете один и тот же тест JMeter с разных машин и получаете разные результаты, это может быть в случае JMeter не может отправлять запросы достаточно быстро

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

  1. Прежде всего, обязательно следуйте JMeter Best Practices
  2. Затем вам нужно убедиться, что JMeter правильно использует ресурсы операционной системы, возможно, вы захотите увеличить размер JVM Heap и поиграть с конфигурацией Сборщик мусора , чтобы:

    • позволить JMeter использовать не менее 30 и не более 80% общего доступного пространства кучи
    • G C не должно происходить слишком часто, поскольку это "приостанавливает" выполнение JVM
  3. JMeter не должен перегружать базовую операционную систему, у него должно быть достаточно места для работы с точки зрения процессора, оперативной памяти и т. д. c. так что стоит проверить работоспособность ОС, это можно сделать с помощью JMeter PerfMon Plugin
  4. И последнее, но не менее важное, если вы попадаете в пределы машины, которую вы можете рассмотреть запуск JMeter в распределенном режиме , поэтому и client1, и client2 будут выполнять один и тот же тест, предоставляя накопленные 800 TPS или даже больше (если ваш сервер может справиться с такой нагрузкой)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...