Replicação MySQL A-B-C

2

Eu estava configurando a Replicação do MySQL para master - > escravo / mestre - > escravo e replicação para mestre - > escravo suas obras bem, mas quando Eu habilitei esta opção em my.cnf

log-slave-updates=1

para atualizar o log da lixeira principal, minhas replicações estão começando a ficar mais lentas e o tempo

Seconds_Behind_Master

está crescendo.

Eu uso o mecanismo innodb, mas o DB é grande. Qualquer idéia de como eu posso melhorar a replicação, parece que a rede não é o problema. Também pensei em usar

binlog_format=ROW

mas o mestre está usando a configuração padrão para 'declaração' de replicação e eu não posso redefinir o mestre;)

Obrigado ...

    
por nonus25 12.12.2012 / 07:32

3 respostas

0

Oi eu resolvo o problema melhorando o desempenho do innodb. Geralmente eu melhorei as operações do io para isso.

innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_write_io_threads = 32
innodb_read_io_threads = 32
innodb_thread_concurrency = 16

também mudei para btrfs

nospace_cache

após essas alterações tudo funciona bem;) thx for help

    
por 13.12.2012 / 11:59
1

tente descobrir qual é o gargalo

  • é a limitação da cpu do slave [a replicação do mysql no 5.1 e 5.5 é single threaded, ele usará apenas uma vez o core]. se for - pense em colocar CPU mais rápida nos hosts escravos.
  • é o subsistema io no host? se assim for - pense em mais spindles, ssd ou talvez raid card com maior cache bbu no modo write back para 'absorver' spike of writes

    você também pode querer procurar "fora da caixa [mysql]" soluções como o replicador de tungstênio .

por 12.12.2012 / 08:09
0

Você realmente tem replicação assíncrona com 3 mestres? Esta é uma ideia muito ruim. Se você perder um nó, os nós restantes ficarão cada vez mais fora de sincronia.

Also i was think to use...binlog_format=ROW

Depende de como são as suas consultas, pode ajudar, mas o modo MIXED pode ser uma solução melhor.

I use innodb engine but the DB is big.

Se o tamanho do banco de dados estiver afetando o desempenho da replicação, obviamente você terá um grande escopo para melhorar o desempenho por meio de alterações de esquema e ajuste de consulta.

but master is using default setting for replication 'statement' and i cant reset master

Por que não?

    
por 12.12.2012 / 12:55