背景
在監(jiān)控領(lǐng)域一般不會(huì)使用關(guān)系型數(shù)據(jù)庫對(duì)監(jiān)控點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ)萌抵,這些數(shù)據(jù)帶有很強(qiáng)的時(shí)間標(biāo)簽同時(shí)在數(shù)據(jù)特點(diǎn)層面重寫入讀取棍丐,幾乎沒有修改渠牲、刪除的操作频祝,業(yè)務(wù)一般會(huì)使用時(shí)序數(shù)據(jù)庫對(duì)這類信息進(jìn)行存儲(chǔ)泌参。目前我們監(jiān)控使用的時(shí)序數(shù)據(jù)庫是influxdb,隨著數(shù)據(jù)的積累慢慢也暴露出一系列的問題常空。從日常質(zhì)保問題來看沽一,主要集中在內(nèi)存占用大,CPU飚高漓糙,磁盤IO高铣缠,寫入不成功等問題上,本文針對(duì)這幾個(gè)問題提供參數(shù)優(yōu)化和根因分析昆禽,希望可以對(duì)后續(xù)的排查具有指導(dǎo)意義蝗蛙。
參數(shù)講解
調(diào)優(yōu)的前提是我們知道有哪些可以利用的參數(shù)以及這些參數(shù)的真實(shí)含義是什么,重點(diǎn)在每個(gè)參數(shù)的副作用是什么醉鳖。因?yàn)槲覀兊膯栴}主要集中在引擎?zhèn)燃窆瑁源颂幹饕v的是TSM引擎的諸多參數(shù)。參數(shù)位置在influxdb.conf文件中
wal-fsync-delay
該參數(shù)的含義是wal文件的寫入延遲盗棵,默認(rèn)值是0s壮韭,也就是說不延遲。這樣的話漾根,每次記錄wal文件時(shí)都會(huì)寫盤泰涂,提升了可靠性,但是增加了磁盤讀寫次數(shù)和CPU的利用率
此處可以看到如果配置了延遲時(shí)間辐怕,會(huì)根據(jù)延遲時(shí)間調(diào)用逼蒙。如果配置是0的話,會(huì)立刻調(diào)用寄疏。