1、如何知道性能是否有瓶颈?如何确定性能瓶颈?
通过分析性能指标数据。
2、需要收集哪些监控指标?
常见的有并发线程、TPS、响应时间、错误率、服务器资源占用(IO、CPU、内存、网络占用等)、程序模块(CPU、内存、其他业务指标)、中间件监控等。
1. 监控jmeter压测数据(jmeter+influxdb+Grafana)
jmeter也可以通过安装插件或者生成html图看曲线,不过使用这2种方式在高并发和长时间运行时会存在以下2个问题:
- 在 GUI 用插件看曲线,做高并发时并不现实。
- 在场景运行时间比较长的时候,采用生成 HTML 的方式,会出现消耗内存过大的情况,而实际上,在生成的结果图中,有很多生成的图我们并不是那么关注,生成的结果保存之后再查看比较麻烦,还要一个个去找。
jmeter+influxdb+Grafana监控工具可以解决以上的2个问题。
JMeter+InfluxDB+Grafana 的结构如下:
JMeter发送压力到服务器的同时,统计下 TPS、响应时间、线程数、错误率等信息。默认每 30 秒在控制台输出一次结果(在 jmeter.properties 中有一个参数#summariser.interval=30 可以控制)。配置了 Backend Listener 之后,将统计出的结果实时异步发送到 InfluxDB 中。最后在 Grafana 中配置 InfluxDB 数据源和 JMeter 显示模板。
1.1 influxdb安装
(1)下载安装包并安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
rpm -Uvp influxdb-1.8.0.x86_64.rpm
因为监控的数据量一般会比较大,所以相关数据的目录要调整至空间最大的目录。安装后默认的配置文件在/etc/influxdb/influxdb.conf,可通过修改配置文件的dir = "/home/influxdb/data"。
(2)启动服务
cd /usr/bin
./influxd &
(3)验证influxdb启动成功
直接输入influx,可进入influxdb命令行执行sql
1.2 grafana安装
(1)下载安装包并安装
wget