Como posso medir a atividade de I / O complexa para desenvolver benchmarking realista? [fechadas]

4

Eu preciso recuperar algumas métricas do meu servidor de serviço para comparar outra solução de stroage. Existem várias opções que são oferecidas pelo programa de benchmark (eu escolhi a FIO, link ). Eu poderia facilmente configurar o padrão io com ele. Mas eu não sabia como recuperar a métrica de serviço real para configurar a variável de referência mais realista possível.

por exemplo, eu preciso configurar,

  • tamanho do arquivo de proporção de leitura / gravação aleatória / sequencial e distribuição de cada
  • tamanho do arquivo (se possível, taxa de leitura / gravação aleatória / sequencial para cada tamanho)
  • iodepth
  • taxa de revisitação do acesso aleatório (pode afetar o desempenho do acesso aleatório)

No momento, estou testando o ceph ( link ). Pelo menos, as métricas parecem ter um impacto significativo para esse tipo de armazenamento do meu estudo. Como posso recuperar esse valor?

collectcl ( link ) parecia promissor. Mas não consegui descobrir nada além da relação de leitura / gravação. Eu não consegui descobrir, exceto essas coisas. Eu realmente gosto de saber como outras pessoas decidem essas variáveis de referência.

Obrigado antecipadamente.

    
por jinhwan 25.04.2014 / 10:47

1 resposta

6

Você pode usar o blktrace para registrar a atividade real de armazenamento do sistema e criar um perfil de uma carga de trabalho existente. Isso pode ser capturado para arquivo.

O rastreamento pode então ser reproduzido .

Outra possibilidade interessante poderia ser o uso do novo utilitário sysdig para tentar analisar o que está acontecendo sob cargas de trabalho representativas.

Além disso, uma resposta aqui mostra uma abordagem interessante usando System Tap :
Linux utilitário para gravar estatísticas de E / S (aleatório / sequencial, tamanhos de bloco , relação de leitura / gravação)

    
por 25.04.2014 / 10:59