`

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

 
阅读更多

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

 

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

 

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

 

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

 

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

 

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

分享到:
评论

相关推荐

    MySQL8.0内存相关参数总结

    一般来说,应设置为系统可用内存的70%-80%,但不能超过物理内存,以防止操作系统因内存不足而交换到磁盘,导致性能急剧下降。InnoDB Buffer Pool的命中率可通过公式计算:(Innodb_buffer_pool_read_requests - ...

    loadrunner分析内存泄露

    通过对系统运行状态的持续监控,发现在客户端压力平均的情况下,系统的内存使用量从最初的500MB在短短两小时内迅速上升至1GB。这一现象提示可能存在内存泄露的情况。 #### 四、GC行为分析 为了进一步验证是否存在...

    loadrunner分析内存泄露[收集].pdf

    在LoadRunner测试过程中,如果发现系统的吞吐率随着时间推移逐渐下降,同时平均事务处理时间急剧上升,这往往是内存泄露的典型表现。以下是一些分析和解决内存泄露的步骤: 1. **系统监控**:首先,通过监控系统...

    WEB Tours订票系统性能测试.doc

    确保系统在大量用户访问时,仍能提供快速的响应和服务,防止系统崩溃或性能急剧下降。 4.3 测试方法及测试用例 使用负载测试工具(如JMeter或LoadRunner)模拟多用户并发访问,设计覆盖各种功能的测试用例,包括...

    HPUX系统优化简述

    - **Thrashing**:频繁的页面交换导致系统性能急剧下降的现象。 - **Buffer Cache**:操作系统用来缓存文件系统数据的内存区域。 - **内存泄漏**:程序未正确释放已分配的内存,导致内存逐渐耗尽。 - **衡量内存闲忙...

    aix环境java进程cpu瓶颈分析

    - 这种锁竞争导致了CPU资源的过度消耗,进而影响了整体系统的响应时间和吞吐量。 2. **建议**: - 对Java应用代码进行优化,减少不必要的锁操作或考虑使用更高效的并发控制机制。 - 分析具体的业务逻辑,识别...

    测试负荷:MYAPP

    压力测试则进一步测试系统的极限,超出正常工作负载,查看系统何时开始出现故障或性能急剧下降。耐久性测试是在高负载下持续运行MYAPP,检查系统是否能长时间稳定运行,有无内存泄漏等问题。 进行这些测试时,我们...

Global site tag (gtag.js) - Google Analytics