摘要: 现象: (1)压测进行一段时间后,程序停顿,报超时错误。但这种现象并不一定就是线程死锁造成的,也可能是数据库/中间件连接池被占满、数据库死锁造成的。 (2)能够打开页面,但获取不到数据 排查手段: (1)使用jstack命令查看Java进程下所有线程的情况:jstack -l 进程号 (2)如果有B 阅读全文
posted @ 2021-07-30 14:34 西瓜汁拌面 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1. 堆内存溢出 内存溢出主要存在问题就是出现在这个情况中。当在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。 现象: (1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都 阅读全文
posted @ 2021-07-30 14:15 西瓜汁拌面 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1.堆内存和非堆内存组成 堆内存:分为年轻代和老年代 年轻代:Eden区和两个存活区 Q:为什么对堆要分年轻代,老年代,伊甸园区,存活区? A:减少FGC的频率,减少程序暂停的时间,提高性能,如果不分区,很快堆内存满了就会触发GC,对整个堆进行垃圾回收,而堆内存较大,会耗费很长时间,程序暂停时间过长 阅读全文
posted @ 2021-07-30 11:11 西瓜汁拌面 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 问题:CPU偏高是什么原因?怎么分析? CPU偏高分为:System的CPU偏高和UseCPU偏高。 1、use cpu高 现象:压测过程中,使用top命令查看系统资源占用情况,us cpu过高,超过50%以上。 原因:UseCPU偏高说明应用程序本身比较繁忙 排查手段: (1)使用top命令是哪个 阅读全文
posted @ 2021-07-30 10:10 西瓜汁拌面 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 负载 对被测系统不断施加压力,直到性能指标超过预期或某项资源使用达到饱和,以验证系统的处理极限,为系统性能调优提供依据; 并发 ①狭义上的并发:所有用户在同一时间点进行同样的操作,一般指同一类型的业务场景,比如1000个用户同时登陆系统; ②广义上的并发:多个用户与系统发生了交互,这些业务场景可以是 阅读全文
posted @ 2021-07-30 09:44 西瓜汁拌面 阅读(183) 评论(0) 推荐(0) 编辑
摘要: TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位。 下面就说说压测中为什么TPS上不去的原因: 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽 阅读全文
posted @ 2021-07-30 08:52 西瓜汁拌面 阅读(293) 评论(0) 推荐(0) 编辑