1.从系统层面,用户响应时间=服务器响应时间+网络时间
2.系统提供了比较多的信息分析工具,从以下几个进行分析
整体系统CPU利用率
内存利用率
磁盘I/O的利用率和延迟
网络利用率
常见服务器组成框架3.定位
(1)CPU定位分析
(2)内存定位分析
(3)网络定位分析
(4)IO定位分析
4.Linux系统性能分析
uptime命令:获取主机运行时间和查询Linux系统负载等信息
w命令:显示当前登录用户数信息
top命令:对所有正在运行的进程和系统载荷提供不断更新的概览信息
5.Windows系统性能分析
性能监视器:性能计数器、时间跟踪数据、配置信息
具体每个怎么用,可谷歌查阅资料
6.tomcat监控之Probe
对容器的监控实际上是对JVM的监控,容器运行在JVM之上?
tomcat常规监控项probe的安装和配置
7.MySQL监控之MONyog
webyog官方网站下载安装,连接配置。
8.JVM监控
jps命令:返回当前系统中的Java进程号
jps -n -ljstat命令:查看JVM堆的统计信息
命令格式jmap命令:分析程序内存占用实际上是分析堆内存,堆快照使用jmap获取
jmap -dump:format=b,file=d:\heap.hprof [pid]
JVisualVM是JDK自带的JVM可视化监控工具,监控堆内存变化情况、线程状态、CPU使用情况、分析线程死锁等。可以监控本地JVM也可以监控远程JVM
9.小结
性能测试需要监控哪些指标?
用什么工具或者命令去监控?
如果从指标中分析性能问题?
性能测试工程师要对操作系统内核有一定了解,明白CPU、内存、磁盘、网络之间的联动关系
涉及到的知识有:系统硬件、操作系统、中间件、JDK、数据库等
对于Java程序来讲,JVM的性能反映了Java程序的性能,JVM的监控分两个大类:堆内存和线程。堆内存可以分析对象与内存溢出等问题,线程状态及线程信息分析出低效率程序,解决的是CPU资源占用的问题。
性能测试常用流程
流程
网友评论