性能压测过程中,当面对大量并发用户调用的时候,服务器端 CPU 的使用率是高好还是低好?为什么?

2021-08-26 08:55发布

这个问题的答案,一定会有坚持不同意见的两派人。

一部分人认为,CPU 使用率当然是越低越好。这说明后端代码实现得很高效,只占用很少的计算资源就能实现较高的并发。并发情况下,越低的 CPU 占用率,说明系统可以继续承载越多的并发负载。

而另一部分人则认为,CPU 的使用率是越高越好。这说明系统的计算资源被充分利用了起来。


单单通过题干中的信息是不足以给出孰好孰坏的结论的。这里的关键是,随着并发用户数的上升,事务的响应时间是如何变化的。

如果随着并发用户数的增加,事务的响应时间也呈线性增长,但 CPU 的使用率一直上不去,这就是典型的 CPU 资源没有被充分利用的现象。此时,你就需要去进一步诊断为什么 CPU 资源不能在并发场景下被充分利用。

而如果随着并发用户数的增加,事务的响应时间能基本保持稳定,同时 CPU 的使用率会随着并发用户数的增加呈线性增加,这反倒是我们希望看到的结果,也就是说更多的并发用户会需要使用更多的 CPU 资源。