用于对Web应用程序进行相当复杂的压力测试的工具

时间:2010-09-09 07:56:22

标签: web-applications open-source load-testing stress-testing

我是为我们公司开发基于网络的新产品的团队的一员。 虽然我们非常积极,但该应用程序可以完美地与我们预期的10-50个并发用户平均使用,我们需要确保它能够继续为1000个并发用户正常工作。

我们主要关注的是从文件系统加载和显示各种文档。要获取文件,用户需要登录,导航到搜索页面,等待搜索完成,然后单击链接并等待文档加载。

我们有SilkTest / TestPartner,它可以配置为完成上述步骤,但我不相信这些工具可以实际用于模拟我们需要的负载。

你能推荐一些(最好是免费/开源)程序吗? 商业产品不是禁止的,但价格不可能是巨大的:)

提前致谢!

8 个答案:

答案 0 :(得分:5)

java应用程序的研磨器:Grinder

答案 1 :(得分:2)

使用apache's benchmark tool ab

来自Wikipedia: ApacheBench

  

ApacheBench是一个命令行计算机   测量性能的程序   HTTP Web服务器,特别是   Apache HTTP Server。它旨在   给出一个关于性能的想法   给定Apache安装可以提供。   特别是,它显示了多少   服务器每秒请求数   能够服务。

您可以为其提供已登录用户的cookie /值对,并将其指向搜索URL,并能够告诉它运行并发连接以模拟并发用户。

答案 2 :(得分:2)

Apache JMeter肯定会支持您的方案并支持Distributed Testing(pdf),这是一种在不同计算机上运行多个代理的模式,因此可以扩展以模拟大量并发用户。

答案 3 :(得分:2)

您可以尝试使用Web Performance Load Tester - 它是一款中等价位的负载测试产品。它比SilkPerformer或LoadRunner便宜得多,而且效率更高。它仅限于Web协议,但这听起来不像是您的应用程序的问题。网站上有一些视频可以让您对该工具有一个非常好的感觉:http://www.webperformanceinc.com/load_testing/demo/

(免责声明:我为Web Performance工作,几乎每天都使用该产品)

答案 4 :(得分:1)

答案 5 :(得分:1)

我建议你试试Microsoft Web Capacity Analysis Tool (WCAT)。它能够同时在多台计算机上运行,​​并且每个客户端可以拥有多个“虚拟客户端”,因此它们能够模拟到Web服务器的多个连接。它可以连接到任何Web服务器(由一些Apache狂热分子使用),但当然它最好地与IIS集成。

它由IIS性能团队开发,并由Microsoft用于对其IIS服务器进行压力测试。它有x86和x64版本,很容易创建自己的扩展。

它的工作方式如下:您可以创建一个方案文件,使用该文件可以描述任意数量的HTTP请求。 (它有GET,POST选项,并且还支持HTTPS。)然后,您可以将这些请求分组到代表一系列模拟用户交互请求的事务。每个虚拟客户端一次运行一个事务,并等待当前请求完成,然后再启动下一个事务 编写包含一系列请求的事务很容易,这些请求可以模拟用户“点击”事物。 (也可以在请求之间“休眠”一段时间,从而模拟用户阅读页面。)

这是官方介绍:

  

Web容量分析工具(WCAT)是一个   轻量级HTTP负载生成工具   主要用于衡量   一个Web服务器的性能   受控环境。 WCAT可以   模拟数千个并发用户   向单个网站发出请求   或多个网站。 WCAT   引擎使用简单的脚本来定义   要播放的HTTP请求集   回到Web服务器。可扩展性   通过插件DLL和一个提供   标准,简单的API。

也许唯一的缺点是,首先要设置它有点复杂。它是一个命令行工具,因此也很容易搞砸参数。

答案 6 :(得分:0)

对于复杂的网站,您可以使用WebLOAD。它不是免费的,但也不是太贵。

答案 7 :(得分:0)

如果应用程序不起作用/扩展,会有什么财务风险?

在决定上线或调整现有应用程序时,性能测试输出的财务价值是多少?

测试结果的财务影响和价值如何与您的工具问题成本相匹配?

一般来说,如果风险高到足以进行性能测试,那么稳定性能测试的输出值将使部署用于执行测试的任何工具的成本相形见绌。这里需要注意的是,你需要愿意带上一个坚实的性能工程师来设计和运行测试,因为即使是最便宜的测试工具也会在一个技术不足的人身上产生很大的负面投资回报率(而且它会发生一直以来。