Como faço para executar corretamente um bake-off do MySQL?

27

Quero testar o desempenho (também conhecido como bake-off) rpm do servidor MySQL em relação a alguns outros garfos, como o servidor Percona, o MariaDB e possivelmente outros. Espero que, ao fazer esta pergunta, eu possa entender melhor a metodologia por trás da configuração de um teste de desempenho adequado. Eu planejava usar o sysbench para executar meu teste real, mas estou aberto a qualquer coisa.

  1. Que etapas devo tomar para garantir que o teste resulte em uma comparação de maçãs para maçãs e que apenas o RDBMS seja a variante?
  2. Onde eu começo?
  3. Como avalio os resultados?
  4. Que conselho você pode me dar?
randomx
fonte
11
Randy pode verificar os resultados do sysbench do MariaDB 5.2 vs Percona 5.1 / 55 vs MySQL 5.0 / 5.1 / 5.5 de alguém em vbtechsupport.com/606 e vbtechsupport.com/657 para obter algumas idéias.
P4guru

Respostas:

14

Aqui está a primeira coisa que pensei

  1. Configure 3 servidores de banco de dados (configurações idênticas do HW / OS) cada um instalado com

    • MySQL
    • Percona
    • MariaDB
  2. Obtenha um quarto servidor instalado com o MONyog (a versão eval dura 30 dias)

  3. Registre os 3 servidores de banco de dados no MONyog

  4. Use os gráficos de métricas de desempenho no MONyog ou configure seus próprios gráficos no MONyog

  5. Use o SysBench contra todos os 3 servidores de banco de dados, a seu critério

Este é apenas um esboço básico. Acredite, você pode usar o Monyog imediatamente . Confira meu depoimento no site da MonYog (procure meu nome na página). Evidentemente, convenci minha empresa a comprar a versão Utlimate imediatamente após meu depoimento, que eles assistiram comigo quando aconteceu.

Advertência: Não obtenha o Monyog até ter os 3 servidores de banco de dados e o Sysbench Ready para obter o melhor uso de 30 dias do MonYog.

UPDATE 2011-06-20 13:18 EDT

Se você mantiver o InnoDB Buffer Pool Small (o padrão para innodb_buffer_pool_size é 8M) e manter os logs binários desativados (não inclua bin no log my.cnf), essas métricas deverão ser medidas

Many of these are default graphs in MONyog's Monitors/Advisors Section, and more graphs can be created to check other desired MySQL metrics. MONyog also lets you export the graphs as CSV data.

UPDATE 2011-10-12 14:17 EDT

Percona realizou um bake-off entre vários lançamentos do MySQL

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

Todos os testes foram realizados com o MySQL não configurado. Os resultados?

  • O MySQL 4.1 executa o melhor processo single-threaded
  • MySQL 5.1 com plug-in InnoDB escalável em múltiplos núcleos melhor que o 5.1 InnoDB compilado, 5.5 e 5.6

O que eu ganho com isso? Você deve configurar o MySQL 5.5 / 5.6 para obter melhorias multicore .

RolandoMySQLDBA
fonte
E o lado da documentação e análise disso? Que métricas importam?
randomx
7

Isso deve ser muito útil para você, pois é o padrão de referência do setor para bancos de dados, TPC-C, http://www.tpc.org/tpcc/spec/tpcc_current.pdf

Mesmo que você não use a execução deste benchmark, as informações contidas no documento de definição de teste devem fornecer toneladas de informações sobre como configurar seu próprio benchmark para testar suas opções de banco de dados.

James Pulley
fonte
2
O Percona possui uma implementação do tpcc para variantes do mysql; code.launchpad.net/~percona-dev/perconatools/tpcc-mysql
Sean McMillan
Muito útil Sean: Obrigado por atualizar esta discussão com a referência Percona
James Pulley