国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:尤勇,汪浩,任天,顾胜晖,孙佳林
单位:尤勇,美团点评, 上海 20033511,汪浩,南京大学软件学院, 江苏 南京 210023;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002302,任天,美团点评, 上海 20033503,顾胜晖,南京大学软件学院, 江苏 南京 210023;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002304,孙佳林,美团点评, 上海 20033505
关键词:监控系统;日志存储;两级索引
基金:国家自然科学基金(62072227,61802173);国家重点研发计划(2019YFE0105500);江苏省政府间双边创新项目(BZ2020017);计算机软件新技术国家重点实验室(南京大学)创新项目(ZZKT2019B01)
随着软件系统越来越复杂化和分布化,为系统提供具有完善功能的监控服务显得越来越重要.APM(application performance management)系统通过采集软件系统运行时的各项指标数据来分析软件的运行状态,例如CPU、内存使用率、垃圾回收的耗时、QPS等指标.此外,APM系统也会在软件运行中生成各种日志数据.通常来说,它能提供的监控数据分为3种:指标统计数据、链路跟踪(tracing)数据以及离散事件记录.这些数据有助于系统或者服务的维护人员理解运行状态,从而确保系统或者服务的稳定运行.基于开源的APM监控系统——CAT系统,提出了一种针对tracing类型数据的存储设计方案,通过内存块批量写入的方式提升存储效率,并设计了两级索引以提高查询效率.从线上的真实运行数据来看,该方案在写入性能和查询性能方面均有较好的表现.
来源:2021年第5期
《软件学报》期刊编辑部