Pergunta

Estamos executando um banco de dados moderado tamanho (350GB) com algumas tabelas razoavelmente grandes (algumas centenas de linhas, 50GB) em um servidor razoavelmente grande (2 x xeons quad-core, 24GB RAM, 2,5 "10k discos em RAID10), e estão recebendo algumas inserções muito lentas (por exemplo, inserção simples de uma única linha levando 90 segundos!).

Nosso InnoDB_Buffer_Pool_Size é definido como 400MB, o que normalmente seria muito baixo para este tipo de configuração.No entanto, nosso provedor de hospedagem aconselha que isso é irrelevante ao executar na ZFS.Ele está certo?

(Desculpas para o poste duplo em https://dba.stackexchange.com/questions/1975/is-tuning-the-innodb-buffer-pool-size-important-on-solaris-zfs , mas não tenho certezaO público está lá!)

Foi útil?

Solução

Eu ainda seria definir o InnoDB_Buffer_Pool_Size muito mais alto que 400m. A razão? O InnoDB Buffer Pool ainda armazenará em cache as páginas de dados e indexação que você precisa para tabelas acessadas com freqüência.

Execute esta consulta para obter o Innodb_Buffer_Pool_Size recomendado no MB:

Selecione Concat (Rodada (KBS / POWER (1024, se (PW <0,0, se (PW> 3,0, PW))) + 0.49999), Substr ('KMG', se (PW <0, 0, se (pw> 3,0, pw)) + 1,1)) recomendado_innodb_buffer_pool_size de (Selecione Soma (data_length + index_length) KBS de informações_schema.Tables onde o motor= 'InnoDB') a, (selecione 2 PW) B;

Basta usar o resultado dessa consulta ou 80% da RAM instalada (no seu caso 19660M), o que for menor.

Eu também definiria o InnoDB_Log_File_Size para 25% do tamanho do pool de buffer InnoDB. Infelizmente, o valor máximo de InnoDB_LOG_FILE_SIZE é 2047m. (1m curto de 2G) Assim, Set InnoDB_LOG_FILE_SIZE para 2047m desde 25% do InnoDB_Buffer_Pool_Size da minha configuração recomendada é de 4915m.

Ainda outra recomendação é para Desativar a conformidade com ácido . Use 0 ou 2 para innodb_flush_log_at_trx_commit (o padrão é 1 que suporta a conformidade do ácido) Isso produzirá uma escrita de innodb mais rápida no risco de perder até 1 segundo de transações em caso de falha. .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top