点击这里>>观看性能测试基础理论公开课,B 站分享

概述

本地起了一个项目,对 login 登录做了 200 并发的负载测试。发现 tps 最高上升到 550 左右,然后持续的剧烈波动


本着怀疑一切的态度,觉得 tps 应该有上升的空间,于是去监听一下进程。

分析过程

习惯性的做线程 dump

结果发现一大堆线程阻塞了(BLOCKED)。为什么会阻塞?日志已经很明显提示了,线程疯狂打日志导致的堵塞。
线程为什么会疯狂打日志?这里也提示了,在调用checkLogin方法的时候抛出来的日志。

代码检索
代码拉出来,搜一下checkLogin方法。于是就发现登录这里每一步都打了一条日志。批量处理的时候,很容易就把线程给阻塞了。

现在把这些日志全部禁用掉

重启项目,脚本回归
现在 TPS 上升到了 800 左右


↙↙↙阅读原文可查看相关链接,并与作者交流