我正在Kubernetes上运行的服务API上使用python Locust包进行负载测试。
我在源代码中看到HttpUser
使用requests.session.request()
来发送请求。(这会导致所有请求都发往一个Pod,而不是分布在Kubernetes上的所有Pod上)我知道的在每个请求后关闭连接的唯一方法是在初始化requests.session
时设置connection: close
,在《蝗虫》中我是被抽象化了。
我试着在请求调用中添加headers={'connection':'close'}
,但是没有成功。所有的请求仍然发往同一个pod。有人知道如何在运行时更改这个设置吗?
3条答案
按热度按时间monwx1rj1#
也许您还可以使用User而不是HttpUser,因为HttpUser被认为可以在任务之间保持会话。
使用User代替HttpUser你需要导入请求和示例化它,但是默认情况下它不保留会话.如果你想保留会话,创建一个会话对象并用它调用.
例如
session betweek此任务id的每次运行都共享。
hs1rzwqc2#
你可以试试
jmo0nnb33#
headers={'Connection':'close'}
可以防止tls的持续运行。也许你需要清除请求之间的cookie?比如nginx发送带有相同uid cookie的请求到同一个线程。