mysql redo/binlog 放在ssd盘或SAS盘性能差异测试

背景:写这篇博客主要原因是因为看到某司线上数据库都配置了SSD盘,但是他们却把redo文件放在普通SAS盘,看到这个忽然想到这配置SSD盘有什么作用呢?对数据库的性能到底是否有提升?

以下是我用sysbench测试的结果:

./sysbench --test=tests/db/update_non_index.lua --mysql-user=dbauser --mysql-password=
--mysql-port=3307 --oltp-table-size=1000000 --oltp-num-table=1 --mysql-host=127.0.0.1
--num-threads=64 prepare

./sysbench --test=tests/db/update_non_index.lua --oltp-table-size=1000000
--oltp-tables-count=1 --mysql-user=dbauser --mysql-password=*
--mysql-host=127.0.0.1 --mysql-port=3307 --num-threads=64 --max-requests=0
--max-time=120 --report-interval=3 run

1. 测试参数:

innodb_buffer_pool_size=90G
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1

测试结果:

2. 测试参数:

innodb_buffer_pool_size=90G
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2
sync_binlog = 0

测试结果:

3. 测试参数:

innodb_buffer_pool_size=90G
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1

测试结果:

从上面的测试结果中很容易的可以发现,redo放在SSD和SAS盘上面的性能差异是非常大的,就算把redo修改成不安全的模式还是有明显的差异。

时间: 2024-12-31 02:33:20

mysql redo/binlog 放在ssd盘或SAS盘性能差异测试的相关文章

mysql源码-关于mysql redo log的问题。

问题描述 关于mysql redo log的问题. http://bugs.mysql.com/bug.php?id=73202 上面是一个官方的patch, According to the crash recovery logic of mysql server, we only need to write/sync prepared transaction before writing to binlog. And currently transactions are not groupe

mysql 利用binlog增量备份,还原实例

mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/MySQL/mysql-bin.log,如果是这样的话log-bin

SAS盘和SATA盘有什么区别

很多人一提到SAS盘和SATA盘之后,首先想到的是接口方面的区别,SAS的接口速度比SATA高很多,所以认为SAS盘要比SATA盘快,性能高.其实,接口方面的区别并不是主要的,只是很小的一方面.那么,SAS盘和SATA最大的区别到底在什么地方呢? 这是磁盘内部的剖析图,对于一块磁盘而言,最重要的是驱动电机(Actuator).磁头(read/write heads)以及磁盘面(Discs).SAS盘是企业级应用盘,我们可以称之为Enterprise Disk,SATA盘是面向普通用户,面向对性能

SAS盘阵航天联志AL-7121A 打造SMB存储方案

如何将有限的资金用于选购性价比更为突出的存储产品,是目前存储需求日益增长的中小型企业所面令的最为头疼的问题.在存储盘阵中,随着即将亮相的6Gbps SAS标准的推出,在存储市场这个特有的过渡期中,处于成熟期的3Gbps SAS相关产品,却渐渐的呈现出了一种逆势而兴的趋势,并成为了近期众多中小型企业最为关注的高性价比产品之一. 作为一款被众多政府机关和行业机构选用的SAS盘阵产品,航天联志自主研发的AL-7121A,以高安全.高性能.高扩展等众多优势,成为了为中小型企业创建低成本存储解决方案的热门

mysql的binlog太大太多占用大量磁盘的解决

  现象:网站访问越来越慢,最后无法访问了,经过检查发现磁盘满了.仔细查询下来确认是由于mysql的binlog太多太大占用了空间. 分析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘.内存和进程使用的情况,通过top.df –h和free –m来检查,发现磁盘空间满了.再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大.清理binlog的方法如下: 1) 设置日志保留时长expire_logs_days自动删除 查看当前日志保存天数: show

阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元.ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析 基于日志增量订阅&消费支持的业务: 数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) se

MySQL的binlog日志

binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版).二进制有两个最重要的使用场景: 其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致

航天联志面对中小企业推出AL-7121A SAS盘阵

   如何将有限的资金用于选购性价比更为突出的存储产品,是目前存储需求日益增长的中小型企业所面令的最为头疼的问题.在存储盘阵中,随着即将亮相的6Gbps SAS标准的推出,在存储市场这个特有的过渡期中,处于成熟期的3Gbps SAS相关产品,却渐渐的呈现出了一种逆势而兴的趋势,并成为了近期众多中小型企业最为关注的高性价比产品之一. 航天联志自主研发的AL-7121A的一款SAS盘阵产品,以高安全.高性能.高扩展等众多优势,成为了为中小型企业创建低成本存储解决方案的热门SAS盘阵产品. 性能优越

Mysql操作binlog二进制日志数据的例子

系统环境: 服务器系统:CentOS 6.5 x86_64 Mysql版本 :Mysql 5.1 一.binlog介绍 1.binlog,即二进制日志,它记录了数据库上的所有改变. 2.改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕 3.binlog格式 1.基于语句,无法保证所有语句都在从库执行成功,比如update-limit 1; 2.基于行,将每一次发动记为binlog中的一行,在执行一个特别复杂的update或delete操作时,