4、Instance实例维度
- Service Instance Load:当前实例的每分钟请求数
- Service Instance Successful Rate:当前实例的请求成功率
- Service Instance Latency:当前实例的响应延时
- JVM CPU:jvm占用CPU的百分比
- JVM Memory:JVM内存占用大小,单位m
- JVM GC Time:JVM垃圾回收时间,包含YGC和OGC
- JVM GC Count:JVM垃圾回收次数,包含YGC和OGC
- CLR XX:类似JVM虚拟机,这里用不上就不做解释了
每个后端服务几乎都是集群部署,其实就是多台服务器或容器组成一个集群服务,每个服务器或容器可以看出是一个实例。
同样在压测业务流程中,通过这张图,可以很明显看出具那台服务器成为了业务流程当中的性能瓶颈,还能监控jvm的运行状况。
5、Endpoint端点(API)维度
端点其实就可以看到该实例下某个接口的具体负载情况,包括响应时间和吞吐量。
6、DataSource展示栏
当前数据库:选择查看数据库指标
- Database Avg Response Time:当前数据库事件平均响应时间,单位ms
- Database Access Successful Rate:当前数据库访问成功率
- Database Traffic:CPM,当前数据库每分钟请求数
- Database Access Latency Percentile:数据库不同比例的响应时间,单位ms
- Slow Statements:前N个慢查询,单位ms
- All Database Loads:所有数据库中CPM排名
- Un-Health Databases:所有数据库健康排名,请求成功率排名
性能测试中,数据库也是我们重点优化对象,通过上图一方面可以看出来,数据库的健康状况和当前的负载情况,一方面也能看出来具体慢sql。
7、拓扑图
页面轻轻一点,就看到预期想要的结果,后端服务是怎么协作的呢?又涉及到哪些服务呢?服务之间的依赖关系、架构又是怎样的呢?
通过上图,你可以看到答案。
当然了,skywalking的基本功能,远不止这么多,还有日志查询功能、告警功能等等,鉴于篇幅有限,不做赘述。
总结
本篇文章主要分享了链路跟踪技术和具体的链路跟踪组件,skywalking,作为一个测试工程师,有必要了解下这门技术,一方面可以加深我们对后端服务、架构的理解,另一方面在性能测试中,也能帮助我们做性能定位和调优。