背景
在監(jiān)控領(lǐng)域一般不會使用關(guān)系型數(shù)據(jù)庫對監(jiān)控點的數(shù)據(jù)進(jìn)行存儲,這些數(shù)據(jù)帶有很強(qiáng)的時間標(biāo)簽同時在數(shù)據(jù)特點層面重寫入讀取,幾乎沒有修改、刪除的操作,業(yè)務(wù)一般會使用時序數(shù)據(jù)庫對這類信息進(jìn)行存儲。目前我們監(jiān)控使用的時序數(shù)據(jù)庫是influxdb,隨著數(shù)據(jù)的積累慢慢也暴露出一系列的問題。從日常質(zhì)保問題來看,主要集中在內(nèi)存占用大,CPU飚高,磁盤IO高,寫入不成功等問題上,本文針對這幾個問題提供參數(shù)優(yōu)化和根因分析,希望可以對后續(xù)的排查具有指導(dǎo)意義。
參數(shù)講解
調(diào)優(yōu)的前提是我們知道有哪些可以利用的參數(shù)以及這些參數(shù)的真實含義是什么,重點在每個參數(shù)的副作用是什么。因為我們的問題主要集中在引擎?zhèn)?,所以此處主要講的是TSM引擎的諸多參數(shù)。參數(shù)位置在influxdb.conf文件中
wal-fsync-delay
該參數(shù)的含義是wal文件的寫入延遲,默認(rèn)值是0s,也就是說不延遲。這樣的話,每次記錄wal文件時都會寫盤,提升了可靠性,但是增加了磁盤讀寫次數(shù)和CPU的利用率

此處可以看到如果配置了延遲時間,會根據(jù)延遲時間調(diào)用。如果配置是0的話,會立刻調(diào)用。