如何性能测试端点?
问题描述:
我改变了端点中的一些缓存逻辑,我想对它进行性能测试。服务器在Heroku上。我如何测试这个端点?我可以使用哪些工具?如何性能测试端点?
我知道ab apache工具。还有什么?
ab
实际上并没有达到终点。当我向localhost发出请求时,似乎并没有提出真正的请求。有任何想法吗?
答
你在哪里跑ab
?除非您在终止与API端点的客户端连接的同一台主机上运行它,否则不能将其指向本地主机。
如果你正在寻找的工具性能测试的API,我可以推荐看这些:
- WRK:https://github.com/wg/wrk - 让你的脚本在Lua
- 测试磨床:http://grinder.sourceforge.net - 让你的脚本你的测试在Python/Jython的
- K6:https://k6.io - 让你的脚本在Javascript测试中
完全disclo当然:我参与k6项目。以上所有都是开源工具,它们都允许你用真实代码编写测试用例,这是我认为非常有用的。如果你不希望/需要在实际的代码编写测试用例,还有其他一些工具,你可以使用:
- 贝吉塔:https://github.com/tsenart/vegeta
- 嘿:https://github.com/rakyll/hey
- Apachebench你已经知道
然后有一些工具比Jmeter,Gatling,Tsung更简单,更适合测试网站,而不是简单或自动的API终点测试(在我看来)。还有一些适合于API测试的工具,但由于性能不佳,测量结果有些偏差,比如炮兵,围攻和蝗虫。