У меня есть приложение Flask, работающее на порту 5000, которое поддерживает 7 разных конечных точек, которые поддерживают запросы GET. Так что я могу сделатьСтресс-тест веб-сайта с использованием curl в Python
curl http://localhost:5000/get_species_interactions?q=tiger
И после того, как вычисление, оно возвращает страницу. Есть 6 других таких конечных точек, каждый с разной степенью вычисления на заднем конце. Он отлично работает с одним пользователем, но я хочу получить показатели того, насколько хорошо он может работать под нагрузкой. Я пытаюсь подчеркнуть это, смоделировав большое количество запросов, и я думал об использовании скрипта python. Грубый алгоритм, который я имел в виду, это следующее:
while (num_tests < 1000):
e = get_random_end_point_to_test() # pick one out of 7 end points
d = get_random_data_for_get(e) # pick relevant random data to send in curl command
resp = curl(e/q?d)
num_tests++
Мой вопрос: этот общий подход на правильном пути? Он имитирует большое количество одновременных пользователей? Я планировал хранить время, затраченное на выполнение каждого запроса, и вычисление статистики. В противном случае есть бесплатная утилита, которую я могу использовать для проведения такого стресс-теста на Mac OS? Я видел инструмент, называемый осадой, но его легко доступным для Mac.
Это может помочь: http://locust.io/ – ZdaR
спасибо, именно то, что мне нужно, я думаю! – user3079275