我正在寻找一种对web应用程序进行压力测试的好方法。基本上,我在搜索一个类似ab的具有脚本化界面的für。理想情况下,我想定义一些任务,模拟网络应用程序上的不同操作(注册帐户、登录、搜索等),该工具运行一堆执行这些任务的进程*。因此,我想要一些类似"平均请求时间"、"最慢请求(每个uri)"等的东西。
*:为了独立于客户端带宽,我将从一些EC2实例运行这些测试,所以在完美的世界中,该工具已经支持了这一点——否则我将使用boto编写脚本。
如果您熟悉python请求包,那么在.中编写负载测试非常容易
http://locust.io/
我用它来编写我们所有的性能测试。
您可以查看以下工具:
-
palb(PythonApacheLikeBenchmarkTool)-具有命令行接口的HTTP基准测试工具类似于ab。
它缺乏ab的高级功能,但它支持多个URL(来自参数、文件、stdin和Python代码)。 -
Python中的多机械化性能测试框架
Multi-Mechanical是一个用于性能和负载测试的开源框架。- 运行并发Python脚本以针对远程站点或服务生成负载(合成事务)
- 可用于针对可从Python访问的任何远程API生成工作负载
- 测试输出报告保存为HTML或JMeter兼容的XML
- 运行并发Python脚本以针对远程站点或服务生成负载(合成事务)
-
Pylot(Python负载测试仪)-Web性能工具
Pylot是一个免费的开源工具,用于测试web服务的性能和可伸缩性
它运行HTTP负载测试,这对于容量规划、基准测试、分析和系统调优非常有用
Pylot生成并发负载(HTTP请求),验证服务器响应,并生成带有度量的报告
测试套件通过GUI或shell/控制台执行和监控。
(GoogleCode上的Pylot) -
研磨机
默认的脚本语言是Jython
非常紧凑的操作指南 -
Tsung
第一次使用可能有点不寻常,但对于压力测试来说真的很好
分步指南。
+1表示上面答案中的第io位。
我推荐JMeter。
请参阅:http://jmeter.apache.org/
您可以将JMeter设置为浏览器的代理,以记录登录等操作,然后对web应用程序进行压力测试。您也可以为其编写脚本。
别忘了FunkLoad,使用非常容易