作者:某網(wǎng)盤(pán)DBA
轉(zhuǎn)發(fā)已經(jīng)過(guò)作者同意,如果有其他問(wèn)題請(qǐng)及時(shí)聯(lián)系铡溪。
非經(jīng)過(guò)允許請(qǐng)勿隨意轉(zhuǎn)發(fā)趟庄,尊重版權(quán),感謝棚愤。
背景
rocksdb是facebook基于google的leveldb二次開(kāi)發(fā)的key-value存儲(chǔ)引擎抖单。目前,facebook已將rocksdb遷移至mysql,作為mysql的可選的存儲(chǔ)引擎矛绘。
此匯報(bào)用于記錄rocksdb各種場(chǎng)景下的性能表現(xiàn)耍休,不定期更新。
oltp性能測(cè)試
Hardware
Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz(ht 32)
2.0TB memblaze pcie SSD
128GB RAM
OS Version
Ubuntu 14.04.3 LTS
Data Sample
40M rows*16 tables
MySQL Version
MariaDB 10.2.5
Workload
oltp-rw
oltp-ro
update-only(index)
Storeage Engine
innodb(without compression)
innodb-compression
rocksdb
大小對(duì)比
6億4千萬(wàn)數(shù)據(jù)導(dǎo)入mysql货矮,innodb未經(jīng)壓縮大小為160GB羊精,innodb壓縮后86GB,rocksdb為62GB囚玫。
rocksdb只有innodb(壓縮后)的70%喧锦。
oltp-rw
70/30讀寫(xiě)測(cè)試,48個(gè)并發(fā)線程以下抓督,rocksdb ops要比innodb-compress好燃少。
但超過(guò)48線程,rocksdb性能下降較明顯铃在。同時(shí)阵具,rocksdb的平均響應(yīng)時(shí)間要比innodb高出不少。
oltp-ro
只讀測(cè)試定铜,rocksdb只有innodb-compress性能的70%阳液。不過(guò)在高并發(fā)下,rocksdb平均響應(yīng)時(shí)間表現(xiàn)要比innodb-compress好揣炕。
update-only(index)
只寫(xiě)測(cè)試帘皿,rocksdb性能表現(xiàn)優(yōu)異,ops大概是innodb-compress的10倍畸陡。隨著并發(fā)線程的增加鹰溜,響應(yīng)時(shí)間幾乎不變,維持在50ms以下丁恭。
結(jié)論:
1. rocksdb壓縮率非常高曹动,大約只有innodb的1/3,同時(shí)也要比壓縮后的innodb小涩惑。
2. rocksdb讀性能對(duì)比innodb還是差不少,但是跟壓縮后的innodb相比桑驱,某些場(chǎng)景下竭恬,還是有一定優(yōu)勢(shì)。
3. 寫(xiě)入性能非常優(yōu)秀熬的。
4. 非常適合寫(xiě)多讀少痊硕,并且對(duì)容量比較敏感的業(yè)務(wù)場(chǎng)景。