Skip to content

Latest commit

 

History

History
83 lines (57 loc) · 4.93 KB

2-Performance Monitor.md

File metadata and controls

83 lines (57 loc) · 4.93 KB

第5章 系统管理

性能监控

引言

性能监控模块用来监控IOTDB每一个操作的耗时,以便用户更好的了解数据库的整体性能。此模块会统计每一种操作的平均耗时,以及耗时在一定时间区间内(1ms,4ms,16ms,64ms,256ms,1024ms,以上)的操作的比例。输出文件在log_measure.log中。输出样例如下:

配置参数

配置文件位置:conf/iotdb-engine.properties

**表 -配置参数以及描述项**
参数 默认值 描述
enable_performance_stat false 是否开启性能监控模块
performance_stat_display_interval 60000 打印统计结果的时间延迟,以毫秒为单位
performance_stat_memory_in_kb 20 性能监控模块使用的内存阈值,单位为KB

利用JMX MBean动态调节参数

通过端口31999连接jconsole,并在上方菜单项中选择‘MBean’. 展开侧边框并选择 'org.apache.iotdb.db.cost.statistic'. 将会得到如下图所示结果:

属性

  1. EnableStat:是否开启性能监控模块,如果被设置为true,则性能监控模块会记录每个操作的耗时并打印结果。这个参数不能直接通过jconsole直接更改,但可通过下方的函数来进行动态设置。
  2. DisplayIntervalInMs:相邻两次打印结果的时间间隔。这个参数可以直接设置,但它要等性能监控模块重启才会生效。重启性能监控模块可以通过先调用 stopStatistic()然后调用startContinuousStatistics()或者直接调用 startOneTimeStatistics()实现。
  3. OperationSwitch:这个属性用来展示针对每一种操作是否开启了监控统计,map的键为操作的名字,值为是否针对这种操作开启性能监控。这个参数不能直接通过jconsole直接更改,但可通过下方的 'changeOperationSwitch()'函数来进行动态设置。

操作

  1. startContinuousStatistics:开启性能监控并以‘DisplayIntervalInMs’的时间间隔打印统计结果。
  2. startOneTimeStatistics:开启性能监控并以‘DisplayIntervalInMs’的时间延迟打印一次统计结果。
  3. stopStatistic:关闭性能监控。
  4. clearStatisticalState(): 清除以统计的结果,从新开始统计。
  5. changeOperationSwitch(String operationName, Boolean operationState):设置是否针对每一种不同的操作开启监控。参数‘operationName是操作的名称,在OperationSwitch属性中展示了所有操作的名称。参数 ‘operationState’是操作的状态,打开或者关闭。如果状态设置成功则此函数会返回true,否则返回false。

自定义操作类型监控其他区域

增加操作项

在org.apache.iotdb.db.cost.statistic.Operation类中增加一个枚举项来表示新增的操作.

在监控区域增加监控代码

在监控开始区域增加计时代码:

long t0 = System. currentTimeMillis();

在监控结束区域增加记录代码:

Measurement.INSTANCE.addOperationLatency(Operation, t0);

cache命中率统计

概述

为了提高查询性能,IOTDB对ChunkMetaData和TsFileMetaData进行了缓存。用户可以通过debug级别的日志以及MXBean两种方式来查看缓存的命中率,并根据缓存命中率以及系统内存来调节缓存所使用的内存大小。使用MXBean查看缓存命中率的方法为:

  1. 通过端口31999连接jconsole,并在上方菜单项中选择‘MBean’.
  2. 展开侧边框并选择 'org.apache.iotdb.db.service'. 将会得到如下图所示结果: