热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MariaDB10.1和MySQL5.7在普通商用硬件上的表现

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

#

你读到我的上一篇文章关于 MariaDB 10.1 GA 性能的文章时,你可能会困惑我为什么对 MySQL 5.7 只字未提。原因有两个:首先,MySQL 在那时还不是 GA。其次,MySQL 在 Power8 上运行并不稳定。

这次,我会拿出一个比较基准来对比他们之间的性能差别。我选了一些比较普通的硬件,因为大多数用户将运行这样的主机。用的是一个OVH的SP-64主机。4核英特尔CPU,内存为64G。磁盘一般,但基准又是一个简化的只读OLTP往返内存的工作负载。

为了让事情更有趣,我加了最新的 MySQL 5.6。所以我们现在有4个对比:全新的 MySQL5.7 GA和它的前辈和全新 MariaDB10.1 GA 和它的前身。就不再多说废话了,看结果。

#

对于那些更偏爱数字而非图表的同学:

clientsMariaDB 10.0.21MariaDB 10.1.8MySQL 5.6.27MySQL 5.7.9
1 22166 22748 24456 21499
2 41220 42155 45314 40552
4 70850 72865 78024 69816
8 112328 118933 126892 112442
16 113645 119503 129029 112502
32 113572 119663 127780 112925
64 111003 117255 125526 110663
128 111015 116137 124158 108568
256 111232 115688 116337 102345

所以应该是 MySQL 性能更加优越。但我们能从这些数字中获取的信息远不止这些。让我们看看还能从这些数字中提取到什么内容:

clientsMariaDB 10.1 vs. MariaDB 10.0MySQL 5.7 vs. MariaDB 10.1MySQL 5.7 vs. MySQL 5.6
1 +2,6% -5,5% -12,1%
2 +2,3% -3,8% -10,5%
4 +2,8% -4,2% -10,5%
8 +5,9% -5,5% -11,4%
16 +5,2% -5,9% -12,8%
32 +5,4% -5,6% -11,6%
64 +5,6% -5,6% -11,8%
128 +4,6% -6,5% -12,6%
256 +4,0% -11,5% -12,0%

这种比较的结果是令人惊讶的,MySQL 5.7.9不仅比 MariaDB 10.1.8(我猜你应该阅读,在MariaDB博客)慢,而且它也比 MySQL 的27年6月5日慢得多。这个不幸的趋势也被其他人观察到了。 MariaDB 另一方面可以从 10.0.21 升级至 10.1.8。

基准测试详细信息

在使用基准再次sysbench的。基准是使用单个一百万行的表。使用单个或多个表对这样一个小机器不会产生太大的差别。 my.cnf如下:

[mysqld]
max_cOnnections= 300
table_open_cache = 600
innodb_buffer_pool_size = 512M
performance–schema = false
secure_file_priv = /tmp

注意:最后一行只对 MySQL 5.7 是有意义的。而倒数第二行(禁用性能模式)只对 MySQL 有意义。没错,请确保您禁用性能模式或压低 MySQL 的性能几个百分比。 MariaDB 默认情况下是禁用性能模式的。

用以测试的命令是这样的:

sysbench–0.5 –test=lua/oltp.lua  –oltp–table–size=1000000 \
–oltp–read–Only=on –oltp_point_selects=1000 \
–oltp_sum_ranges=0 –oltp_simple_ranges=0 \
–oltp_order_ranges=0 –oltp_distinct_ranges=0 \
—max–requests=0 —max–time=100 –num–threads=… run

MariaDB 10.1.8 发布下载,MySQL 分支  2015-10/124262.htm

Linux系统教程:如何检查MariaDB服务端版本  2015-08/122382.htm

MariaDB Proxy读写分离的实现 2014-05/101306.htm

Linux下编译安装配置MariaDB数据库的方法 2014-11/109049.htm

CentOS系统使用yum安装MariaDB数据库 2014-11/109048.htm

安装MariaDB与MySQL并存 2014-11/109047.htm

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10  2014-11/109471.htm

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB  2014-12/110048htm

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

英文原文:MariaDB 10.1 and MySQL 5.7 performance on commodity hardware


推荐阅读
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • 开发心得:利用 Redis 构建分布式系统的轻量级协调机制
    开发心得:利用 Redis 构建分布式系统的轻量级协调机制 ... [详细]
  • 本文将深入探讨MySQL与MongoDB在游戏账户服务中的应用特点及优劣。通过对比这两种数据库的性能、扩展性和数据一致性,结合实际案例,帮助开发者更好地选择适合游戏账户服务的数据库方案。同时,文章还将介绍如何利用Erlang语言进行高效的游戏服务器开发,提升系统的稳定性和并发处理能力。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 前两天有位朋友邀请我回答个问题,为什么MongoDB(索引)使用B-树而Mysql使用B+树?我觉得这个问题非常好,从实际应用的角度来学习数据结构,没有比这更好的方法了。因为 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 深入解析Redis中五大数据类型的实用应用场景与技巧
    本文将深入探讨Redis中五大核心数据类型的实际应用场景与使用技巧。通过详尽的分析和示例,帮助读者理解每种数据类型的特性和最佳实践,内容涵盖广泛,步骤清晰,细节处理得当,旨在为开发者提供全面的指导。 ... [详细]
  • MongoDB高可用架构:深入解析Replica Set机制
    MongoDB的高可用架构主要依赖于其Replica Set机制。Replica Set通过多个mongod节点的协同工作,实现了数据的冗余存储和故障自动切换,确保了系统的高可用性和数据的一致性。本文将深入解析Replica Set的工作原理及其在实际应用中的配置和优化方法,帮助读者更好地理解和实施MongoDB的高可用架构。 ... [详细]
  • 我了解的差别有: ... [详细]
  • 在不知道如何运行某个数据库的情况下,请不要在该数据库上运行基准测试。本篇案例很好的解释了原因。EnterpriseDB赞助OnGres用MongoDB与PostgreSQL做基准测 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了Redis管道事务Lua脚本对比相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
杨浩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有