一、常见性能测试问题及其可能诱因
1)执行过程中,响应时间出现拐点,波动大。
1-JVM执行了GC垃圾回收,造成性能拐点
2-网络不稳定
2)高并发时,等待超时、连接失败等报错。
1-连接数设置不足
2-服务器资源已达到瓶颈
3)内存溢出问题。
1-JVM内存参数设置过低
2-程序本身存在内存溢出或内存回收问题
二、性能影响因素
应用服务器
数据库服务器
应用程序代码本身
服务器硬件及操作系统
三、常见性能影响因数
1)JVM内存设置参数
1-Tomcat的bin目录下的catalina.bat文件:
set JAVA_OPTS= -Xms6144m Heap Space -Xmx6144m
-XX:PermSize=512MPermGen Space -XX:MaxPermSize=1024M
2-内存溢出类型 :OutOfMemoryError:java heap size / OutOfMemoryError: PermGen space
题外话:JVM内存分类
新生区:一个Eden Space和两个Survivor Space
养老区:主要是用来存储那些长时间被引用的对象。
永久存储区(Permanent Space ):用来存储一些信息不经常变更的文件,如class对象等
2)连接数、线程数
MaxThreads:最大并发线程数,即同时处理的任务个数
【案例分析】 50个严格并发用户(设置集合点)
MaxThreads=3,事务响应时间:2.6S;
MaxThreads=50,事务响应时间:0.6S;
在高强度的并发下,如果MaxThreads设置较小,会影响性能,一般需要设置大于最大同时并发请求数。
但是如果设置过高也会影响性能,占用过多的系统资源。
acceptCount:最大排队数,是指当启动的线程数已经达到最大时,接受排队的请求个数
3)网络
不同网络环境下的结果对比
如果觉得《【性能测试】-常见性能测试问题分析(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!