我有一个在端口5000上运行的Flask应用程序,它支持7个支持GET请求的不同端点。所以我可以做一个在Python中使用curl压力测试网站
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上使用。
这可以帮助:http://locust.io/ – ZdaR
谢谢,正是我所需要的我想! – user3079275