场景:
Server: springboot 开发的一个 web 项目
client:使用 HttpClient 分别在单线程和多线程环境下测试某个模块的性能
问题:
1.多线程和单线程效率基本没差别
2.CPU使用率很低
(1)过度同步或者锁定,导致真正应该并发的地方并没有并发
(2)CPU不是瓶颈,作为瓶颈的资源并不能在多线程下得到改善
(3)程序本身存在bug,甚至都没有正确执行
cpu使用率很低,多半是你测试方法的问题,建议你先使用单线程测试,先想办法使得测试过程中cpu沾满,然后测试多线程。
先使用单线程测试,这种情况应该是测试方法存在问题或者程序本身存在问题甚至是根本没有执行,从而使得该并发的地方没有并发,多线程资源没有得到充分的释放。