MongoDB 3.2版WiredTiger儲存引擎效能測試
MongoDB 3.2於最近發布了,它使用WiredTiger作為其預設的儲存引擎。這五年來,MongoDB從誕生到流行,發展可謂是相當迅猛。
MongoDB 3.0就開始支援“可插拔的儲存引擎”功能,因此在3.2版使用WiredTiger也在情理之中。WiredTiger引擎基於B-Tree演算法,B-tree即多路搜尋樹,非二叉樹,是一種常見的資料結構,使用B-tree結構可以顯著減少定位記錄時所經曆的中間過程,從而加快存取速度。B是Balance的簡稱,B-Tree資料結構一般用於資料庫的索引,綜合效率較高。
以B-Tree演算法為基礎的WiredTiger引擎的執行效能應優於針對IO最佳化的RocksDB和PerconaFT,但是WiredTiger 3.0引擎存在IO效能衰減問題。有報道說,WiredTiger 3.2引擎的效能在3.0版的基礎上有了較大的提升,下面可以看看WiredTiger 3.2引擎的基準測試情況。測試不僅關注其效能,還關注在檢查點的執行情況。
測試使用iiBench工具,此工具地址見: https://github.com/mdcallag/iibench-mongodb
iibench-mongodb工具使用需求:
- Java 1.6或1.7版
- MongoDB的Java驅動必須包含到類路徑下
比如CLASSPATH中:
# cd /home# wget http://central.maven.org/maven2/org/mongodb/mongo-java-driver/3.2.0/mongo-java-driver-3.2.0.jar# export CLASSPATH=/home/mongo-java-driver-3.2.0.jar:$CLASSPATH
WiredTiger的命令列:
numactl --interleave=all ./mongod --dbpath=/mnt/i3600/mongo/ --storageEngine=wiredTiger --syncdelay=900 --wiredTigerCacheSizeGB=10 --wiredTigerJournalCompressor=none
伺服器情況:
- 存放裝置: Intel SSD DC P3600 SSD 1.6TB
- 主機CPU: Bare Metal powered by Intel(R) Xeon(R) CPU E5-2680
- 測試資料集:2億條記錄,單個索引
測試結果:
WiredTiger 3.2引擎確實更快。執行完成WiredTiger 3.2引擎花了31分鐘,而WiredTiger 3.0引擎花了51分鐘。
但是,WiredTiger 3.2引擎仍然存在一些問題。在測試期間,WiredTiger有一分鐘左右的時間拒絕處理資料。
更多MongoDB相關教程見以下內容:
CentOS 編譯安裝 MongoDB與mongoDB的php擴充
CentOS 6 使用 yum 安裝MongoDB及伺服器端配置
Ubuntu 13.04下安裝MongoDB2.4.3
MongoDB入門必讀(概念與實戰並重)
Ubunu 14.04下MongoDB的安裝指南
《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
Nagios監控MongoDB分區叢集服務實戰
基於CentOS 6.5作業系統搭建MongoDB服務
MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡
本文永久更新連結地址: