使用skywalking链路追踪默认配置后,发现线上db存储消耗特别严重,需要优化配置减少存储量。优化方向:
进入apache-skywalking-apm-bin/config目录,编辑application.yml,找到如下参数,修改为下面指定的值:
定时清理过期数据的间隔时间,默认5分钟,可以不改
dataKeeperExecutePeriod:${SW_CORE_DATA_KEEPER_EXECUTE_PERIOD:5}
明细数据存储有效时间,应用要求至少2天
recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:2}
度量数据存储有效时间,应用要求至少2天
metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:2}
设置完成后,需要重启skywalking服务
进入skywalking-agent/config目录,编辑所有的agent_xxx_xxx.conf文件,找到如下参数,将他们全部修改为下面指定的值:
每3秒钟采集的segment数量,默认为-1,表示全部采样,这里配置为500,如果存储量还是很大,后续可以设置更小
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:500}
设置完成后,需要重启每一个java进程