代码之家  ›  专栏  ›  技术社区  ›  Sk93

什么工具可以对Web应用程序进行相当复杂的压力测试[关闭]

  •  8
  • Sk93  · 技术社区  · 15 年前

    我是为我们公司开发一种新的基于网络的产品的团队的一员。 虽然我们非常肯定,应用程序将与我们预期的平均10-50个并发用户完美配合,但我们有一个要求,以确保它将继续为1000个并发用户正常工作。

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

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

    你能推荐一些(最好是免费/开源的)程序吗? 商业产品不是一个不可能的选择,但价格不能太高。)

    提前谢谢!

    8 回复  |  直到 12 年前
        1
  •  2
  •   aularon    15 年前

    使用 apache's benchmark tool ab .

    Wikipedia: ApacheBench :

    Apachebench是一个命令行计算机 性能测量程序 HTTP Web服务器,尤其是 Apache HTTP服务器。它被设计成 给出一个性能的概念 考虑到Apache安装可以提供。 特别是,它显示了 每秒请求数服务器是 有服务能力。

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

        2
  •  5
  •   NimChimpsky    15 年前

    Java应用程序的磨床: Grinder

        3
  •  2
  •   Pascal Thivent    15 年前

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

        4
  •  2
  •   CMerrill    15 年前

    您可以尝试Web性能负载测试仪-它是一个中等价位的负载测试产品。它比丝绸表演者或装载机要便宜得多,生产效率也要高得多。它仅限于Web协议,但听起来并不是应用程序的问题。网站上有一些视频可以让您对该工具有很好的感觉: http://www.webperformanceinc.com/load_testing/demo/

    (免责声明:我为网络性能工作,几乎每天都在使用该产品)

        6
  •  1
  •   Venemo    15 年前

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

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

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

    以下是官方介绍:

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

    也许它唯一的缺点是,它一开始就有点被起诉了。这是一个命令行工具,所以它也有点太容易搞砸参数。

        7
  •  0
  •   Yasei No Umi    15 年前

    对于复杂的站点,可以使用WebLoad。这不是免费的,但也不太贵。

        8
  •  0
  •   James Pulley    12 年前

    如果应用程序不起作用/无法扩展,那么财务风险是什么?

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

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

    一般来说,如果风险足够高,值得进行性能测试,那么可靠性能测试的输出值将使部署用于进行测试的任何工具的成本相形见绌。这里要注意的是,你需要有一个坚实的性能工程师来设计和运行测试,因为即使是最便宜的测试工具也能在healm上运行大量的负投资回报率,而一个不太熟练的人会在healm上运行(这种情况经常发生)。