热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MongoDB与MySQL二个数据库的性能测试和对比

2013/5/10byhitzheng@foxmail.com目的测试mysql与mongodb的读写性能说明1.mongodb使用最新的2.4版本2.mysql使用5.0.95,储存引擎使用MYISAM(INNODB实测读写性能只有MYISAM的几分之一)3.测试数据只有两个字段,id:从0递增的整数(索引字段)da

目的

         测试mysqlmongodb的读写性能

说明

1.      mongodb使用最新的2.4版本

2.      mysql使用5.0.95,储存引擎使用MYISAM(INNODB实测读写性能只有MYISAM的几分之一)

3.      测试数据只有两个字段,id: 从0递增的整数(索引字段) data: 数据字段,分别测试了data为1KB和24KB的性能

4.      测试读性能时,查询id是插入过的id中一个随机值

5.      读写并发进程均为50个

6.      打压机:4核/8G,DB机分别测试了部署在普通机(4核/8G内存)和高配机(24核/132G内存),硬盘为普通机械硬盘

7.      打压机与DB机通过1000M网卡直连

一、DB部署在普通机

1.      data大小1KB,读写数目400W

a)      mongodb

 

Total Data Size

QPS

iowait

net

Read

11G

14600

<1%

20Mb/s

Write

11G

10630

~100%

<17Mb/s

b)      mysql

 

Total Data Size

QPS

iowait

net

Read

4G

29000

<1%

35Mb/s

Write

4G

15600

<40%

20Mb/s

2.      data大小24KB,读写数目100W

a)      mongodb

 

Total Data Size

QPS

iowait

net

Read

32G

271

100%

<6Mb/s

Write

32G

1230

~100%

<40Mb/s

b)      mysql

 

Total Data Size

QPS

iowait

net

Read

23G

287

100%

<6Mb/s

Write

23G

6490

40%

130Mb/s

在此数据量下,mysql的写性能远高于mongodb,基本上已把网卡跑满了,读时两者都很慢,通过iostat ?xm 2命令查看,磁盘一直是100%占用

二、DB部署在高配机

1.      data大小1KB,读写数目400W

a)      mongodb

 

Total Data Size

QPS

iowait

net

Read

11G

15800

<1%

20Mb/s

Write

11G

13800

~100%

<20Mb/s

b)      mysql

 

Total Data Size

QPS

iowait

net

Read

4G

38200

<1%

45Mb/s

Write

4G

23800

<40%

27Mb/s

2.      data大小24KB,读写数目100W

a)      mongodb

 

Total Data Size

QPS

iowait

net

Read

32G

4734

<1%

120Mb/s

Write

32G

2270

~100%

<100Mb/s

b)      mysql

 

Total Data Size

QPS

iowait

net

Read

23G

4700

<1%

120Mb/s

Write

23G

4500

<40%

120Mb/s

结论

1.      从测试的结果来看mongodb的性能并没有传说中的那样完胜mysql,以上测试各种情况下写性能mysql至少比mongodb快50%,读性能基本比mongodb快100%

2.      测试时发现写数据时mongodb的硬盘io占用非常高,iowait为100%的时间基本占一半左右

3.      mongodb的硬盘占用空间比mysql大很多,而且mongodb对内存的占用非常惊人

4.      从性能上看mongodb完全没有理由替换mysql,mongodb的优势是比较完善的集群功能(富本集、自动分片等),友好的Client Api,如果这正是你需要的,那就选mongodb吧


推荐阅读
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • Intellij IDEA中详细图解连接MySQL腾讯云数据库以及基础操作
    虽然小编记录的是在IDEA中连接mysql腾讯云数据库。当然,如果读者使用的是本地数据库,也是一样的操作,只是数据库的url书写有所不同。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
  • 1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版) ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了MongoDB中的覆盖索引查询(Covered Queries)的概念和使用方法。当查询的查询条件和查询计划中只包含索引属性时,MongoDB可以高效地执行查询操作,无需扫描documents或者将documents调入内存中。覆盖索引查询的条件是查询中的所有属性都是索引的一部分,并且查询结果中的属性值都在同一个索引中。通过使用覆盖索引查询,MongoDB可以直接从RAM中的索引中获取数据,比通过扫描文档读取数据要快得多。本文还提供了一个使用覆盖索引查询的示例。 ... [详细]
  • 在csv导入期间是否有合并文档的方法。我在Studio3T的导入csv中找不到合并选项 ... [详细]
  • python中安装并使用redis相关的知识
    本文介绍了在python中安装并使用redis的相关知识,包括redis的数据缓存系统和支持的数据类型,以及在pycharm中安装redis模块和常用的字符串操作。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • Stringpattern".*"+"a?I'm"+".*";FindIterable<Doc ... [详细]
author-avatar
maniac0207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有