Welcome 微信登录

首页 / 数据库 / MySQL / 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-mongodbiibench-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:$CLASSPATHWiredTiger的命令行: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扩展 http://www.linuxidc.com/Linux/2012-02/53833.htmCentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htmUbuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htmMongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htmUbunu 14.04下MongoDB的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htmNagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htmMongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里本文永久更新链接地址