@arcain
Quais ferramentas de benchmark você está usando?
Várias ferramentas disponíveis, como SQLIOSim e SQLIO, dependendo de como estão configuradas, podem fazer com que o tamanho da fila de disco atinja níveis altos, mas tudo bem, já que faz parte do teste. O problema são os tempos de espera que você mencionou, para mim, isso é um dado inoperante da contenção do disco. Com exceção da saturação de malha de SAN causada por muitas VMs, minha experiência é que os discos (quando não os SSDs) são sempre o maior gargalo. Dito isto, eles normalmente não devem resultar em estados de espera, a menos que sejam compartilhados com outro host que os esteja utilizando ativamente.
Nessas situações, sugiro usar o SQLIO do MS (isto é, se isso não for o que você já está usando). Sendo que o seu Symmetrix tem um cache de 8GB, eu testaria com um arquivo de teste de 16GB ou mais para empurrar o cache para garantir que a variação não seja tanto o cache, mas sim o que os discos subjacentes estão realmente produzindo.
Você pode usar o SQLIO para criar o arquivo para uma bateria de testes e, em seguida, executar o seguinte em relação a ele:
sqlio -kW-t2-s120 -dE -o4 -fsequential -b64 -BH -LS Testfile.dat
O parâmetro -d refere-se à letra da unidade, neste caso E:
Esse teste executa um conjunto de gravações sequenciais em um período de 2 minutos (-s120) e você pode agrupar em um arquivo de lote simples com registros de data e hora para ajudá-lo a controlar a hora do dia e canalizar os resultados para um arquivo de log. Reveja. Escreva o lote para executar o item acima ou algo similar repetidamente por um período e analise os resultados. Quanto maior a amostra, melhor.
Se os discos são realmente dedicados, e como você está empurrando o seu cache, os IOs, MBs e latências resultantes devem estar bem próximos (variação de 1-5%). Se for além disso para mais de 15% ou mais, provavelmente você terá contenção de disco.
Outra coisa, não se esqueça de anotar a data e os horários dos seus testes e em quais unidades você testou. Todos os SANs têm algum tipo de registro para criar o seguinte perfil:
- Gravações rápidas - escreve em cache e depois é liberado no disco
- Gravações rápidas atrasadas - uma situação em que seu cache global para gravações é saturado e precisa lavar alguns gravações anteriores para o disco para dar espaço para as novas solicitações de gravação recebidas
- Read Hits - lê que ficou satisfeito pelo cache global
- Read Misses (Long e Short) - o read foi parcialmente satisfeito com o cache global (curto) ou não em tudo e teve que puxar tudo do disco (longo)
Você deve poder solicitar essas informações para ajudar a avaliar o desempenho do seu Symmterix, já que este é um SAN compartilhado com outros hosts.
Poste de volta com alguns resultados, se puder, ficarei mais feliz em analisá-los.