jmeter性能压测的标准和实战中会遇到的问题

1.性能标准建议
CPU 使用率:不超过 70%
内存使用率:不超过 70%
磁盘:%util到达80%严重繁忙
(os.disIO.filesystem.writeKbPS 每秒写入的千字节)
响应时间:95%的响应时间不超过8000ms
事务成功率:不低于95%

2.内存使用率占比70%真的就很高吗
内存占比70%是否高,取决于多个因素,包括电脑的总体内存大小、正在运行的程序数量以及这些程序的内存需求等。
如果电脑的总内存较小,比如只有2GB,那么70%的内存占用可能相对较高,因为剩余的可用内存可能不足以支持更多的任务或应用程序。然而,如果电脑的总内存较大,比如8GB或更多,那么70%的内存占用可能并不算高,因为还有足够的可用内存来支持其他任务或应用程序。
此外,如果电脑正在运行一些内存需求较高的程序,比如大型游戏、专业软件或虚拟机等,那么70%的内存占用也可能是正常的。这些程序通常需要更多的内存来确保流畅的运行和性能。
因此,要判断70%的内存占用是否高,需要结合具体情况来看。如果电脑运行正常,没有出现卡顿、延迟或其他问题,那么通常不需要过于担心内存占用率。如果电脑出现性能问题,可以考虑优化内存使用,比如关闭不必要的程序、清理内存缓存等。
另外,需要注意的是,即使内存占用率达到了70%,也不意味着电脑的内存已经耗尽。因为操作系统通常会使用一些内存作为缓存,以提高文件访问速度等性能。因此,即使内存占用率较高,也不一定会对电脑的性能产生负面影响。

3.压测过程中发现并发数高,CPU使用反而低了
在某些情况下,增加并发数可能会导致CPU使用率降低的原因有几种可能:
a.并行处理优化:增加并发数可能会促使系统更有效地利用多核处理器或多线程处理能力。这意味着任务可以分配到多个核心上并行执行,从而减少了单个核心的负载,降低了整体CPU使用率。
b.I/O密集型任务:如果并发任务主要是I/O密集型的,例如文件读写、网络请求等,增加并发数可能会减少每个任务的等待时间,从而减少了CPU在等待I/O完成时的空闲时间。
c.减少竞争:增加并发数可以减少任务之间的竞争,特别是在共享资源的情况下(如锁),这可能会减少因竞争而导致的CPU使用率上升。
d.任务分配策略:优化的任务调度和分配策略可以确保系统更有效地管理并发任务,避免了资源浪费和竞争,从而降低了CPU负载。
需要注意的是,并不是所有情况下增加并发数都会导致CPU使用率降低。如果并发任务是CPU密集型的,即任务需要大量计算而不涉及大量I/O操作,增加并发数可能会增加CPU负载。因此,在设计系统时,需要根据任务的性质和系统的资源进行适当的调整和优化。

4.如何找到性能并发拐点
阶梯压测,找到最大并发用户数区间,在最大并发用户数区间,来缩小固定的一个递增步长
在这里插入图片描述
在这里插入图片描述

5.终止标准
终止标准:
响应时间:95%的响应时间超过8000ms
事务成功率:事务成功率超过95%
服务器负载:CPU或内存出现瓶颈(100%)时停止。
在这里插入图片描述

6.jmeter报错
6.1.报错:Address already in use:connest
原因:jmeter本身性能不够
解决方法:使用jdk8版本 改使用:jdk21版本+virtual thread线程插件。基本上单个压测机支持1000的并发是没有问题的
在这里插入图片描述
6.2 然后用350个并发会报错:Address already in use:getsockopt
原因:超过操作系统最大数量会报错
解决方法:改了jmeter.bat:set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=768m
(改后可以支持500,但是跑两分钟后还是会报一样的问题)
在这里插入图片描述
此时修改注册表,就可以了
第一步:电脑cmd输入regedit,可以进入如下界面:
在这里插入图片描述
第二步:新建两个 DWORD值:
name: MaxUserPort,value: 65534(十进制)
name: TcpTimedWaitDelay,value: 30(十进制)
第三步:重启系统

上一篇:Redis类型 Stream Bitfield


下一篇:F