Que estatísticas de desempenho posso usar para determinar se o hyperthreading melhorará o desempenho?

1

Existem várias perguntas perguntando se a desativação do hyperthreading melhorará o desempenho (por exemplo, isso ). A resposta (como é para todas as perguntas de desempenho) é claro "perfilá-lo em sua carga de trabalho".

Como executar experimentos em um ambiente de produção é uma ideia ruim (quem quer ver um desempenho reduzido de um experimento em produção!) e nem sempre é possível configurar um ambiente de desenvolvimento realista, fiquei imaginando quais medidas estão disponíveis para determinar se o hyperthreading pode estar prejudicando o desempenho (de tal forma que executamos apenas uma experiência que provavelmente terá sucesso!).

Notas:

  1. Esta não é uma pergunta específica de SQL, não estou procurando estatísticas de SQL, mas sim contadores de desempenho do sistema operacional
  2. O código-fonte não está disponível, por isso, nenhuma alteração pode ser feita para monitorar o desempenho.
por dave 10.02.2017 / 07:16

2 respostas

3

Eu não sei dizer se você é muito acadêmico na abordagem, mas para a maioria das cargas de trabalho em CPUs modernas , as pessoas recomendam deixar a hiperestensão ativada.

Agora, considerando que você não forneceu detalhes como os requisitos do aplicativo, versão / versão / distribuição do SO ou especificações de hardware / plataforma / modelo de CPU, é difícil fornecer informações reais.

  • Quais métricas são importantes para sua empresa ou seus usuários?
  • Você tem monitoramento histórico?
  • Você está vendo ferramentas internas como perf ?
  • Você está tendo um problema de desempenho hoje ?
  • Examine seus sistemas com uma ferramenta como Netdata para realmente ver o que está acontecendo no sistema.

Mas se você estiver usando hardware de sistema com processadores Intel Nehalem ou CPUs mais recentes, deixarei o hyperthreading ativado, a menos que você tenha uma razão convincente para não fazê-lo. Se você tiver um carga de trabalho determinística ou algo que depende do desempenho de encadeamento único, então talvez ... Mas muitas vezes há outras falhas frutas como perfis de desempenho de energia, desativando estados C, configuração de BIOS, ajuste de nível de sistema operacional.

    
por 10.02.2017 / 09:50
2

As running experiments in a production environment is a poor idea

Não, não é. Criar uma simulação realística do seu ambiente ao vivo custará tanto quanto o gasto total com sua TI - não é apenas o custo de replicação da infraestrutura do servidor, isso é minúsculo comparado ao custo de criação de uma demanda representativa mas simulada. Existem muitos produtos que pretendem fazer isso - mas ainda não vi nenhum que chegue perto.

Nem as empresas com orçamentos astronômicos de TI consideram que qualquer coisa tem valor comprovado até que seja testada na produção.

Homem.

Quanto ao que você pode medir para determinar se o seu sistema foi melhorado ou piorado por uma alteração na configuração, já que você não nos disse nada sobre o serviço ou os componentes, não podemos responder à pergunta.

    
por 11.02.2017 / 01:01