Session LoadRunner中的紧密连接

Session LoadRunner中的紧密连接,session,loadrunner,Session,Loadrunner,实际挑战: 我有一个LR脚本,它运行在一个被模拟的应用程序上,并且没有一个注销按钮(现在还没有)。 测试运行良好,响应时间稳定约10分钟,但之后响应时间达到峰值,服务器进入99%的内存使用率,事务开始失败。 我怀疑这是因为脚本在每次运行后都没有终止Vuser,并且它在未终止的服务器上建立了许多运行会话。但我可能错了。 无论如何,我希望在每个运行完成业务流程后,以编程方式关闭它。 我有一个红色的地方,web\u set\u sockets\u选项(“SHUTDOWN\u MODE”、“trunta

实际挑战: 我有一个LR脚本,它运行在一个被模拟的应用程序上,并且没有一个注销按钮(现在还没有)。 测试运行良好,响应时间稳定约10分钟,但之后响应时间达到峰值,服务器进入99%的内存使用率,事务开始失败。 我怀疑这是因为脚本在每次运行后都没有终止Vuser,并且它在未终止的服务器上建立了许多运行会话。但我可能错了。 无论如何,我希望在每个运行完成业务流程后,以编程方式关闭它。 我有一个红色的地方,web\u set\u sockets\u选项(“SHUTDOWN\u MODE”、“truntant”)可以用于此,但我想确定此函数实际上实现了我想要的功能,以及“truntant”的含义是什么?
是否有更好的结束会议的方法?录制期间单击“关闭浏览器”不会导致脚本中捕获任何内容。

这是会话老化的服务器问题。您网站的服务器管理员可以在给定会话中未发生任何活动的情况下调整超时值。默认情况下,大多数地方将此设置为30分钟。根据需要对其进行修剪,而不是采用服务器上的默认值


此外,如果资源在服务器端不断累积但从未释放,则可能会出现泄漏情况

根据您的问题,我假设您使用的是WEB/HTML协议。我同意,核心问题是你的应用程序会话应该更优雅地过期,而且可能更快。但是,为了在测试时超越这一点,您可以尝试以下方法。这不是一个保证,但在过去处理类似情况时,它有时对我有效。尝试更改脚本的运行时设置:
运行时设置>浏览器>浏览器模拟

确保选中“在每次迭代中模拟新用户”框。您还可以尝试在这里使用其他设置,比如每次迭代时清除缓存。这可能会导致根据服务器的会话设置,为每个迭代设置与网页的新连接。再说一次,这并不是100%,但它不时对我起作用。

试试这个:

web_set_sockets_option("CLOSE_KEEPALIVE_CONNECTIONS", "1");

好的,我明白了。应用程序没有注销(处理会话/关闭会话),这是一个bug。我将要求我的团队实现用于注销和清理的代码。好的,那么“给定会话上没有发生任何活动”应该设置为比整个业务流程所需的时间多一点?然后,会话将在“比整个业务流程多一点”之后发布,对吗?大多数人不会注销,即使有注销选项可用。他们只需关闭浏览器或转到其他站点即可。这将在服务器上留下一组会话变量和附加的资源。服务器具有允许在空闲时间后清除此信息的设置。我喜欢分析现有用户,并找到空闲时间超时的第98个百分位值。查看现有用户(网站日志)以适当设置超时值,以最大限度地减少对用户的影响。脚本开头的web_cleanup_cookies()和web_cach_cleanup()是否与启用“在每次迭代中模拟新用户”相同?在VUgen中设置此选项并在上传到控制器进行场景构建之前保存脚本的路径,或者可以为整个场景(在整个场景的设置中)设置此设置,如果可以,在哪里设置?在我的sceenario/VUser脚本中也没有设置步调。这会导致这种情况发生吗?我只使用两个(!)Vuser运行,因此我的脚本/设置或正在测试的应用程序一定有问题。我们已经确定脚本运行得非常快,以至于在新的迭代开始之前不会释放内存(我们假设可能是这样)。有没有任何想法/经验表明,没有步调可能会导致所描述的pehenomen事件,即使是在一段时间内只有少量用户的情况下也会发生?欢迎使用Stack Overflow!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!