3
MySQL复制性能
我在两台机器(主要是myISAM表和基于语句的复制)之间的MySQL 5.5复制性能方面遇到严重问题。二进制日志和mysql数据目录均位于同一Fusion ioDrive上。 最近,当我们需要暂停复制大约2秒钟时,这个问题是一个大问题。3小时。没有其他负载,又花了大约10个小时再次赶上。 如何提高复制性能?机器B基本上是空闲的(很少,IO,16个中的2个内核已用完),因为只有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 Tuning max_allowed_packet=16M max_connections=500 table_open_cache = 2048 max_connect_errors=1000 open-files-limit=5000 …