性能测试系列四 压测常见的关注指标以及监控分析工具

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 前面的文章,我们分析了压测的时机,压测的指标,那么这次呢,我们来看下,我们这些压测的指标,常见的都需要性能压测中观测点,有了对指标的梳理 ,我们才有重点的关注点,下面,我列举一些常见的指标。

•服务器cpu


•服务器内存


•服务器load


•数据库连接池


•Redis 连接池


•Tomcat连接池


•TPS


•网络带宽


•响应时间


•GC


•错误率


       这些都是一些常见的指标了,当然了,还有一些其他的指标,需要我们根据自己的实际的业务去选择,这些关注点,大家都可以去搭建一些监控平平台,展示分析使用,例如火焰图,zabbix,Grafana,InfluxDB,prometheus等工具。都可以成为我们监控分析的利器。


          这些工具呢,都是一些在压测中常见呢, 我们来介绍下火焰图


image.png


这是官方的github给我们的。


  • 由底部到顶部可以追溯一个唯一的调用链,下面的方块是上面方块的父调用。


  • 同一父调用的方块从左到右以字母序排列。


  • 方块上的字符表示一个调用名称,括号内是火焰图指向的调用在火焰图中出现的次数和这个方块占最底层方块的宽度百分比。


  • 方块的颜色没有实际意义,相邻方块的颜色差只为了便于查看。

       火焰图则适合用在:


  • 代码循环分析:如果代码中有很大的循环或死循环代码,那么从火焰图的顶部或接近项部的地方会有很明显的”平顶”,表示代码频繁地在某个线程栈上下切换。但需要注意的是,如果循环的总耗时不长,在火焰图上不会很明显。


  • IO 瓶颈/锁分析:在我们的应用代码中,我们的调用普遍都是同步的,也就是说在进行网络调用、文件 I/O 操作或未成功获得锁时,线程会停留在某个调用上等待 I/O 响应或锁,如果这个等待非常耗时,会导致线程在某个调用上一直 hang 住,这在火焰图上表现得会非常清晰。与此相对的是,我们应用线程构成的火焰图无法准确地表达 CPU 的消耗,因为应用线程内没有系统的调用栈,在应用线程栈 hang 住时,CPU 可能去做其他事了,导致我们看到耗时很长,而 CPU 却很闲。


  • 火焰图倒置分析全局代码:火焰图倒置有时也会很实用,如果我们的代码 N 个不同的分支都调用某一方法,倒置后,所有栈顶相同的调用被合并在一块,我们就能看出这个方法的总耗时,也就很容易评估出优化这个方法的收益。


zabbix 监控利器,官网是:

   https://www.zabbix.com/

我们来看下官方给我们的效果图


image.png


zabbix由2部分构成,zabbix server与可选组件zabbix agent。


   Zabbix主要功能:


       - CPU负荷


       - 内存使用


       -磁盘使用


       - 网络状况


       - 端口监视


       - 日志监视。


  我们可以用它来做我们服务端的数据收集。

   

       Grafana


           美观、强大的可视化监控指标展示工具。

       https://grafana.com/docs/grafana/latest/installation/ 官网。

       我们来看下最后的效果,这是官网给的效果图


image.png


在实际中,我们可以根据我们的实际的需求,去完成我们需要的平台的搭建。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
监控 JavaScript 前端开发
在生产环境中测试和监控Vue项目的方法有哪些?
在生产环境中测试和监控Vue项目的方法有哪些?
37 4
|
1月前
|
监控 测试技术
为什么要在测试管理中做测试监控和跟踪?
为什么要在测试管理中做测试监控和跟踪?
|
7月前
|
消息中间件 弹性计算 Java
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
|
1月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
240 0
|
5天前
|
监控 测试技术
局域网监控软件的自动化测试框架搭建(使用JUnit)
本文介绍了如何使用JUnit搭建局域网监控软件的自动化测试框架。通过创建测试类和编写测试用例,如连接测试和警报功能测试,确保软件功能的正确性。测试完成后,利用HTTP POST请求将监控数据自动提交到指定网站,实现数据的实时更新和追踪。这种方法能提升测试效率,保证软件质量和稳定性。
39 3
|
1月前
|
JSON 数据可视化 测试技术
性能测试之Artillery(示例及指标)
性能测试之Artillery(示例及指标)
35 2
|
1月前
|
JSON 监控 测试技术
Groovy脚本编写员工上网行为监控自动化测试
本文介绍了如何使用Groovy脚本创建一个自动化工具来监控员工的网络活动。通过编写简单脚本记录员工访问的网站并打印信息,可进一步扩展为将数据保存至数据库。此外,通过设定定时任务,实现了每30分钟自动监控一次的功能。最后,展示了如何将监控数据转换为JSON格式并使用HTTP POST请求提交到网站,以实现数据的自动化上报,有助于企业保障网络安全、保护数据并提升工作效率。
124 5
|
20天前
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。
|
1月前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
26 2
|
1月前
|
弹性计算 运维 监控
监控 HTTP 服务器的状态(测试返回码)
【4月更文挑战第28天】
18 0