溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mongo性能測試

發(fā)布時間:2020-06-25 02:46:56 來源:網(wǎng)絡(luò) 閱讀:1138 作者:春暖花開RQW 欄目:MongoDB數(shù)據(jù)庫

                    Mongodb介紹

Mongodb介紹

一 主要特點


MongoDB的提供了一個面向文檔存儲,操作起來比較簡單和容易。

你可以在MongoDB記錄中設(shè)置任何屬性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")來實現(xiàn)更快的排序。

你可以通過本地或者網(wǎng)絡(luò)創(chuàng)建數(shù)據(jù)鏡像,這使得MongoDB有更強的擴展性。

如果負(fù)載的增加(需要更多的存儲空間和更強的處理能力) ,它可以分布在計算機網(wǎng)絡(luò)中的其他節(jié)點上這就是所謂的分片。

Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。

MongoDb 使用update()命令可以實現(xiàn)替換完成的文檔(數(shù)據(jù))或者一些指定的數(shù)據(jù)字段 。

Mongodb中的Map/reduce主要是用來對數(shù)據(jù)進行批量處理和聚合操作。

Map和Reduce。Map函數(shù)調(diào)用emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函數(shù)進行處理。

Map函數(shù)和Reduce函數(shù)是使用Javascript編寫的,并可以通過db.runCommand或mapreduce命令來執(zhí)行MapReduce操作。

GridFS是MongoDB中的一個內(nèi)置功能,可以用于存放大量小文件。

MongoDB允許在服務(wù)端執(zhí)行腳本,可以用Javascript編寫某個函數(shù),直接在服務(wù)端執(zhí)行,也可以把函數(shù)的定義存儲在服務(wù)端,下次直接調(diào)用即可。

MongoDB支持各種編程語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。

MongoDB安裝簡單。

二MongoDB 下載

你可以在mongodb官網(wǎng)下載該安裝包,地址為:https://www.mongodb.com/download-center#community。MonggoDB支持以下平臺:

OS X 32-bit

OS X 64-bit

Linux 32-bit

Linux 64-bit

Windows 32-bit

Windows 64-bit

Solaris i86pc

Solaris 64

三MongoDB 應(yīng)用案例

下面列舉一些公司MongoDB的實際應(yīng)用:

Craiglist上使用MongoDB的存檔數(shù)十億條記錄。

FourSquare,基于位置的社交網(wǎng)站,在Amazon EC2的服務(wù)器上使用MongoDB分享數(shù)據(jù)。

Shutterfly,以互聯(lián)網(wǎng)為基礎(chǔ)的社會和個人出版服務(wù),使用MongoDB的各種持久性數(shù)據(jù)存儲的要求。

bit.ly, 一個基于Web的網(wǎng)址縮短服務(wù),使用MongoDB的存儲自己的數(shù)據(jù)。

spike.com,一個MTV網(wǎng)絡(luò)的聯(lián)營公司, spike.com使用MongoDB的。

Intuit公司,一個為小企業(yè)和個人的軟件和服務(wù)提供商,為小型企業(yè)使用MongoDB的跟蹤用戶的數(shù)據(jù)。

sourceforge.net,資源網(wǎng)站查找,創(chuàng)建和發(fā)布開源軟件免費,使用MongoDB的后端存儲。

etsy.com ,一個購買和出售手工制作物品網(wǎng)站,使用MongoDB。

紐約時報,領(lǐng)先的在線新聞門戶網(wǎng)站之一,使用MongoDB。

CERN,著名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的數(shù)據(jù)使用MongoDB

四MongoDB 三個線程寫峰值(3個線程 1個線程100*100000)

 

單線程單節(jié)點寫的時候峰值在8萬左右

五MongoDB 測試用例

     for (int i = 0; i < 1; i++) {

      List<Document> documents = new ArrayList<Document>();

      for (int j = 0; j < 100000; j++) {

      Document document = new Document();

      document.append("name", "hell word"+i+"-"+j);

      document.append("title", "test"+i+"-"+j); 

      document.append("url", "http://cvtsp.com"+"-"+j);

      documents.add(document);

      count++;

      //System.out.println(count+"--數(shù)據(jù)");

}

      System.out.println(dateFormat.format(new Date())+"--開始時間");

      long a = new Date().getTime();

      //把文檔放到集合里面去

      database.insertMany(documents);

      long b =new Date().getTime();

      System.out.println((b-a)); 

}

服務(wù)器IP 10.10.10.121

序號 數(shù)據(jù)量(萬) 寫入 讀取

單線程10次平均(ms)(16GB/4GB) 10線程平均(ms) 單線程10次平均

(ms) 10線程平均(ms)

1 1 210 129 不加索引解析得到結(jié)果

獲取數(shù)據(jù)都在1秒左右

輸出結(jié)果1837,12576,110799

2 10 2000 1294

3 100 21670 12919


六MongoDB 冷熱數(shù)據(jù)測試結(jié)果

Cenos6.6內(nèi)存4GB 寫入數(shù)據(jù)達到4GB左右的時候 mongo會把冷數(shù)據(jù) 寫到磁盤中,內(nèi)存始終會保持4GB左右的熱數(shù)據(jù)(ps 5個線程沒一個線程插入3kw數(shù)據(jù)當(dāng)達到內(nèi)存的飽和點,mongodb會把冷數(shù)據(jù)轉(zhuǎn)存到硬盤)

 


附件:http://down.51cto.com/data/2366856
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI