快速Redis容量評估

2021-08-29 05:08:04 字數 1315 閱讀 1800

前言:

1、jemalloc記憶體分配規則

jemalloc是一種通用的記憶體管理方法,著重於減少記憶體碎片和支援可伸縮的併發性,我們部門的redis版本中就引入了jemalloc,做redis容量評估前必須對jemalloc的記憶體分配規則有一定了解。

jemalloc基於申請記憶體的大小把記憶體分配分為三個等級:small,large,huge:

對於64位系統,一般chunk大小為4m,頁大小為4k,記憶體分配的具體規則如下:

2、bucket:bucket是乙個陣列,陣列的每個元素都是指向dictentry結構的指標。redis中bucket陣列的大小計算規則如下:大於dictentry個數的、最小的2^n;例如,如果有1000個dictentry,那麼bucket大小為1024;如果有1500個dictentry,則bucket大小為2048。

容量評估:

1、string:

總記憶體消耗 =(40 + jemalloc(length(key) +9) +jemalloc(length(value) +9)) * size + bucket個數 ×  8

2、list:

總記憶體消耗= (jemalloc(length(value) +9) + 40 ) × value個數 +jemalloc(length(key) +9) + 104

3、hash

總記憶體消耗= (jemalloc(length(field) +9)+jemalloc(length(value) +9)+ 56)× field個數 + field_bucket個數× 8 +jemalloc(length(key) +9)+ 152

4、set

總記憶體消耗 = (jemalloc(length(field) +9)+ 71)× field個數 + field_bucket個數× 8 +jemalloc(length(key) +9)+ 152

5、zset

總記憶體消耗 = (jemalloc(length(value) +9)+94)×value個數 +value_bucket個數 ×8  +jemalloc(length(key) +9)+ 732

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

業務需求與指標的對應關係 資料總量假設1年內資料量大約500g資料量。每秒請求量每秒有2000次請求。響應時間查詢和操作請求要求ms級響應 讀寫比讀寫比是5 1。重要程度核心系統,p1級故障。冷熱資料一般請求熱點資料為最近15內的 記錄長度每條記錄長度大約為1kb。計算方式之一 還有計算方式之二,請...

前端機單機容量評估公式

1。計算單機極限qps。壓測 壓測最關心的兩個值qps,rt 響應時間 當rt達到無法容忍的上限,或者系統某些地方開始出現瓶頸 如記憶體不足,系統頻繁full gc,i o等待時間過長,cpu load超高 此時的qps便是乙個機器能承受的極限qps 2。計算系統峰值qps。計算公式如下 峰值qps...

如何評估容量和流量壓力

1.評估需要的執行緒數和對應的記憶體數 問 455511次每分鐘 3.69毫秒 求如果評估可能每台機器會有多少執行緒數。解析 一分鐘內乾了455511次活,每個活需要3.69毫秒 那麼如何計算需要多少個執行緒 人 幹活。解答 假設每個人都滿負荷工作。沒有其他開銷。一分鐘內總工作量是轉換為時間是 45...