情况是这样的:
A 服务要去访问 B 服务的某个接口。之前是循环访问,但是最近并发压力大了,响应变慢,就想优化成批量处理。
优化了一版本之后,上线,发现B服务机器CPU资源直接干到90+
,负载直接干到10+
。就赶紧回滚了,后仔细查看代码(单条处理和多条处理是一套代码,不过就加了下循环)未发现可能存在的死锁,死循环,内存泄露等问题。
后又查看了gc情况,发现ygc很频繁,6-7次/s。后优化了jvm参数,增大了新生代的大小,ygc 1-2次/s。 又进行了简单的压测。发现cpu 负载压力都可以,就上线了。上线之后没问题,但是3小时之后又出现了负载升高,cpu升高的情况。想问下还有没有排查思路哇?
现在怀疑是跟A服务建立的http连接池有关,您看哪里需要贴代码,跟我说下,谢谢大佬啦