1: 假設條件
響應時間 : 查詢和操作請求ms級返回。
數據總量 : 1年內數據量大約1T數據量。
每秒請求量 :每秒有1w次請求。
讀寫比: 讀寫比是4:1
重要程度: 核心系統,P1級故障
其他說明 : 一般會處理最近15天內的數據。數據記錄總體長度大約爲1KB
2:評估
1: buffer 評估, 帶寬評估.
Step1:1年內數據量大約1T
結果:每秒產生的數據量爲1*1024*1024*1024/(365*24*60*60) = 34KB/s
Step2:每秒1w次請求;讀寫比是4:1
結果:每秒讀請求10000/5*4 = 8000/s;每秒寫請求數10000/5*1 = 2000/s
Step3:記錄長度大約爲1KB
結果:根據Step1得出的結果,每秒insert的數據寫入大約爲34/s;根據Step2得到的每秒寫2000/s,可知1966/s爲update和delete操作。由於MySQL數據讀寫操作按照頁來處 理,頁大小爲16KB,假設每次操作的頁都不相同。那麼每秒寫操作數據量爲:16KB*2000/s = 32M/s,每秒讀操作數據量爲:16KB*8000/s = 128M/s
Step4:處理最近7天內的數據
結果:熱數據量爲:(1*1024/365)*15 = 42GB。
Step5:操作ms級返回
結果:操作ms級別返回,並且讀壓力更大,那麼需要儘可能的將熱數據加載到內存。按照內存命中率接近100%計算的話,那麼Innodb buffer大約爲42GB,而其他內存需求大 概爲1~2GB,因此內存超配大約爲45GB。按照超配原則,寫帶寬(wBPS)限制爲50MB/s;讀帶寬(rBPS)限制爲150MB/s。