我使用 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&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攻击时没有成功。