负载测试工具Symfony2支持执行Javascript的网站?

时间:2017-01-19 17:08:41

标签: performance load-testing

那里的大多数工具似乎都没有解释我想要测试的页面上加载的jQuery / Javascript代码。然而,这很重要,因为该代码将在我的webapp中启动对其他端点的多次调用,这会增加现实生活中的负载。

我已经看过JMeter并且有点不情愿尝试,因为着陆页明确提到它根本没有进行Javascript解释。

通过包含Javascript代码可以提供更准确的负载测试测量的工具建议是什么?

3 个答案:

答案 0 :(得分:0)

没有任何负载测试工具真正执行JavaScript,它们都在协议级别上运行,而JavaScript正在由浏览器执行。

如果您想要100%真实的测试,有三个选项可以继续:

  1. HP LoadRunner具有TrueClient协议,该协议基本上是具有JavaScript功能的无头浏览器。
  2. JMeter with WebDriver Sampler插件 - 从JMeter测试中启动真实浏览器的方法
  3. Selenium Grid(或其他方式一次启动多个Selenium实例)
  4. 以上所有3个选项都是非常资源密集型,对于单个浏览器实例,您将需要至少1个CPU核心和几个千兆字节或RAM,因此我建议采用一些不同的方法。 JMeter无法执行JavaScript,但它可以执行JavaScript驱动的HTTP请求,因此使用JMeter(或等效的)创建主要负载,并且在负载测试运行时使用Selenium自动检查实际浏览体验或YSLow手动执行相同操作。

答案 1 :(得分:0)

负载测试工具不会执行JavaScript。
您知道JavaScript代码正在使用哪些端点,因此只需将这些端点添加到JMeter方案中即可。

答案 2 :(得分:0)

自20世纪90年代初以来,传统的胖客户端 - 服务器应用程序出现了胖客户端问题。实际上,最早的商业工具都是在添加API级虚拟用户功能之前在X Windows上驱动完整客户端。在商业方面,这种驱动全厚客户端的能力仍然表现为GUI虚拟用户(Mercury / HP / Microfocus LoadRunner,Segue / Borland / Microfocus Silk Performer,Rational / IBM Performance Tester),可以衡量API和用户级别,如果需要。

对于给定的业务流程和数据集,最终客户端可以预测其行为,以及它对向其提供数据的服务器的请求。可能有一些奇怪的情况,你需要从JavaScript到C再现一个算法(甚至直接在某些工具中运行它),以便在一种API / HTTP请求上进行分支,但这些并不多。