Locust — инструмент для тестирования производительности с открытым исходным кодом.,Может помочь вам смоделировать большое количество пользователей, обращающихся к веб-серверу.,Отслеживайте и сообщайте время ответа каждого пользователя. Он использует язык программирования Python для написания,Позволяет тестировать Скрипт с помощью Python. Locust можно легко расширить,для поддержки любых пользовательских утверждений,преобразование ответа,моделирование,распределенные исполнения или интеграция сторонних сервисов и т. д.
Locust может помочь вам смоделировать пользовательскую нагрузку и протестировать производительность и надежность ваших веб-сайтов и сервисов. Это может помочь вам выявить проблемы с задержкой, возникающие при большой нагрузке, и устранить их. Locust также может помочь вам выявить низкопроизводительные или ненадежные веб-сайты или приложения и предоставить вам моделируемую среду нагрузки, которую вы можете использовать для стресс-тестирования.
Locust имеет мощный API Python, который позволяет вам писать собственные моделируемые поведения пользователей, не требуя каких-либо знаний по управлению тестами. Его удобный интерфейс помогает быстро проводить повторяющиеся стресс-тесты и получать полезные отчеты.
Официальный адрес сайта: https://locust.io/
представлятьиспользовать: https://docs.locust.io/en/stable/
И Locust, и JMeter можно использовать для стресс-тестирования. Но между ними есть некоторые очевидные различия:
адрес github: https://github.com/locustio/locust
Используйте команду pip3 Установить следующим образом:
pip3 install locust
Если Установить linux не удается, значит, gcc Order отсутствует.
Вы можете обратиться к решению «Установить Отладочный пакет Python».
sudo yum install python-devel
sudo yum install python3-devel
существоватьбегатьвперед,Давайте узнаем locust изисполняемый параметр, саранча существует 1.x версия и 2.x Параметр версии несколько отличается. Поэтому при учебе все используют locust --version Команда для проверки номера версии инструмента.
Можно использовать locust --help Параметр командной строки вывода команды. Ниже приведены некоторые часто используемые параметры выполнения:
параметр | описывать | единица |
---|---|---|
-u NUM_USERS, --users NUM_USERS | Пиковое количество одновременных пользователей | числоединица |
-r SPAWN_RATE, --spawn-rate SPAWN_RAT | Скорость создания пользователей (пользователей в секунду). В основном используется с --headless или --autostart. | числоединица |
-t RUN_TIME, --run-time RUN_TIME | В указанное время (например, 20 минут, 3 часа, 1 час 30 минут и т. д.). Только с --headless или --autostartзапускать。По умолчанию навсегдабегать。 | числоединица |
-H HOST, --host HOST | Адрес доменного имени интерфейса | нить |
-f LOCUSTFILE | Скрипт-файл | абсолютный адрес |
--config CONFIG | Конфигурационный файл | абсолютный адрес |
Завершите настройку параметра инструмента и давайте посмотрим на результаты испытаний под давлением, связанные с параметром.
параметр | описывать |
---|---|
Type | Тип запроса, например GET/POST. |
Name | запрошенный путь |
request | Количество отправленных запросов |
fails | Количество неудачных запросов |
Median | Среднее время ответа (единица: миллисекунды) |
Average | Среднее время ответа (единица: миллисекунды) |
Min | Минимальное время ответа на запросы (единица: миллисекунды) |
Max | Максимальное время ответа на запросы (единица: миллисекунды) |
reqs/sec | Количество запросов в секунду |
locust Исполнение делится на Есть страницыиз Нет страницы, вы можете выбрать разные методы в соответствии с вашими потребностями.
Есть Как сказать страница locust Основной особенностью инструмента является то, что он может просматривать ситуацию с измерением давления в режиме реального времени, что лучше, чем jmeter Это лучше и больше подходит для новичков.
Используйте следующую команду:
locust -f locust_test.py --host=http://10.30.30.85:9200 --web-host=127.0.0.1 --web-port=8088
После запуска команды в браузере текущего компьютера откроется веб-страница. Порт — 8088. Если порт занят, необходимо вручную убить порт.
Нет страница также известна как безголовая, существует дополнение командной строки --headless параметр, особенность в том, что он не откроется web странице результат выполнения выводится на конечной странице. Подходит для краткосрочного стресс-тестирования. При наличии других платформ для сбора результатов тестирования не требуется. web Платформа для просмотра данных.
locust -f locust_test.py --headless --host=http://10.30.30.85:9200
locust Еще одна особенность написать тест Скрипт Можно использовать замену файла Python по сравнению с jmeter писать jmx Файлы будут свободнее, потому что locust основан на python Разработан на языке, поэтому идеально подходит для тех, кто уже освоил его. python Одноклассники по языку.
Демо-код выглядит следующим образом:
# coding=utf-8
import os
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# Отключить предупреждения запросов безопасности
from locust import HttpUser, TaskSet, task
class DramaFinishTask(TaskSet):
# Предварительная обработка
def on_start(self):
print("Начни звонить")
# постобработка
def on_stop(self):
print("Хватит звонить")
# вес, коэффициент исполнения
@task(1)
# Методы, подлежащие тестированию
def test(self):
# Запрошенный URL-адрес интерфейса
req = self.client.head("/xxxxx", verify=False)
if req.status_code == 200:
print("success")
else:
print("fails")
class DramaFinish(HttpUser):
tasks = [DramaFinishTask]
min_wait = 100
max_wait = 800
# Установите интервал между запросами
# wait_time = between(1, 1)
wait_time = constant(1)
Как видно из приведенного выше кода, саранча Скриптписать по наследству HttpUser Свойства и написание методов тестирования, self.client использовать и python requests Библиотеки относительно похожи. Окончательное выполнение осуществляется через locust -f осуществлять Скриптбегать。
locust Он также поддерживает распределенное испытание под давлением. Особенно, когда одного генератора давления недостаточно, можно объединить несколько машин для совместного проведения испытаний под давлением. и slave испытание под давлением 。
Выполните главную команду на главной машине.
locust -f locust_test.py --web-host=10.30.130.91 --web-port=9088 --master
Выполните следующую команду в подчиненной команде
locust -f locust_test.py --worker --master-host=10.30.130.91
Если работает несколько подчиненных устройств, будут отображаться несколько номеров подчиненных клиентов.
Эта статья в основномпредставлять Вниз Locust Использование инструмента для начинающих, если вы заинтересованы в jmeter Студентам, имеющим определенные знания, будет очень легко учиться.
Кроме того, многие студенты спросят, нельзя ли использовать jmeter для стресс-тестирования? Зачем нам изучать некоторые инструменты Locust? Тогда я отвечу с нескольких сторон?
конечно Locust тоже не новый инструмент,существование обычно используется в промышленности,Эта статья заканчивается здесь,Желаю всем счастливого Фестиваля фонарей~,Желаю вам удачной работы и крепкого здоровья в новом году.
Связанные рекомендации
Помните стресс-тест протокола MQTT.
Многосценарная практика автоматического тестирования интерфейсов - Предыдущая статья
Многосценарная практика автоматического тестирования интерфейсов - Следующая статья