小编Nic*_*ick的帖子

MySQL 复制性能

我在两台机器之间的 MySQL 5.5 复制性能方面遇到了严重问题,主要是带有基于语句的复制的 myISAM 表。二进制日志和 mysql 数据目录都位于同一个 Fusion ioDrive 上。

最近当我们需要暂停复制大约时,这个问题是一个大问题。3小时。在没有其他负载的情况下,大约需要 10 个小时才能再次赶上。

10小时赶上

如何提高复制的性能?机器 B 基本上是空闲的(很少,IO,16 个内核中有 2 个最大化,大量空闲 RAM),因为只有 1 个 mySQL 线程正在写入数据。以下是我的一些想法:

  • 切换到基于行的复制。在测试中,这只产生了 10-20% 的性能提升
  • 使用多线程复制升级到 mySQL 5.6。我们可以轻松地将数据拆分到单独的数据库中,基准测试似乎表明这会有所帮助,但代码似乎还没有准备好投入生产。
  • 一些有助于加速复制的配置变量

主要问题是,如果在暂停 3 小时后需要 10 小时才能赶上,这意味着复制在 10 小时内写入 13 小时的数据,或者能够以数据传入速度的 130% 写入。我正在寻找近期至少要在Master机器上双写,所以迫切需要一种提高复制性能的方法。

机器A:

  • 掌握
  • 24GB 内存
  • 1.2TB Fusion ioDrive2
  • 2 个 E5620
  • 千兆互连

my.cnf

[mysqld]
server-id=71
datadir=/data_fio/mysqldata
socket=/var/lib/mysql/mysql.sock
tmpdir=/data_fio/mysqltmp

log-error = /data/logs/mysql/error.log
log-slow-queries = /data/logs/mysql/stats03-slowquery.log
long_query_time = 2
port=3306

log-bin=/data_fio/mysqlbinlog/mysql-bin.log
binlog-format=STATEMENT
replicate-ignore-db=mysql

log-slave-updates = true

# Performance …
Run Code Online (Sandbox Code Playgroud)

mysql performance myisam replication

15
推荐指数
1
解决办法
6780
查看次数

标签 统计

myisam ×1

mysql ×1

performance ×1

replication ×1