Banco de dados muito ativo com alta% de tempo de disco

5

Eu tenho um site muito ativo que está usando um banco de dados NoSql (RavenDb). Eu não tenho números exatos, pois não tenho certeza de como extrair essa informação (qualquer ajuda seria ótima!)

Mas olhando no monitor de desempenho no contador '% Disk Read' no disco em que meu banco de dados está sendo executado, ele é regularmente mais de 1000 ... o que não faz sentido se for um perecentage ???

O desempenho de meus sites diminui quando esses números são tão altos, não tanto que não podem ser usados, mas devem ser melhores.

Estou olhando para os contadores de desempenho corretos, o que mais eu posso ver para descobrir se meu disco está sob carga pesada ... e ainda melhor se eu puder descobrir o porquê.

Meus discos são de 2TB 7200 rpm (não é o ideal, eu sei, mas é tudo o que tenho disponível atualmente) 12GB de memória (usa cerca de 80%) Processador Dual Xeon

Eu entendo que esta pergunta é um pouco vaga, eu preciso de alguma ajuda para obter os detalhes certos para ajudá-lo a responder melhor, apenas deixe-me saber o que vai ajudar.

Paul

    
por Paul Hinett 26.04.2012 / 00:26

2 respostas

7

Seu instinto está correto; Eu não iria mais longe do que os discos. Os discos SATA de nível de consumidor são terrivelmente lentos e não adequados para hospedar aplicativos de negócios. O elo fraco será a velocidade real do fuso e o controlador de armazenamento (RAID). Tudo o mais, o SCSI serial-attached (SAS) renderá muito mais IOPS do que o SATA. Evite o RAID5 para bancos de dados (a maioria), use o RAID10 sempre que possível.

Infelizmente, como acontece com muitos outros problemas de TI, a única solução real é "ser menos pobre".

ATUALIZAÇÃO:

Para responder à sua pergunta sobre o "% Tempo de Leitura do Disco", consulte o seguinte artigo da Microsoft KnowledgeBase. Parece que alguns controladores de armazenamento relatam estatísticas de uma maneira estranha. Com isso dito, definitivamente parece que seus discos estão sendo empurrados para o limite absoluto.

    
por 26.04.2012 / 00:35
1

Não é possível usar% de tempo de leitura do disco para informar se o disco está ocupado, porque "o tempo de ocupação [é] baseado na duração da solicitação de E / S, que inclui o tempo gasto em outras atividades além da leitura ou gravando a partir do disco. Em seguida, ele resume todo o tempo ocupado para todas as solicitações e o divide pelo tempo decorrido do intervalo de amostra.Se várias solicitações estiverem em processo por vez, o tempo total da solicitação é maior que o tempo do intervalo de amostra como resultado, a utilização de discos relatada pode exceder a utilização real. "

veja Examinando e ajustando o desempenho do disco

    
por 26.04.2012 / 01:53