MySQL和MongoDB的效能測試

來源:互聯網
上載者:User

標籤:des   io   ar   使用   sp   on   問題   cti   ad   

軟硬體環境

MySQL版本:5.1.50,驅動版本:5.1.6(最新的5.1.13有很多雜七雜八的問題)

MongoDB版本:1.6.2,驅動版本:2.1

作業系統:Windows XP SP3(這個影響應該不大)

CPU:Intel Core2 E6550 2.33G

記憶體:2G(足夠了)

 

MySQL啟動參數:bin\mysqld --no-defaults --console --character-set-server=utf8 --max_connections=1000 --max_user_connections=1000

MongoDB啟動參數:bin\mongod --dbpath data\ --directoryperdb --rest --maxConns 1000 –quiet

除了加大最大串連數之外,均使用預設參數

 

測試

該測試主要為改進當前系統的日誌的儲存和查詢效能提供參考,所以表的建立也以實際情況為例,下面是MySQL的建表語句:

 

CREATE TABLE `flt_evecurrent` (

  `NodeID` int(11) NOT NULL DEFAULT ‘0‘,

  `FltID` int(11) NOT NULL DEFAULT ‘0‘,

  `ObjID` int(11) DEFAULT NULL,

  `StationID` int(11) DEFAULT NULL,

  `EveType` int(11) DEFAULT NULL,

  `Severity` int(11) DEFAULT NULL,

  `ReportTime` date DEFAULT NULL,

  `CreateTime` date DEFAULT NULL,

  `EveContent` varchar(1024) DEFAULT NULL,

  `EveDesc` varchar(256) DEFAULT NULL,

  PRIMARY KEY (`NodeID`,`FltID`)

);

 

MongoDB類似,索引按照查詢語句的查詢欄位建立,該例子中為ObjID和CreateTime兩個欄位建立索引。

 

分別插入100萬條記錄,並對其做100個使用者並發查詢操作。

MySQL每一次都Drop表,MongoDB每一次都刪除data目錄。

查詢的時候,從第二次查詢開始,連續記錄三次。

 

結果

 

 

插入時間

查詢時間

MySQL InnoDB引擎 無索引

10分33秒

39.516秒、35.907秒、39.907秒

MySQL InnoDB引擎 有索引

11分16秒

非常不穩定:22.531秒、13.078秒、23.078秒、26.047秒、21.234秒、28.469秒、20.922秒、13.328秒

MySQL MyISAM引擎 無索引

3分21秒

22.812秒、23.343秒、23.125秒

MySQL MyISAM引擎 有索引

3分50秒

10.312秒、10.359秒、10.296秒

MongoDB無索引

37秒

59.531秒、60.063秒、59.891秒

MongoDB有索引

50秒

3.484秒、3.453秒、3.453秒

 

 

磁碟空間佔用(有索引時候的佔用,無索引情況差不多):

MySQL MyISAM:57MB

MySQL InnoDB:264MB

MongoDB:464MB

 

另外測試中還發現一個有意思的現象,如果MongoDB查詢中,如果單獨查詢ObjID欄位,耗時約1秒,如果單獨查詢CreateTime欄位,耗時約10秒,如果兩個欄位合起來查,就是上面的結果,約3秒,估計MongoDB內部對查詢順序作了最佳化吧。

MySQL和MongoDB的效能測試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.