首页 文章

在jmeter上运行测试脚本时,在其他服务器中找不到会话

提问于
浏览
0

我在jmeter上运行测试脚本 . 我正在测试的系统的设计是多方面的 . 这意味着,当我使用HTTP服务器登录时,我被重定向到Server1或Server2(随机) . 在我录制的测试脚本上,我被重定向到Server2 . 因此,每当我再次运行此预先录制的测试脚本(具有100个用户/线程)时,只有那些重定向到Server2的请求才会成功处理,而那些重定向到Server1的请求将返回“未找到用户会话”错误 . 我该如何解决?

我在HTTP测试器之前的测试计划中有一个HTTP Cache和HTTP Cookie Manager .

1 回答

  • 0

    这似乎是两个服务器的错误配置,因为它们不共享会话数据 . 通常,服务器共享会话相关信息(如cookie),以便客户端可以从任一服务器获取响应 .

    我不确定你是否真的可以控制哪个服务器命中(虽然它在录制过程中击中了第二台服务器,因为负载均衡器已经为你选择了那个服务器),它完全是负载 balancer 器的决定(基于算法)使用,最少响应时间,基于客户端IP等)

    我建议检查服务器配置是否共享cookie级别数据 . 此外,建议检查负载均衡器正在使用哪种算法在两台服务器之间分配负载 .

    如果它们没有引起问题,那么请查看服务器如何发送cookie以及(JMeter)客户端如何重新发送它们(通过HTTP Cookie管理器),即检查JMeter是否按照服务器的预期发送Cookie (S) . 有时可能会发送部分cookie .

    请回答以下问题:

    • 当使用一个线程时,请求是否始终发送到Server2?

    • 当请求命中单个线程的server1时请求是否成功?

    • 您是否正在点击负载均衡器URL(由此决定要命中的服务器)?还是硬编码的服务器地址之一?

相关问题