Java进程占用服务器cpu超过85%以上
一、问题
多个场景CPU使用率高,java进程占用服务器cpu超过85%以上;
二、问题定位
三、原因:
spring匹配url的时候使用了正则,正则表达式会比较耗费CPU,类和方法上均使用了 @RequestMapping 注解,会使用正则表达式去匹配对应接口,导致cpu利用率比较高。
四、优化方案
1.请求接口中不带.htm;
2.接口RequestMapping不当导致匹配耗时增加;
五、调优前后测试结果对比
调优前结果:
300并发压测1小时应用服务器test-app1 cpu使用统计图:
300并发压测1小时应用服务器test-app2 cpu使用统计图:
300并发压测1小时tps统计图:
调优后结果:
300并发压测1小时应用服务器test-app1 cpu使用统计图:
300并发压测1小时应用服务器test-app2 cpu使用统计图:
300并发压测1小时tps统计图: