TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #2468 8.55K
​​Для нагрузочного тестирования сайтов существует много готовых инструментов. Но когда речь заходит о чём-то более сложном, чем простые get запросы к каким-то урлам, ситуация резко меняется. Первым делом на ум приходит популярный JMeter, но взять и сразу написать для него сценарий доступно не только лишь всем.

Компромиссом в этом вопросе может выступать Locust. Это известная утилита для нагрузочного тестирования, написанная на Python. Тесты для неё тоже пишутся на этом же языке, то есть вы ничем не ограничены в своих фантазиях на тему сценариев. А так как пайтон прост как для восприятия, так и написания кода, использовать её не сложно. Я быстро по документации разобрался, как это сделать.

Locust ставится из pip и имеет встроенный веб сервер для запуска тестов и просмотра результатов, поэтому никакой особой настройки не требует. Устанавливаем:
# apt install python3-pip
# pip3 install locust

Теперь надо подготовить сценарий для тестирования. В самом простом случае он выглядит вот так:

from locust import HttpUser, task

class TestUser(HttpUser):
  @task
  def test01(self):
    self.client.get("/")
    self.client.get("/forum")
self.client.get("/about")

Здесь мы просто шлём запросы на три урла: /, /forum, /about. Запускаем locust:
# locust -f locustfile.py
И отправляемся в браузер для запуска теста с указанными параметрами и просмотра статистики - http://0.0.0.0:8089.

В документации подробно разобран формат файлов сценария с готовыми примерами. А так как программа известная, в гугле легко найти много готовых примеров с авторизацией, куками, задержками, возрастанием нагрузки и т.д.

Locust в первую очередь хорош для автоматизации тестирования, во-вторую, для мониторинга. Для него есть готовый exporter для Prometheus. Вы можете регулярно запускать тесты и мониторить результаты. Вот хороший пример по этой теме (тесты api и отправка результатов в prometheus).

Аналоги Locust:
◽ artillery.io
◽ k6
◽ yandex.tank
◽ Taurus

⇨ Сайт / Исходники

#нагрузочное_тестирование
  • 👍 41
  • 👎 2
More from @srv_admin
  1. Sep 25, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  2. Sep 25, 2026Девопсы, сисадмины, архитекторы, техлиды (и вообще все, кто принимает технические или бизн…
  3. Sep 25, 2026Подписчик поделился полезным проектом - Webtop. Это Linux дистрибутив с графикой, упакован…
  4. Sep 24, 2026Траблшутинг - мастхэв компетенция для инженера В Rebrain траблшутинги проводят уже несколь…
  5. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  6. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →