我有一个在端口5000上运行的Flask应用程序,它支持7个支持GET请求的不同端点。所以我可以做一个
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上进行这种压力测试?我看到了一个名为siege的工具,但它很难在Mac上使用。
答案 0 :(得分:1)
我会建议使用Apache jmeter。该工具具有Stresstests所需的一切,并且在线记录良好。
您需要安装Java
答案 1 :(得分:1)
不,您需要并行化您的请求。 multi
可以使用{{1}}界面执行此操作。