性能监控诊断

1.从系统层面,用户响应时间=服务器响应时间+网络时间


性能监控诊断_第1张图片

2.系统提供了比较多的信息分析工具,从以下几个进行分析

整体系统CPU利用率

内存利用率

磁盘I/O的利用率和延迟

网络利用率


性能监控诊断_第2张图片
常见服务器组成框架

3.定位

(1)CPU定位分析


性能监控诊断_第3张图片
性能监控诊断_第4张图片

(2)内存定位分析

性能监控诊断_第5张图片

(3)网络定位分析

性能监控诊断_第6张图片
性能监控诊断_第7张图片

(4)IO定位分析

性能监控诊断_第8张图片

4.Linux系统性能分析

uptime命令:获取主机运行时间和查询Linux系统负载等信息

性能监控诊断_第9张图片

w命令:显示当前登录用户数信息

性能监控诊断_第10张图片

top命令:对所有正在运行的进程和系统载荷提供不断更新的概览信息


5.Windows系统性能分析

性能监视器:性能计数器、时间跟踪数据、配置信息

具体每个怎么用,可谷歌查阅资料

6.tomcat监控之Probe

对容器的监控实际上是对JVM的监控,容器运行在JVM之上?


性能监控诊断_第11张图片
tomcat常规监控项

probe的安装和配置

7.MySQL监控之MONyog

webyog官方网站下载安装,连接配置。

8.JVM监控

jps命令:返回当前系统中的Java进程号

性能监控诊断_第12张图片
jps -n -l

jstat命令:查看JVM堆的统计信息

性能监控诊断_第13张图片
命令格式

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资源占用的问题。



性能测试常用流程

性能监控诊断_第14张图片
流程

你可能感兴趣的:(性能监控诊断)