web项目测试通过标准
-来自《全栈性能测试修炼宝典-jmeter实战》,第2章,P24;
web项目性能测试通过标准 | ||||
判断维度 | 不通过 | 通过 | ||
通用互联网服务端性能 | 超时概率 | >0.5‰ | <0.5‰ | 没有绝对的标准,由专家组或则项目负责人来评判 |
错误概率 | >0.5‰ | <0.5‰ | 响应时间:网页响应时间一般根据(1s-优秀,3s-普通,5s-忍受极限)来判断,假设5s是客户忍受的上限,特殊功能另议; | |
TPS | 小于期望值 | 大于期望值 | ||
CPU利用率 | 大于75% | 小于75% | ||
响应时间 | 大于期望时间 | 小于期望时间 | ||
Load | 平均每核CPU的Load大于1 | 平均每核CPU的Load小于1 | ||
JVM内存使用率 | 大于80% | 小于80% | ||
FullGC频率 | 平均小于半小时1次 | 平均大于半小时1次 | ||
前端页面性能 | YSlow评定 | YSlow评定 在C级以下 | YSlow评定 在C级或C级以上 |
Full GC:
GC
全称为garbage collection
,中文含义为垃圾回收,在jvm中的含义为回收无用内存空间
使用jstat -gc命令能够查看到制定java 线程的gc次数。
详情可查看:
https://blog.csdn.net/kep159/article/details/103088438
JVM内存使用率:
参考:原文链接:https://blog.csdn.net/bsegebr/article/details/126601253
查看JVM内存使用状况?
1、jps:查看本地正在运行的java进程和进程ID(pid)
2、jinfo pid,查看指定pid的所有JVM信息
1)jinfo -flags pid 查询虚拟机运行参数信息。
2)jinfo -flag name pid,查询具体参数信息,如jinfo -flagUseSerialGC 42324,查看是否启用UseSerialGC
3、jmap
1)jmap -heap pid:输出堆内存设置和使用情况(JDK11使用jhsdb jmap --heap --pid pid)
2)jmap -histo pid:输出heap的直方图,包括类名,对象数量,对象占用大小
3)jmap -histo:live pid:同上,只输出存活对象信息
4)jmap -clstats pid:输出加载类信息
5)jmap -help:jmap命令帮助信息
4、jstat:Java虚拟机统计工具,全称“Java Virtual Machine statistics monitoring tool”。可以用于监视JVM各种堆和非堆内存大小和使用量
1)jstat -class pid:输出加载类的数量及所占空间信息。
2)jstat -gc pid:输出gc信息,包括gc次数和时间,内存使用状况(可带时间和显示条目参数)
检查cpu使用率高的原因
top:查看cpu使用率。
top -p PID -H:查看当前进程中比较消耗cpu的线程。
jstack pid|grep 16进制的线程id:拿到消耗cpu比较高的线程pid,先转换成16进制的。
jstack -pid(注:进程pid):可以用来分析进程情况,通过16进制线程id搜索相应的线程,nid=线程id。
在dump中,线程一般存在如下几种状态:
1、RUNNABLE,线程处于执行中
2、BLOCKED,线程被阻塞
3、WAITING,线程正在等待
4. TIMED_WAITING,这个一般是指这个线程是Timer定期执行任务,但是当前处于waiting状态
https://blog.csdn.net/weixin_45429700/article/details/114937157