对于两台机器之间的MySQL 5.5复制性能,我遇到了严重的问题,主要是基于语句的复制的myISAM表。二进制日志和mysql数据目录都位于同一个融合ioDrive上。
这个问题是一个大问题,最近我们需要暂停复制大约。三个小时。它花了大约10个小时才再次赶上,没有其他负载。

如何提高复制的性能?机器B基本上是空闲的(小,IO,16个内核中有2个最大,空闲内存很多),因为只有一个mySQL线程在写数据。以下是我的一些想法:
主要的问题是,如果停顿3h后需要10h才能赶上,这意味着复制将在10h内写入13h的数据,或能够以130%的速度写入进来的数据。我希望在不久的将来至少双写主计算机,因此迫切需要一种改进复制性能的方法。
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
# mem = key_buffer + ( sort_buffer_size + read_buffer_size ) * max_connections
key_buffer=4G
max_heap_table_size = 1G
tmp_table_size = 4G
myisam_sort_buffer_size = 256M
sort_buffer_size=4M
read_buffer_size=2M
query_cache_size=16M
query_cache_type=2
thread_concurrency=32
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sockmy.cnf:
[mysqld]
server-id=72
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
# Performance Tuning
max_allowed_packet=16M
max_connections=500
table_open_cache = 2048
max_connect_errors=1000
open-files-limit=5000
# mem = key_buffer + ( sort_buffer_size + read_buffer_size ) * max_connections
key_buffer=4G
max_heap_table_size = 1G
tmp_table_size = 4G
myisam_sort_buffer_size = 256M
sort_buffer_size=4M
read_buffer_size=2M
query_cache_size=16M
query_cache_type=2
thread_concurrency=32
user=mysql
symbolic-links=0
plugin-load=archive=ha_archive.so;blackhole=ha_blackhole.so
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sock发布于 2012-07-17 20:34:15
这不是一个答案,但您可以考虑钨复制器及其商业产品,以获得更大的灵活性。瓶颈是单核的cpu使用率是100%吗?
发布于 2012-07-17 20:36:03
所以如果你对奴隶做备份..。你用我的桌子..。您正在锁定表以进行备份以防止损坏。所以,在备份完成之前,复制是无法工作的。然后它就追上来了。
https://serverfault.com/questions/408631
复制相似问题