我在jmeter上运行测试脚本。我正在测试的系统的设计是多方面的。这意味着,当我使用HTTP服务器登录时,我被重定向到Server1或Server2(随机)。在我录制的测试脚本上,我被重定向到Server2。因此,每当我再次运行此预先录制的测试脚本(具有100个用户/线程)时,只有那些重定向到Server2的请求才会成功处理,并且那些重定向到Server1的请求将返回“未找到用户会话”错误。我该如何解决?
我在HTTP采样器之前的测试计划中有一个HTTP Cache和HTTP Cookie Manager。
答案 0 :(得分:0)
这似乎是两台服务器的错误配置,因为它们不共享会话数据。通常,服务器共享会话相关信息(如cookie),以便客户端可以从任一服务器获得响应。
我不确定你是否真的可以控制哪个服务器命中(虽然它在录制过程中击中了第二台服务器,因为负载均衡器已经为你选择了那个服务器),它完全是负载均衡器的决定(基于关于所使用的算法,例如最少响应时间,基于客户端IP等)
我建议检查服务器配置是否共享cookie级别数据。另外,建议检查负载均衡器正在使用哪种算法将负载分配到两台服务器上。
如果它们没有引起问题,那么请查看服务器如何发送cookie以及(JMeter)客户端如何重新发送它们(通过HTTP Cookie管理器),即检查JMeter是否按预期发送Cookie由服务器。有时可能会发送部分cookie。
请回答以下问题: