我正在测量带宽需求以及当用户数量增加时Web应用程序在响应时间和内存要求方面的行为。
是否有一个特别好的工具可以帮助我们?我相信JMeter是标准工具。但是有没有其他工具考虑该网站只是IE浏览器。
非常感谢您的回答。
答案 0 :(得分:7)
嗯,问题是你想如何描述?你想模拟现实世界的活动吗?或者你只是想轰炸这个网站?
我认为使用Apache Bench (ab
)不会出错。它的使用简单,可以真正强调您的应用。我的典型用法是:
ab -c 10 -n 1000 http://www.example.com/path/to/page
-c
参数是要发出的同时发出的请求数。我建议从低位开始(比如5到10)然后继续努力。观察失败请求的输出和响应率下降。在大多数Linux机器上你只能使用大约1000个连接,所以不要太疯狂。
-n
参数是要发出的请求数。我建议做至少100次连续请求以获得良好的平均值...
apache bench的另一个重要用途是对单个数据库查询进行基准测试。只需创建一个运行查询的简单脚本,然后加载即可。这可以是一种非常好的方法来检测快速但昂贵的查询,这些查询会使您的服务器停止生产,但在测试中似乎很好。
我和WebLoad好运。如果你没有一个可以帮助你入门的好预算,那就有一个开源版本。但我建议为专业版弹跳。有了它,您可以设置一个分布式测试环境(就像在办公室的每台机器上安装客户端一样简单,就像为它驱动一堆虚拟机一样复杂)。
很酷的是,你可以用javascript编程。因此,您可以告诉它随机延迟通过网站随机点击路径。这应该比手动模拟用户好得多。然后,一旦完成设置,将测试推送到分布式引擎并点击go。
它支持许多不同的负载配置文件(在测试期间一点一点地增加负载的阶梯式等)。因此,您可以模拟斜线效果配置文件,正常的日常使用等。
它生成的报告非常有用。它会向您显示缓慢的网址,瓶颈所在的位置等。
还有很多其他测试平台和系统。这只是我发现当时感觉工作得很好的一个(我在2到3年前进行了比较)。我不以任何方式与公司有任何关系。
这是一种非常有用的技术,称为分析。如何和工具是相当语言的,所以我不会在这里详细说明(因为你的问题上没有语言标签)。但重点是,一旦找到慢速页面,您需要对其进行分析以找出减慢速度的因素。然后修复低垂的水果(最慢的部分)。然后重新测试,看看你是否有所作为......
由于模拟现实世界的负荷几乎是不可能的,因此这更像是一门艺术而非一门科学。拥有它,并享受乐趣。不要认真对待结果,即使进行了最好的测试,你也可能会错过某些东西 ...所以我不会把它当作福音来告诉CEO你测试过了它能够容纳100k用户。从崩溃发生的那天起(如果你很幸运会崩溃),他会责备你,因为你告诉他它会起作用......
答案 1 :(得分:0)
只是一个想法,你说IE只是因为它托管在IIS?如果是这样,那么你可能想看看Microsft的WCAT(Web容量分析工具),更多信息可以在这里找到:
http://support.microsoft.com/kb/231282
虽然它不是开源但它是免费的 - 你需要源吗?