Uma das minhas ferramentas favoritas para avaliar e comparar rapidamente o desempenho do processador e da memória em um servidor de banco de dados é o Geekbench 3 da Primate Labs. A Primate Labs acaba de lançar o Geekbench 3.0 completamente reescrito em 16 de agosto de 2013, e a versão mais recente é o Geekbench 3.02.
O desenvolvedor do Geekbench, John Poole, descreve o Geekbench 3 assim:“O Geekbench 3 inclui 15 novos testes de benchmark que são projetados para modelar tarefas intensivas do processador do mundo real. Os novos testes abrangem vários domínios de aplicação diferentes, incluindo criptografia, processamento de imagem, processamento de sinal e simulação física. O Geekbench 3 também inclui 12 testes de benchmark completamente reescritos do Geekbench 2. Esses testes agora são mais representativos de aplicativos e cenários de uso do mundo real.”
Geekbench é um benchmark de plataforma cruzada, processador e memória que mede rapidamente o desempenho do processador inteiro e de ponto flutuante junto com o desempenho da memória em um computador em apenas alguns minutos, sem exigir (ou permitir) qualquer configuração. Basta instalar o Geekbench, desbloquear sua licença e executar o programa, e você verá os resultados em aproximadamente dois a três minutos. Você pode então decidir se deseja enviar seus resultados para o banco de dados online do Geekbench, anonimamente ou usando uma conta do Geekbench. Por design, o Geekbench não mede o desempenho de E/S.
Figura 1:tela principal do Geekbench 3
Pontuações do Geekbench
O Geekbench 3 tem uma pontuação geral Single-Core e uma pontuação geral Multi-Core, juntamente com pontuações individuais para cada um dos vinte e sete testes no benchmark. A pontuação de núcleo único é muito útil para avaliar o desempenho de memória e processador de thread único, o que é muito importante para cargas de trabalho OLTP do SQL Server (já que a maioria das consultas OLTP acaba sendo executada apenas em um núcleo de processador único). A pontuação multinúcleo é útil para avaliar o desempenho do processador multissegmentado e da memória de toda a máquina.
Com o licenciamento baseado em núcleo do SQL Server 2012, você quer ter certeza de que está obtendo o melhor desempenho de thread único possível de cada núcleo de processador físico para o qual precisa comprar uma licença de núcleo do SQL Server 2012 relativamente cara. A pontuação do Geekbench 3 Single-Core é uma maneira rápida e fácil de medir o desempenho do processador single-thread e da memória.
Cenários de uso do Geekbench
Um cenário de uso útil para o Geekbench 3 é confirmar que os núcleos do processador não estão sendo restringidos devido ao gerenciamento de energia no nível de software ou hardware. Os processadores Intel e AMD modernos podem reduzir o uso de energia elétrica quando não estão sob uma carga de trabalho pesada, reduzindo a velocidade atual do núcleo. Essa é uma boa maneira de aumentar a vida útil da bateria em um laptop ou tablet, mas não é uma boa ideia para um servidor de banco de dados de missão crítica. O problema é que a velocidade do núcleo dos processadores não reage com rapidez suficiente (dependendo do modelo do processador) a um aumento na carga para evitar prejudicar o desempenho, especialmente para consultas do tipo OLTP de curta duração.
Por padrão, o Windows Server 2008 e versões mais recentes usam o Plano de Energia Equilibrado quando são instalados pela primeira vez. Você deve certificar-se de alterar essa configuração para usar o Plano de Energia de Alto Desempenho em seu servidor de banco de dados, mas deve estar ciente de que a configuração de gerenciamento de energia de hardware no nível do BIOS pode substituir o Plano de Energia do Windows. Isso significa que, mesmo que você tenha o Plano de Energia do Windows definido como Alto Desempenho, a velocidade do núcleo do processador ainda pode ser reduzida para menos do que a velocidade nominal do clock base do processador.
Você pode detectar esse problema usando o utilitário gratuito CPU-Z (como mostrado na Figura 2) para ver a velocidade do núcleo atual do núcleo #0 do processador atual. Se a velocidade do núcleo atual for significativamente menor do que a velocidade nominal do clock base do seu processador, você tem o gerenciamento de energia de software ou hardware (ou ambos) em vigor. Às vezes é mais difícil descobrir isso com os processadores Intel mais recentes quando eles não estão sob nenhuma carga, então você pode usar o Geekbench 3 para colocar uma carga intensa no seu processador. Enquanto o Geekbench 3 estiver em execução, observe a velocidade do núcleo atual no CPU-Z para garantir que o processador esteja funcionando na velocidade de clock base nominal do processador ou realmente acima dela durante o teste.
O Intel Turbo Boost 2.0 permite que núcleos de processador individuais sejam executados acima de sua velocidade de clock base nominal quando o sistema operacional solicitar o estado de desempenho do processador mais alto (P0) se estiverem operando abaixo dos limites de especificação de energia, corrente e temperatura para todo o processador. Este é um recurso eficaz e útil, especialmente para o desempenho do servidor de banco de dados OLTP.
Se você tiver o gerenciamento de energia de hardware e software configurado corretamente e tiver o Turbo Boost ativado no BIOS, você deverá ver os núcleos do processador executados periodicamente em uma velocidade de clock base maior que a normal enquanto estiver executando o Geekbench 3 (como você vê na Figura 2 e Figura 4).
Você também verá pontuações diferentes no Geekbench 3 com base em suas configurações gerais de gerenciamento de energia de hardware e software e no processador exato que você está usando. Os processadores Intel Nehalem de 45nm mais antigos e os processadores Intel Westmere de 32nm são mais afetados pelas configurações de gerenciamento de energia do que os processadores Intel Sandy Bridge de 32nm, Intel Ivy Bridge de 22nm ou Intel Haswell de 22nm mais recentes.
Figura 2:tela CPU-Z do sistema Dell PowerEdge R720 em execução Geekbench 3
Suas pontuações gerais no Geekbench 3 e suas pontuações de memória no Geekbench 3 também são afetadas pelo seu tipo e configuração de memória. Por exemplo, dependendo do processador (onde está o controlador de memória), pode fazer uma diferença bastante significativa quanto exatamente quantos módulos de memória são preenchidos e exatamente quais slots são preenchidos. Também faz diferença se você tem módulos de memória de 1333MHz, módulos de memória de 1600MHz ou módulos de memória de 1866MHz (1866MHz é suportado pelo próximo Intel Ivy Bridge-EP). A Dell tem um utilitário de configuração de memória online para seus servidores de 12ª geração que pode ajudá-lo a configurar sua memória corretamente, mas você pode usar as pontuações de memória no Geekbench 3 para validar se está obtendo um melhor desempenho após uma alteração na configuração de memória.
A Figura 3 e a Figura 5 mostram os resultados do Geekbench 3 para um servidor Dell PowerEdge R720 de dois soquetes com dois processadores Intel Xeon E5-2670 Sandy Bridge-EP de 32 nm em comparação com um sistema de desktop de soquete único com um Intel Core i7 de 22 nm mais recente e mais rápido -3770K processador Ivy Bridge (que também é levemente overclock).
O sistema Ivy Bridge com velocidade de clock mais rápida tem uma pontuação Single-Core muito mais alta do que o sistema de servidor Sandy Bridge com velocidade de clock mais baixa. O Ivy Bridge também possui algumas pequenas melhorias arquitetônicas que melhoram ligeiramente seu desempenho em comparação com o Sandy Bridge.
A execução do Geekbench 3 leva apenas cerca de dois a três minutos e fornece muitas informações úteis sobre o desempenho do processador e da memória. Mesmo que você não consiga ou não queira executar o Geekbench em seus servidores de banco de dados (durante uma janela de manutenção ou antes de serem implantados em produção), você ainda pode aproveitar o banco de dados online de pontuações do Geekbench para encontrar um sistema semelhante ao que você deseja Avalie.
Figura 3:Resultados do Dell PowerEdge R720 64-bit Geekbench 3
Figura 4:Exibição CPU-Z do Ivy Bridge Core i7- Sistema de desktop 3770K executando o Geekbench 3
Figura 5:Ivy Bridge Core i7-3770K Desktop System 64- Bit Geekbench 3 Resultados