MySQL 5.1 vs MySQL 5.5 (5.1 duas vezes mais rápido)

4

Instalei recentemente o MySQL 5.1 no CentOS 6.2 e obtive um ganho de desempenho em relação ao MySQL 4.1 que estamos executando. Então eu atualizei o MySQL 5.1 para o MySQL 5.5 para ver se havia um ganho ainda maior, mas na verdade ele rodava a metade da velocidade da configuração do MySQL 5.1.

O teste que eu fiz foi em uma tabela com registros de 2.3M com notas de blobs.

5.1: 57.5899 seg

5,5: 96,3821 segundo

O que é realmente interessante é que, se eu puxar 100.000 recordes, o 5.5 bate o 5.1, mas qualquer coisa depois acaba fazendo a carga 5.5 como em picos; acelera e desacelera como carregamento, que é onde os segundos extras parecem estar vindo.

Alguma idéia de por que isso acontece? Mesmo my.cnf para 5.1 e 5.5

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
bind-address = xxx.xxx.xxx.xxx

#This option makes InnoDB to store each created table into its own .ibd file.
innodb_file_per_table=1
max_allowed_packet=900M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
    
por David 21.02.2012 / 21:54

2 respostas

8

Há momentos em que o MySQL 5.1 pode superar o MySQL 5.5 sob certas circunstâncias.

Percona realizou um bake-off entre várias versões do MySQL

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (com InnoDB integrado)
  • MySQL 5.1 com o plugin InnoDB
  • MySQL 5.5
  • MySQL 5.6

Todos os testes foram realizados com o MySQL desconfigurado (em outras palavras, nenhum my.cnf foi feito). Os resultados?

  • O MySQL 4.1 realiza o melhor com o single-threaded do InnoDB
  • MySQL 5.1 com escalas de plug-in InnoDB em múltiplos núcleos melhor que 5.1 InnoDB, 5.5 e 5.6 internos

Se você quer que versões mais recentes do MySQL tenham um desempenho melhor, você deve sintonizá-lo. Na verdade, eu descrevi no DBA StackExchange a ideia de executar um MySQL Bakeoff .

O que eu quero dizer com isso?

No MySQL 5.5, existem novas opções InnoDB para utilizar segmentos de leitura mais dedicados, escrever tópicos e, em geral, / O capacidade . Isso pode envolver mais CPUs em servidores multicore. Left unconfigured , o MySQL 5.5 operaria no mesmo nível de campo, na maioria dos casos, como versões mais antigas do MySQL. Às vezes, poderia ter um desempenho pior.

Pense nos seguintes termos:

  • Entra lixo, sai lixo
  • Você recebe o que paga por
  • Duas palavras: Due diligence

Conclusão: O MySQL 5.5 e o Percona Server devem ser configurados para os aprimoramentos de desempenho desejados.

Tenha isso em mente

O que é um Lamborghini?

por 22.02.2012 / 17:45
1

Os problemas que você está vendo podem ser causados por dezenas de causas-raiz diferentes. Você definitivamente não deveria adivinhar; você certamente precisa medir e diagnosticar com cuidado. Se você coletar informações suficientes, a causa verdadeira será evidente, e a solução será óbvia (desde que você também entenda o suficiente sobre as partes internas do servidor para saber o que você está vendo). Se você adivinhar e tentar fazer coisas como reconfigurar o servidor, minha experiência mostra que você pode agravar o problema ou causar outros problemas, e nunca saberá se alguma alteração específica ajudou ou não.

Eu sugeriria usar a ferramenta pt-stalk do Percona Toolkit para capturar um conjunto de dados de diagnóstico do servidor quando ocorrer um dos picos de lentidão e o mesmo para quando estiver rodando mais rapidamente. Quase certamente haveria informações suficientes para entender o que está acontecendo. Se você não se sente à vontade para fazer um diagnóstico a partir dele, qualquer provedor de suporte competente do MySQL não deve ter nenhum problema se você tarball os samples do stalk e enviá-los.

Eu não pretendo ser muito repetitivo ou insistente, mas, novamente, por favor, não use tentativa e erro em um presente.

    
por 23.02.2012 / 02:23