6.4. 分析 Loki 查询性能
Loki 中的每个查询和子查询都会生成一个带有性能统计的 metrics.go 日志行。在 queriers 中发出日志行。每个查询都有一个关联的单个摘要 metrics.go 行,由 query-front end 发出。使用这些统计数据计算查询性能指标。
先决条件
- 有管理员权限。
- 访问 OpenShift Container Platform web 控制台。
- 已安装并配置了 Loki Operator。
流程
-
在 OpenShift Container Platform web 控制台中导航至 Metrics
Observe 选项卡。 请注意以下值:
- 持续时间 :注意查询运行所需的时间。
- queue_time :注意在处理前查询在队列中花费的时间。
- chunk_refs_fetch_time :注意从索引中获取块信息的时间长度。
- store_chunks_download_time :注意从缓存或存储获取块的时间长度。
计算以下性能指标:
查询总时间为
total_duration:total_duration = duration + queue_time
total_duration = duration + queue_timeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查询在队列中消耗的总持续时间的百分比为
Queue Time:Queue Time = queue_time / total_duration * 100
Queue Time = queue_time / total_duration * 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 计算从索引获取块信息的总持续时间的百分比,如
Chunk Refs Fetch Time:Chunk Refs Fetch Time = chunk_refs_fetch_time / total_duration * 100
Chunk Refs Fetch Time = chunk_refs_fetch_time / total_duration * 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 计算从缓存或存储获取块的总持续时间的百分比:
Chunks Download Time = store_chunks_download_time / total_duration * 100
Chunks Download Time = store_chunks_download_time / total_duration * 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 计算执行查询所花费的总持续时间的百分比:
Execution Time = (duration - chunk_refs_fetch_time - store_chunks_download_time) / total_duration * 100
Execution Time = (duration - chunk_refs_fetch_time - store_chunks_download_time) / total_duration * 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 请参阅 Query 性能分析 以了解每个指标的原因,以及每个指标对查询性能的影响。