下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、故障分析| bgsave導致redis定 期卡頓案例一那么1、背景線上有套redis主從,版本4.0,開發(fā)抱怨說經(jīng)常會出現(xiàn)周期性卡 頓。應(yīng)用日志顯示每隔10多分鐘出現(xiàn)一次,一個普通調(diào)用就需要執(zhí)行1s 左右,然后自動恢復,get/set均受影響ts econtent 今2022-03-11 09:34:222022-03-11 09:3422278 -nio-5151 -exec-9 INFOr- redis se| use: 1047ms2022-03-11 09:34:222022-03-11 09:34:22277 -nio-5151-exec-5 (INFO) redi use: 110
2、5ms2022-03-11 09:34:222022-03-11 09:34:22277 -nio-5151-exec-2 (INFO 廠 redis se| use: 217ms2、診斷查看redis qps和epu監(jiān)控,均未發(fā)現(xiàn)有用線索。登錄redis查看slowlog ,也沒有吻合時間點的慢查詢。evicted_keys指標一直是0 , expired_keys數(shù)量雖然很多,但是 一直沒有明顯波動,不太可能是驅(qū)逐過期鍵導致。經(jīng)組里同事提醒注意到latest_fork_usec指標,執(zhí)行一次接近1s 左右,大約每15分鐘觸發(fā)一次bgsave ,和應(yīng)用出現(xiàn)慢查詢的頻率大致 吻合,現(xiàn)在初步認定
3、是redis實例定期bgsave導致的應(yīng)用卡頓。在相當長的一段時間內(nèi),我一直認為redis的bgsave衍生出1個 子進程并旦采用copy-on- write機制,不會對redis本身有太多影 響,頂多落盤時占用點10資源而已。潛在瓶頸點出現(xiàn)fork。調(diào)用上Under Linux, fork() is implemented using copy - on - wri te pages, so the only penalty that it incurs is the time and memory required to duplicate theparent* s page tables
4、, and to create a unique task structure for the child.如果父進程的頁表比擬大,fork()耗時就會相應(yīng)延長,且redis采 用了單工作進程模型,fork。執(zhí)行期間會阻塞所有用戶請求。當前redis實例的RSS已經(jīng)到達了 16Gtop - 07:46:06 up 996 days, 16:51,1 user,load average: 0.00, 0.00, 0.02Tasks: 162 total,1 running, 161 sleeping, 0 stopped, 0 zombieCpu(s): 0.5%us, 0.9%sy, 0.0%
5、ni, 98.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 32878868k total, 23987712k used, 8891156k free,394488k buffersSwap: 4194300k total,8180k used, 4186120k free, 5719452k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND姆絲 root 為 9竺g :!我8 Q.Q 5” 4死?* s-server頁表大小33Mcatyproc/8844/status | grep
6、 - i pte VmPTE? 33840 kB采用strace跟蹤一下fork()耗時,在glibc里fork的調(diào)用實際 上映射到了更底層的clone系統(tǒng)調(diào)用,因指定-e trace:clone# strace - p 20324 - e trace=clone - Tclone (child stack=0,flags=CLONE_CHILDCLEARTIDCLONE_CHILD SETTID SIGCHL D, child_tidptr=0 x7f409d771a!0)130793 于此對應(yīng)的redis監(jiān)控指標為latest_fork usee:1014778兩者吻合,由此可以確認是re
7、dis定期bgsave引發(fā)的。最簡單的方法是禁用bgsave ,但這種行為有很大的風險,一旦主庫 被誤殺且在主從切換前又被迅速拉起,會導致redis數(shù)據(jù)全部喪失。查看redis的內(nèi)存利用率,存在很嚴重的內(nèi)存碎片,used_memory_human 8. 7Gused memory rss human 16. 1G這套redis馬上就要遷移,新環(huán)境實例的RSS只有8.8G, latest_fork_usec指標也下降到達了 0. 25s左右,和開發(fā)確認后可以滿 足應(yīng)用需求,遷移后應(yīng)用的定期卡頓現(xiàn)象有了很明顯的緩解。redis 4. 0引入了碎片自動回收功能,由參數(shù)activedefrag調(diào)控, 默認關(guān)閉。遷移后對老redis開啟了 activedefrag(其余參數(shù)保持默認值),最 終 used_memory_rss_human 固定在 11G 左右,latest_fork_usec 在 0. 76s左右。新環(huán)境以后也可能會遭遇嚴重內(nèi)存碎片,屆時要么開啟 activedefrag,要么在維護時間段重啟實例,后者效果顯然更好一點。3、小結(jié)我們線上redis主從都開啟了 bgsave ,之前一直忽視了 bgsave/fork()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣瓶基礎(chǔ)知識培訓課件
- 不收租金的辦公場地租賃合同2024版B版
- 專業(yè)化消防器材銷售與購買協(xié)議范本版B版
- 專業(yè)化煤炭加工2024協(xié)議樣本版B版
- 2024棄土資源化利用項目技術(shù)開發(fā)與轉(zhuǎn)讓協(xié)議合同3篇
- 上海某公司股權(quán)轉(zhuǎn)讓專項合同版
- 2024年高品質(zhì)裝修房屋轉(zhuǎn)讓及裝修材料采購合同3篇
- 2025年度食品級儲藏室租賃及質(zhì)量控制合同3篇
- 泳池衛(wèi)生知識培訓課件
- 化工行業(yè)保安工作總結(jié)
- 2022年新疆青少年出版社有限公司招聘筆試題庫及答案解析
- 《動物生理學》課程思政優(yōu)秀案例
- 高分子材料完整版課件
- 住宅工程公共區(qū)域精裝修施工組織設(shè)計(217頁)
- 冷卻塔技術(shù)要求及質(zhì)量標準介紹
- 光伏電站設(shè)備監(jiān)造與性能驗收
- 10kV架空線路施工方案
- 2018江蘇蘇州中考英語真題解析
- 10KV戶外封閉型噴射式熔斷器技術(shù)規(guī)范書
- 奇瑞汽車4S店各類表格模板
- 特域冷水機參數(shù)列表
評論
0/150
提交評論