实际挑战: 我有一个LR脚本,针对被模拟的应用程序运行,但还没有注销按钮。 测试运行正常,响应时间稳定约10分钟,但之后响应时间达到峰值,服务器内存占用率达到99%,事务开始失败。 我怀疑这是由于脚本在每次运行后都没有终止vuser,因为它会针对未终止的服务器构建大量运行会话。但我可能错了。 无论如何,在竞争业务流程之后,我想以编程方式关闭每一次运行。 我有红色的地方,web_set_sockets_option(“SHUTDOWN_MODE”,“ABRUPT”)可以用于此,但我想确保这个功能实际上做我想要的和'ABRUPT'是什么意思? 是否有更好的方式来结束会议?在录制期间单击关闭浏览器不会导致脚本中捕获任何内容。
答案 0 :(得分:1)
这是会话老化的服务器问题。您的网站的服务器管理员可以调整在给定会话中未发生任何活动的超时值。默认情况下,大多数地方都设置为30分钟。将其修剪为您需要的内容,而不是取服务器上的默认值。
此外,如果资源在服务器端不断累积但从未发布,您可能遇到了泄漏情况。
答案 1 :(得分:0)
根据您的问题,我假设您使用的是WEB / HTML协议。我同意核心问题是你的应用程序的会话应该更优雅地过期,并且可能更快。但是,为了在测试时超越这一点,你可以试试这个。这不是保证,但在处理类似情况时,它有时对我有用。尝试更改脚本的运行时设置:
运行时设置>浏览器>浏览器仿真
确保选中“在每次迭代时模拟新用户”复选框。您也可以尝试在此处使用其他设置,例如每次迭代清除缓存。这可能会导致每次迭代的网页都有新的连接设置,具体取决于服务器的会话设置。同样,这不是100%,但它不时对我有用。
答案 2 :(得分:0)
试试这个:
web_set_sockets_option("CLOSE_KEEPALIVE_CONNECTIONS", "1");