性能测试工具 使用 locust 进行接口请求时,如何判断它真的进行了请求?

狂天 · 2022年04月24日 · 最后由 狂天 回复于 2022年04月25日 · 4920 次阅读

我用 fiddler 进行抓包(不用 charles 是因为 locust 服务器就在本地,charles 抓不了请求本地的包),
发现它走了两个接口。
1.task:

2.request:

从 request 里两处被我涂白的字段可以看出,对这两个接口地址进行了请求。
但是,第一这两个地址没带 host(就是接口地址最前面的 www.***.com),
第二也没有接口请求的返回,那我到底请求成功了吗?也不清楚。

所以请教下各位大佬,locust 的接口请求应该如何判断它是否真的请求成功。
(目前我有一个间接的方法就是,调用新增数据的接口,从数据库查看结果,就是有点间接,不知道哪位大佬有直接点的方法判断)

共收到 4 条回复 时间 点赞

没用过 locust ,只说明下我的理解,供参考:

一般压测工具只要没有 fail 或者报错,都是请求成功。看你第二个请求的 response 里面有 num_requests 表示发出请求数, num_failures 表示请求失败数,看这个就可以看出来了。

每个请求都记录详细的 response 信息,会很消耗性能,导致压测工具压力上不去,所以一般压测工具默认是直接通过 http status 判断成功(2xx/3xx)/失败(4xx/5xx/请求超时等异常),有别的需要的话得额外写断言。

陈恒捷 回复

我通过去数据库查新增数据数也看出请求成功了,但是原理没理解,大佬说完明白了,感谢指点

locust 有个参数是可以获取响应的,再对响应检查就可以了
但这样会增加压测机的消耗,得看你实际情况了

JoyMao 回复

原来如此,感谢大佬的讲解。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册