【发布时间】:2009-06-11 19:57:17
【问题描述】:
我的网络应用程序几乎完全基于 AJAX,其中数据通过网络服务获取并通过 JSON 返回。
我正在使用 WAST 进行压力测试,但我确信有更好的工具来完成这项工作。
有人推荐吗?
谢谢
【问题讨论】:
标签: ajax web-applications stress-testing
我的网络应用程序几乎完全基于 AJAX,其中数据通过网络服务获取并通过 JSON 返回。
我正在使用 WAST 进行压力测试,但我确信有更好的工具来完成这项工作。
有人推荐吗?
谢谢
【问题讨论】:
标签: ajax web-applications stress-testing
Ryan 推荐了 Selenium,它不是传统的负载测试工具。他是正确的,在目前所有的建议中,它是迄今为止处理 AJAX 方面最好的。原因是 Selenium 驱动一个真正的 Web 浏览器,并且可以通过编程“等待”AJAX 事件的发生,例如“DIV”元素弹出或消失。
这种方法的问题在于浏览器会占用大量资源。您不能在单个服务器上运行超过 2-3 个 - 远远少于您可以使用 JMeter 运行 VU。这就是我创建 BrowserMob 的原因,这是一个非常适合 AJAX load testing 的服务。
作为 Selenium RC 的共同创建者,我觉得使用云计算是“有你的蛋糕,也吃它”的好方法。使用云中的数百台计算机,您可以从真正的浏览器生成大量负载,这些浏览器非常容易处理 AJAX。要了解有关此主题的更多信息,请查看我为 Ajaxian here 撰写的文章。
【讨论】:
ab Apache Benchmarking 工具可以发送自定义标头,为发布数据获取文件参数,并为您将结果写入 CSV。如果您精通命令行,那就太好了。 man ab 了解更多信息。
【讨论】:
看看 loadrunner。
【讨论】:
看看 LoadBooster(https://www.loadbooster.com)。 LoadBooster 利用无头脚本浏览器 PhantomJS 来测试网站。 Phantomjs 将解析和渲染每个页面,执行客户端脚本。无头浏览器方法更容易编写测试场景以支持复杂的 AJAX 繁重的 Web 2.0 应用程序,浏览器导航、鼠标点击和击键进入浏览器或等到元素存在于 DOM 中。
免责声明:我为 LoadBooster 工作。
【讨论】:
看看WebLOAD——我在AJAX重度网站上用过。
【讨论】: