0

我使用 tsung 进行负载测试。我用 tsung 记录器记录了浏览器的行为。我没有向使用 tsung-recorder 保存的 xml 文件添加任何内容。

XML:

    <session name='rec20200313-1147' probability='100'  type='ts_http'>
    <request><http url='https://www.example.com/' version='1.1' method='GET'>
    <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
    <http_header name='Accept-Encoding' value='gzip, deflate' />
    <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>

    <thinktime random='true' value='10'/>

    <request><http url='https://www.example.com/arama?aranan=example' version='1.1' method='GET'>
    <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
   <http_header name='Accept-Encoding' value='gzip, deflate' />
   <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>

   <thinktime random='true' value='17'/>

   <request>  <http url='/arama?search=loadtest&amp;siralama=1' version='1.1' method='GET'>
  <http_header name='Accept' value='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' />
   <http_header name='Accept-Encoding' value='gzip, deflate' />
   <http_header name='Accept-Language' value='en-US,en;q=0.5' /></http></request>
   </session>

当我尝试用 300 个机器人做这个测试时,用户数量不超过 200,000。这个数字也突然开始减少

例子:

  • 我开始测试。
  • 20,000(10 秒内)
  • 80,000(40秒以内)
  • 170,000(1 分钟)
  • 50,000(超过一分钟)
  • 70,000
  • 100,000
  • 60,000
  • 测试完成

我尝试了许多不同的场景。但我的目标是增加多达 100 万用户。这就是我观察到的一切

拥有我测试过的应用程序的管理员说:

  • 没有阻塞。
  • 您的会话持续时间不会超过 5 秒。

测试结束了。之后,当检查日志时,他们说我得到了 TCP RST 响应

我试图了解这个问题的错误在哪里。

我在 tsung-recorder 中遗漏了什么?如何使用 tsung-recorder 模拟真实的浏览器。为什么我收到 TCP RST 响应?tsung 是否适合我想做的事情。怎么了。

注意:我想进行http get攻击时没有成功。

4

1 回答 1

1

当意外的 TCP 数据包到达主机时,会发生TCP 重置。

可能的原因之一是您用作负载生成器的机器过载,因此请确保设置监控以检查 Tsung 是否有足够的空间来运行 CPU、RAM、网络和磁盘 IO。

如果运行 Tsung 的机器发生过载 - 您将需要添加更多主机并以集群模式运行 Tsung

对于真实的浏览器模拟,您可能需要为每个虚拟用户设置/维护一个独特的会话,在大多数情况下,它是通过Cookies实现的。查看如何使 JMeter 表现得更像一个真正的浏览器文章以获得一般建议,所有这些都可以翻译成 Tsung。

于 2020-03-18T09:35:02.980 回答