我使用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。而且这个数字突然开始减少
示例:
我尝试了许多不同的方案。但我的目标是增加多达100万用户。这就是我所观察到的全部]
拥有我测试过的应用程序的管理员说:
测试结束。之后,当检查日志时,他们说我得到了TCP RST响应
我尝试了解该问题的错误所在。
我在录音机中缺少什么?如何使用tsung-recorder模拟真实的浏览器。为什么会收到TCP RST响应? tsung是否适合我想做的事情。怎么了。
注意:当我想发起http get攻击时,我没有成功。
TCP Reset在意外的TCP数据包到达主机时发生。
可能的原因之一是您用作负载生成器的计算机过载,因此请确保设置monitoring以检查Tsung是否有足够的空间来运行CPU,RAM,网络和磁盘IO。
如果碰巧正在运行Tsung的计算机超载-您将需要添加更多主机和run Tsung in clustered mode
关于真实的浏览器模拟,您可能需要为每个虚拟用户设置/维护唯一的session,在大多数情况下,它是通过Cookies实现的。查看How to make JMeter behave more like a real browser文章以获取一般建议,所有这些建议都可以翻译成Tsung。