热门标签 | 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吧


推荐阅读
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细解析了MySQL中常见的几种错误,并提供了具体的解决方法,帮助开发者快速定位和解决问题。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 探讨在 MongoDB 副本集中因故障导致只剩两个从节点时的解决方案和影响 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
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社区 版权所有