常见的性能诉求可以分为这几种:
!了解服务性能瓶颈,以便定义网关、负载策略
线上环境有明确的并发数指标
了解资源利用率情况,申请线上资源
查找并发导致的缺陷,问题主要集中在异步处理时
针对这些场景🎬,我们需要监控的指标数据📊可以分为三类,一种是服务器的资源利用率,一种是事务的指标,还有一种是和数据库挂钩🪝。
资源利用率:cpu使用率、内存使用率、网络、io
事务:平均响应时间、失败率、吞吐量
数据库:连接数、慢sql
而大部分的指标监控工具🧰很简陋,有的同学🧑🎓只靠top监控实时数据,连长时间的监控都做不到,或者只是用jmeter的聚合报告进行分析,而瓶颈分析不通过折线图是很难发现数据拐点,咱们最好还是备些监控手段。
服务资源利用率可以可视化框架:grafana + 普罗米修斯 + NodeExporter
事务指标可视化框架:jmeter的backend listener + influxdb + grafana
数据库可视化框架:mysql + grafana + mysqlExporter
grafana:一个开源的数据可视化和监控平台。
prometheus:一个开源的监控系统和时序数据库,用于收集、存储和查询各类型的指标数据,可以监控不同类型的系统。
NodeExporter:用于收集linux系统的各种系统数据。