Apache Kylin 查询指标


作者: 康凯森

日期: 2016-08-27

分类: OLAP


Kylin 1.5.4版本将支持收集查询指标到JMX,本文将介绍收集查询指标的原因,查询指标的具体内容和含义,查询指标的日常作用,如何收集查询指标。

Kylin为什么需要查询指标?

目前Kylin作为新美大的核心OLAP服务,已经在几乎所有的新美大业务线使用。其中几个业务线已经将Kylin作为B端(数百万商家)线上查询服务,所以我们必须保证Kylin服务的高可靠,高可用,高性能。为了向用户提供Kylin查询服务的SLA,我们必须要有相应的查询指标。

Kylin查询指标的具体内容和含义

为了能够根据查询服务节点,业务线,具体业务来统计相关查询指标,我们将查询指标分为了Server,Project,Cube3个层次。

QueryCount 这个指标为例,这个指标最终会生成3种相关的Metrics:

Hadoop:name=Server_Total,service=Kylin.QueryCount 
Hadoop:name=learn_kylin,service=Kylin.QueryCount 
Hadoop:name=learn_kylin,service=Kylin,sub=kylin_sales_cube.QueryCount

其中Server_Total代表整个server,
learn_kylin代表project name,
kylin_sales_cube 代表 cube name.

Kylin关键查询指标说明

  • QueryCount:查询总次数;
  • QueryFailCount:查询失败总次数;
  • QuerySuccessCount:查询成功总次数;
  • CacheHitCount: 查询缓存命中次数;
  • QueryLatency{60s,360s,3600s}{50,75,90,95,99}thePercentile:1分钟,10分钟,1小时内的查询百分位时延;(这3个时间间隔可以通过参数kylin.query.metrics.percentiles.intervals来配置)
  • QueryLatencyAvgTime,QueryLatencyIMaxTime,QueryLatencyIMinTime:查询时延的均值,最大值,最小值;
  • ScanRowCount: 查询读取HBase行数的相关指标;
  • ResultRowCount:查询返回结果行数的相关指标。

Kylin查询指标的日常作用

查询指标除了可以给业务方提供SLA指标,在日常运维中,我们也依靠查询指标来产出Kylin查询日报和Kylin查询的监控Screen。

Kylin查询的监控Screen如图所示:

通过Kylin查询日报我们可以了解每个Query Server, 每个Project的查询总次数,查询失败率,查询时延等查询信息。通过查询的监控Screen我们可以实时掌握Kylin的查询服务情况。

通过Kylin查询指标我们可以知道在目前新美大的kylin查询中,90%的查询时延在0.5秒内,99%的查询时延在2秒内,查询失败率极低,不过缓存命中次数同样极低,缓存几乎没有作用。

如何收集Kylin查询指标

在 Kylin 1.5.4版中,我们可以通过将参数kylin.query.metrics.enabled设为true来将查询指标收集到JMX。

查询指标收集到JMX后,我们就可以通过任意的JMX Metrics收集工具来收集Kylin的查询指标,将查询指标上报到公司的监控系统中。唯一需要注意的是,Kylin的查询指标是分为Server,Project,Cube3个层次的,而这种层次关系是通过动态的ObjectName来实现的,所以在获取ObjectName时需要正则匹配。


DorisDB —— 新一代极速 MPP 分析型数据库

DorisDB 是由 Apache Doris 核心研发团队打造的新一代企业级 OLAP 数据库,继承了 Apache Doris 项目十多年研发成果,以及数千台服务器稳定运行经验,并在此基础上,对传统 MPP 数据库进行了开创性的革新。 DorisDB 重新定义了 MPP 分布式架构,集群可扩展至数百节点,支持 PB 级数据规模,是当前唯一可以在大数据规模下进行在线弹性扩展的企业级分析型数据库。

DorisDB 打造了全新的向量化执行引擎,查询性能相比 Apache Doris 整体有5到10倍的提升,导入性能相比 Apache Doris 整体有10到30倍的提升。

如果你想和我们一起打造一款世界第一的企业级 OLAP 数据库,欢迎发送简历到 kangkaisen#dorisdb.com

如果你希望了解 DorisDB 相关问题,欢迎添加下面的微信号:

评论