É possível fazer backup de um banco de dados mysql enquanto em uso causar corrupção?

1

Aqui está o acordo, eu gero um site considerável e faço backups diários todas as noites. Desde que me mudei para o meu novo servidor, notei que, depois de fazer backups, minha média de carga aumenta para 24+ (tenho 24 núcleos), enquanto normalmente é de 5 a 6. Parece que o mysql pode estar trabalhando muito e a corrupção da tabela ocorre (Total de tabelas fragmentadas: 26). Além disso, acredito que esteja causando um despejo de memória porque (26099120k usado, 6856320k livre) e no máximo 40% foi alocado com os processos em execução listados no TOP.

Acredito que algumas tabelas estão sendo corrompidas e causando sobrecarga e vazamento de memória. O banco de dados é de cerca de 4 gGB (ambos MyISAM e InnoDB) e eu uso mysqldump para despejar o banco de dados. Devo reparar as tabelas e desligar o servidor da Web durante o backup?

Sistema Operacional: Centos Versão Mysql: 5.0.77 (eu preciso atualizá-lo)

    
por Billy 15.05.2011 / 18:50

1 resposta

1

Fragmentação não é corrupção.

Por todos os meios, corrija a fragmentação ( optimize table table_name; - seja avisado, isso bloqueará as tabelas durante a operação) - pode ser um grande contribuidor para sua carga enquanto os backups não estão em execução, bem como durante os backups.

Recomendo seriamente que o banco de dados seja executado em um sistema separado do servidor da Web, em vez de apenas obter servidores progressivamente mais massivos nos quais executar a pilha inteira. Deve ser muito mais fácil descobrir onde os gargalos existem em seu aplicativo e permitir que você aloque recursos mais especificamente (em vez de forçar o MySQL e seu servidor da Web a disputar a mesma RAM).

    
por 15.05.2011 / 19:09

Tags