Processadores MySQL e Multi-Core

8

Estou executando o MySQL no servidor win2008 em um processador xeon multi-core. Parece que ele usa apenas um único núcleo.

Existe algo que eu preciso configurar para que ele use todos os núcleos?

O servidor suporta um site carregado com muitas chamadas. Tenho certeza de que há mais de uma chamada ao mesmo tempo, mas o DB parece lidar com qualquer coisa em um único núcleo.

O que posso fazer para melhorar isso?

Dani
fonte
Você verificou as configurações de afinidade do processo no gerenciador de tarefas?
gekkz
Qual versão do mysql você está usando ???
RolandoMySQLDBA
O MySQL 5.0 e 5.1 são multithread , mas também notei que algumas funções (como Replicação) usarão 100% de uma CPU na máquina multiprocessador / multicore enquanto os outros núcleos ficam ociosos.
Stefan Lasiewski

Respostas:

7

Se você quiser ajustar o MySQL para utilizar múltiplos núcleos, precisará atualizar para o MySQL 5.5.

De acordo com o whitepaper do MySQL "What's New in MySQL 5.5 Performance and Scalability" de dezembro de 2010:

Controle de threads de E / S em segundo plano - Os usuários agora têm dois novos parâmetros de configuração para todas as plataformas, innodb_read_io_threads e innodb_write_io_threads, que permitem definir o número de threads em segundo plano usados ​​para pedidos de leitura e gravação. Isso ajuda os usuários a ajustar e escalar seus aplicativos MySQL em sistemas high-end de vários núcleos. 􀁸 Controle da taxa de E / S do segmento principal - Os usuários agora podem configurar a capacidade geral de E / S

Os parâmetros mencionados são innodb_read_io_threads e innodb_write_io_threads .

Essas configurações não existem antes do MySQL 5.1.38. De fato, apenas o MySQL Plugin permite essas configurações no MySQL 5.1. Ele está incluído no InnoDB nativo do MySQL 5.5.

Talvez esta publicação no blog ofereça mais informações sobre a escalabilidade do InnoDB para vários servidores principais .

RolandoMySQLDBA
fonte
É 5.5, vou verificar esses parâmetros e aprovar.
25411 Dani