在之前的文章使用 wrk 完成简单的自定义动态请求[1], 我介绍了如何使用 wrk 制造随机请求, 也给出了 lua 脚本的使用方式, 这篇博客主要想介绍下在压测时如何利用 wrk 精细控制并发请求....
wrk 的参数
wrk 中并没有 qps 控制的选项, 它只能控制连接数目, 指定的连接数会平均分配到每个线程
Usage: wrk
Options:
-...可以将 1s 分成 5 份(0.2s), 然后 1000 个请求在 5 份中平均的发生, 每一份就有 200 个请求, 因此我们需要 200 个并发连接....我在使用 wrk 的时候, 并不是直接把请求数目增加到很高, 因为我们平时不一定有足量的后端机器, 一次性增加大量请求可能会导致服务可用性下降, 可以逐步增加请求数, 我是这么做的, 指定压测内容的响应时间...并发请求时, 新应用的 qps 在 25k 左右
?
此时的 Ingress 开始接近性能瓶颈,可以看到请求峰值时, cpu 利用率在下降
?