【问题标题】:What tool(s) for fairly complex stress testing a web application [closed]用于相当复杂的 Web 应用程序压力测试的工具 [关闭]
【发布时间】:2010-09-09 07:56:21
【问题描述】:

我是为我们公司开发新的基于网络的产品的团队的一员。 虽然我们非常肯定该应用程序将在我们预期的平均 10-50 个并发用户的情况下完美运行,但我们需要确保它能够继续为 1000 个并发用户正常工作。

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

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

您能推荐一些(最好是免费/开源)程序吗? 商业产品不是不行,但价格不能太高:)

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    Java 应用程序的研磨机:Grinder

    【讨论】:

      【解决方案2】:

      使用apache's benchmark tool ab

      来自Wikipedia: ApacheBench

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

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

      【讨论】:

      • 他在得到搜索结果后需要“点击一个链接并等待文档加载”,而ab将无法做到这一点。
      • 肯定不会“点击”,但是它会请求一个文档,这就是浏览器在点击时所做的。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:
          【解决方案6】:

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

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

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

          以下是官方介绍:

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

          也许它唯一的缺点是一开始设置起来有点复杂。它是一个命令行工具,所以它也有点太容易搞砸参数了。

          【讨论】:

          • 感谢您的详细回复。我相信这将是我们最终选择的工具:)
          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

            如果应用程序无法运行/扩展,会有什么财务风险?

            性能测试的输出在决定上线或调整|修改现有应用程序方面的财务价值是什么?

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

            一般而言,如果风险高到值得进行性能测试,那么可靠的性能测试输出的价值将使部署用于执行测试的任何工具的成本相形见绌。这里需要注意的是,您需要愿意聘请一位可靠的性能工程师来设计和运行测试,因为即使是最便宜的测试工具也可能在没有足够技能的人的情况下运行显着的负投资回报率(而且这种情况发生了一直)。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-10-24
              • 2014-01-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多