mysql 容量評估 資料庫「容量」評估法則之一

2021-10-22 22:17:50 字數 2482 閱讀 2623

業務需求與指標的對應關係

資料總量假設1年內資料量大約500g資料量。

每秒請求量每秒有2000次請求。

響應時間查詢和操作請求要求ms級響應

讀寫比讀寫比是5:1。

重要程度核心系統,p1級故障。

冷熱資料一般請求熱點資料為最近15內的

記錄長度每條記錄長度大約為1kb。

計算方式之一(還有計算方式之二,請期待哦?)

step1:

1.從業務方得知服務執行一年的資料量已知 500g

2.計算每秒產生的資料為500*1024*1024/(365*24*60*60) = 16kb/s

step2:

1.從業務方得知大約每秒2000次請求,讀寫比是4:1

2.計算讀請求2000/5*4 = 1600/s;每秒寫請求數2000/5*1 = 400/s

step3:

1.假設每條記錄長度大約為1kb >>>每行記錄計算方式可自行檢視。此處假設為「被平均」值

2.根據step1得出的結果,每秒insert的寫入量大約為16/s;

3.根據step2得到的每秒insert 400/s,可知 384/s 為update或delete操作。

4.由於mysql資料讀寫操作按照頁來處理,(預設)頁大小為16kb,假設每次操作的頁都不相同。

5.那麼每秒寫運算元據量為:16kb*400/s = 6.25m/s,每秒讀運算元據量為:16kb*1600/s = 25m/s。

step4:

1.假設熱點請求資料為最近15天內的資料

2.熱資料量為:(500/365)*15 = 20gb

step5:

1.操作需ms級返回,並且讀壓力更大,那麼需要盡可能的將熱資料載入到記憶體。

2.按照記憶體命中率接近100%計算的話,那麼innodb buffer大約為20gb,而其他記憶體需求大概為1~2gb,因此記憶體超配大約為22gb。

step6:

1.按照超配原則,寫頻寬(wbps)限制為10mb/s;讀頻寬(rbps)限制為30mb/s。

示意圖:

指令碼化評估輸出:

福利?:

[root@dba-virtual-host-220122 local]# cat capacity_caculate.sh

#!/bin/bash

read -p "當前一年資料量 :" dbsize

#echo "$gb"

dps=$[dbsize*1024*1024/(365*24*60*60)]

#echo "每秒產生的資料:$kb/s"

read -p "當前併發量:" cv

read -p "資料讀寫比 :" rw_ratio

read -p "熱點請求資料查詢範圍:" hot_data_expire

read_ratio=`echo $rw_ratio |awk -f ':' ''`

write_ratio=`echo $rw_ratio |awk -f ':' ''`

all_ratio=$[read_ratio+write_ratio]

read_request=$[cv/all_ratio*read_ratio]

write_request=$[cv/all_ratio*write_ratio]

row_size=1

insert_transaction=$[dps/row_size]

update_or_delete_transaction=$[write_request-insert_transaction]

write_size=$[16*write_request/1024]

read_size=$[16*read_request/1024]

all_io_flow=$[write_size+read_size+5]

hotdata_size=$[dbsize/365*hot_data_expire]

all_mem=$[hotdata_size+2]

echo "-----------------------結論如下-----------------------------"

echo "每秒讀請求:$/s"

echo "每秒寫請求:$/s"

echo "每秒insert事務:$"

echo "每秒update/delete事務:$"

echo "每秒寫頻寬$m/s"

echo "每秒讀io頻寬$m/s"

echo "總頻寬不得低於$m/s"

echo "熱點資料量:$gb"

echo "總記憶體需$gb"

mysql資料庫容量 檢視mysql資料庫容量大小

1.檢視所有資料庫各容量大小 select table schema as 資料庫 sum table rows as 記錄數 sum truncate data length 1024 1024,2 as 資料容量 mb sum truncate index length 1024 1024,2 ...

mysql獲取資料庫容量及資料庫相關資訊

use information schema 選擇資料庫 select concat round sum data length 1024 1024 2 mb as data from tables 查詢所有資料庫占用容量 mysql總占用 select concat round sum data ...

大資料平台容量評估 大資料平台

系統概述 大資料應用支撐平台提供資料支撐服務,對外發布資料服務進行資料價值變現。包含資料採集 資料治理 資料交換 資料儲存 資料計算相關元件的搭建 驗證,並建立大資料倉儲。b 功能要求 2.資料治理,由於從資料採集工具採集過來的資料不具備統一的資料標準及資料格式,資料治理工具需要對到達的資料進行格式...