測試說明:
一、數據量爲3kw記錄,每條記錄11個字段,一個爲主鍵,主鍵爲字符類型,相似:user****,後續爲數值
其餘10字段爲字符類型,100字符,記錄長度大約爲1KB
二、使用ycsb進行壓力測試。具體各種型參考之前文檔
三、三千萬數據,對目前數據庫都能緩存到DB中(後續測試緩存80%,50%,30%等狀況下性能狀況)
四、測試項包括:數據裝載,就是insert數據
ycsb的標準負載a、負載b、負載c、負載d、負載e、負載f測試
都採用64線程進行壓測,經過分析是最優的
mysql測試環境爲innodb_buffer_pool_size=20G
mysql_100g爲innodb_buffer_pool_size=100G
mongodb爲cacheSizeGB=20G
mongodb_100g爲cacheSizeGB=100G
負載a:read=0.5,update=0.5,insert=0,scan=0(無範圍查詢)
負載b:read=0.95,update=0.05,insert=0,scan=0(無範圍查詢)
負載c:read=100 ---純讀應用,scan=0(無範圍查詢)
負載d:read=0.95,insert=0.05,scan=0(無範圍查詢)
負載e:scan=0.95,insert=0.05,範圍查詢,範圍爲100
負載f:read=0.5,readmodifywriteproportion=0.5(讀出記錄,而後修改記錄,而後寫回記錄)
各項指標測試結果:
數據庫類型 |
測試類型 |
mysql |
mongodb |
tokuMX |
couchbase |
insert |
13196.1154 |
77248.81715 |
36650.51286 |
92041.69321 |
a |
17414.53382 |
120763.7097 |
56441.69009 |
171759.3308 |
b |
68047.57887 |
99998.66668 |
98474.30477 |
159533.7361 |
c |
65496.17721 |
96096.55782 |
96174.49901 |
97495.02775 |
f |
16601.97431 |
83504.51759 |
58816.14856 |
112853.6551 |
d |
66899.9244 |
100008.6674 |
97753.62177 |
101810.8761 |
e |
2345.999594 |
2114.057191 |
2116.884482 |
|
|
數據庫類型 |
測試類型 |
mysql |
mongodb |
tokuMX |
couchbase |
insert |
9683.304403 |
1658.783526 |
3490.779132 |
1337.107262 |
d |
2238.196522 |
687.4064251 |
751.8563847 |
1246.501145 |
e |
19863.49348 |
13568.54149 |
12914.24357 |
|
數據庫類型 |
測試類型 |
mysql |
mongodb |
tokuMX |
couchbase |
a |
6840.743134 |
649.0976047 |
1670.448293 |
685.4414804 |
b |
2260.907568 |
774.5944686 |
721.1753008 |
773.1773418 |
f |
6583.488954 |
572.8773741 |
1198.842941 |
722.6498385 |
讀-修改-寫延遲
|
數據庫類型 |
|
|
|
測試類型 |
mysql |
mongodb |
tokuMX |
couchbase |
d |
7133.568479 |
1050.091246 |
1677.069403 |
1442.553442 |
數據庫類型 |
測試類型 |
mysql |
mongodb |
tokuMX |
e |
24474.38263 |
31060.48241 |
31075.847 |
數據庫類型 |
|
mysql |
mongodb |
tokuMX |
couchbase |
1千萬 |
19 |
4.2 |
8.5 |
11.2 |
結論:
一、全部NoSQL數據庫的插入OPS讀比MySQL強,其中couchbase最強,而後是mongoDB和tokuMX
二、全部NoSQL數據庫的插入延遲讀比MySQL小,其中couchbase最強,而後是mongoDB和tokuMX
三、讀延遲最多的是couchbase,不如MySQL
四、update延遲,NoSQL都比MySQL強
五、範圍掃描,MySQL比全部NoSQL強,因爲couchbase測試問題未拿到數據(後續補充)
六、數據容量NoSQL數據庫比MySQL佔空間小,依次爲MySQL、couchbase、tokuMX、mongoDB