关于Chrome和FF多线程(Process)如何使用Web协议进行负载测试?

问题描述 投票:0回答:2

我想知道是否有人解决了带有负载测试请求响应脚本的浏览器多线程问题

performance testing load performance-testing
2个回答
0
投票

如果您要使用真正的Chrome和FF浏览器进行负载测试,可以考虑以下选项:

  1. Selenium Grid Selenium-Grid允许您在不同的机器上并行地针对不同的浏览器运行测试。也就是说,针对运行不同浏览器和操作系统的不同计算机同时运行多个测试。从本质上讲,Selenium-Grid支持分布式测试执行。它允许在分布式测试执行环境中运行测试。
  2. Apache JMeterWebDriver Sampler插件。通过这种方式,您将能够以HTML Reporting Dashboard的形式控制并发性并获得性能指标。

0
投票

模拟Web浏览器并发性是大多数负载测试工具非常糟糕的事情,如果有的话。我们尝试通过让每个VU(虚拟用户)使用多个并发TCP连接并行获取内容来在k6中执行此操作。有一个特殊的API函数 - http.batch() - 启用此功能。 http.batch()接受多个URL作为输入参数,并且将并行获取尽可能多的URL。

就像Dmitri写的那样,Jmeter有一个提供并发性的插件 - 有点像。然而,它实际上做了什么(除非我被误导)是在多个VU上分散请求。每个VU仍然只使用一个并发连接,这意味着如果您想要模拟100个真正的浏览器用户,您可能需要启动1,000个VU来实现这一目标。在我看来,这与你使用任何其他负载测试工具所获得的并没有太大的不同:所有这些工具都允许你启动更多的VU以创建更多的并发性和更多的流量。

我要说除了k6,可能还有一个或两个其他工具(而Jmeter不是其中之一),如果你想真正模拟浏览器的行为方式,你唯一的选择就是使用Selenium Grid或类似的火大量真实的,实际的浏览器来进行负载测试。缺点是真正的浏览器运行起来非常昂贵:它们需要大量的CPU和内存。但它们提供了迄今为止最好的浏览器“模拟”。

© www.soinside.com 2019 - 2024. All rights reserved.