天天看點

mongodb測試小結-tina

                         mongodb測試小結 

一、基礎配置 

1)硬體 

雙核  8g  100g硬碟 

2)叢集 

1 台mongos、config伺服器;3台分片;1台獨立mongod存放count_temp統計表 

二、測試結果 

1)中間資料的處理: 

3台分片機上 分别跑3個程序,共9個程序,約為430w/h,5000w的資料大概需要11.6h 

3台分片機上 分别跑5個程序,共15個程序,約為840w/h,5000w的資料大概需要6h 

(5個程序會比3個程序分得更平均,速度也要快許多) 

2)count_temp統計: 

1台獨立mongod,開單個程序 1800w/h ,5000w資料大概需要2.7h 

                 開兩個程序 2300w/h ,5000w資料大概需要2.1h 

三、負載 

資料的插入和中間資料的處理,機器的負載都不高: 

a、 插入主要消耗記憶體,跟前面的4g測試相比,要稍微低一些 

b、 中間資料的處理通過php進行,會占用較高的cpu,但每台分片機大概也就在20%左右 

資料的統計,cpu會比較高: 

單程序統計,需要消耗30-40%左右的cpu;2個程序, cpu約是70-80% 

是以也不敢開太多,這比之前多台機器分别進行單程序統計稍微慢一點點,但持續時間并不長,且統計程式獨立運作,速度還是可以的。 

四、測試總結 

4g和8g測試對比,效果并不顯著,速度沒提升上來是受到php的處理和統計的速度限制; 

4g和8g的記憶體,mongo的插入都是非常快的,預計至少可以支撐1億左右的資料插入; 

後來我們考慮到中間資料單獨存放,會比在分片上又插入又讀取要友善快捷,是以改變政策, 

加上php使用了多程序,速度顯著提升,比之前3000kw/22h 要快了一倍不止。 

8g多一個分片的對比,效果也不顯著,應該受到了各分片之間的資料會互相遷移的影響,分片越多,需要遷移的就越多,某種程度上,反而會降低了效率。 

但多個分片,對最終表count_temp的統計是有利的。 

結論:就最後一次測試的方案,進行syslog-ng日志資料分國家的統計是可行的。配置方面,儲存一個星期的資料進行統計沒什麼問題。