2017-02-18 4 views
0

У меня есть приложение 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.

+1

Это может помочь: http://locust.io/ – ZdaR

+0

спасибо, именно то, что мне нужно, я думаю! – user3079275

ответ

1

Я бы предложил Apache jmeter. В инструменте есть все, что вам нужно для Stresstests, и хорошо документировано в Интернете.

Вам необходимо установить Java, хотя

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