`

内存的大量占用,造成系统吞吐量急剧下降

 
阅读更多

最近阿里的朋友,遇到一个性能问题,现象如下:

 

他的一个api里面有5个外部的service需要调用,在压力测试情况下,出现性能很差,响应速度很慢,系统吞吐量也很快下降。

 

最终查明,他的api调用其中一个service的时候,return的数据有700多条数据,进行压力测试的时候,young generation不够分配,大量的请求后的数据,直接分配到old generation了,而当大量的请求并发执行时,full gc频繁启动,我们知道full gc的时候,对于默认的parallel gc,整个应用程序会停顿,从而造成程序执行速度很慢,于此同时垃圾回收的速度远比需要分配的内存大,从而造成吞吐量随着时间的推延,速度越来越慢。

 

朋友解决的问题方案如下(不是很好):扩大堆内存。

 

这个解决方案不是最终的解决方案,最终的结果是表面上,造成性能下降的时间推延了,据测试8个小时的持续压力下没有问题,但是时间再长一点问题可能会更加严重。。。。。。

 

有没有更好的解决方案呢?我需要去了解具体的需求再尽兴阐述。。。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics