PowerScale OneFS: Solucionando problemas de desempenho
Summary: Solucione problemas de baixo desempenho do PowerScale OneFS com um guia abrangente sobre configuração de rede, processamento de cargas e monitoramento com o InsightIQ para melhorar a eficiência do cluster. ...
Symptoms
Os computadores client são executados lentamente. Trabalhos específicos, especialmente aqueles executados no cluster, falham ou demoram mais do que o esperado.
Cause
Os problemas de desempenho geralmente ocorrem devido a tráfego de rede, problemas de configuração de rede, carga de processamento de client ou cluster ou uma combinação desses fatores. Este artigo descreve várias maneiras eficazes de solucionar problemas de desempenho.
Resolution
Solução de problemas com o InsightIQ
Sumário:
- Usando o Isilon InsightIQ
- Solução de problemas sem o InsightIQ
- Throughput de rede
- Distribuição de conexões de client
- Throughput de cluster
- Processamento de cluster
- Operações em fila
- CPU
Usando o Isilon InsightIQ
Usar o Isilon InsightIQ é a melhor maneira de monitorar e solucionar problemas de desempenho.
O equipamento virtual Isilon InsightIQ permite monitorar e analisar a atividade do cluster do Isilon por meio de visualizações de gráficos flexíveis e personalizáveis no aplicativo baseado na Web do InsightIQ. Esses gráficos apresentam informações detalhadas sobre hardware, software e operações de protocolo e file system do cluster. O InsightIQ transforma dados em informações visuais que enfatizam quaisquer outliers de desempenho, permitindo o diagnóstico rápido de gargalos ou a otimização de fluxos de trabalho.
Para obter detalhes sobre como usar o InsightIQ, consulte o PowerScale InsightIQ - Hub de informações.
Solução de problemas sem o InsightIQ
Se você não estiver usando o InsightIQ, poderá executar vários comandos para investigar problemas de desempenho. Primeiro, solucione problemas de desempenho examinando o throughput da rede e do cluster, em seguida, examinando o processamento do cluster e, por fim, examinando as taxas de CPU de nós individuais.
Throughput de rede
Use uma ferramenta de teste de rede, como Iperf ou Iperf3 para determinar os recursos de throughput do cluster e dos computadores cliente em sua rede.
Usando Iperf, execute os seguintes comandos no cluster e no client. Esses comandos definem um tamanho de janela grande o suficiente para revelar se o link de rede é uma possível causa de problemas de latência.
- Cluster:
iperf -s -w 262144 - Client:
iperf -c <cluster IP> -w 262144
O uso do comando Iperf3, execute os seguintes comandos no cluster e no client. Esses comandos definem um tamanho de janela grande o suficiente para revelar se o link de rede é uma possível causa de problemas de latência.
- Cluster:
iperf3 -s -w 262144 Client:iperf3 -c <cluster IP> -w 262144
Distribuição de conexões de client
Verifique quantos clients NFS (Network File System) e SMB (Server Message Block) estão conectados ao cluster para garantir que eles não estejam favorecendo um nó.
- Abra uma conexão SSH em qualquer nó do cluster e faça log-in usando o
rootConta. - Execute o
isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -dpara verificar clients NFS.
O resultado exibe o número de clients conectados por nó e quantos desses clients estão ativos em cada nó. - Execute o
isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -dpara verificar clients SMB.
O resultado exibe o número de clients conectados por nó e quantos desses clients estão ativos em cada nó.
Throughput de cluster
Avalie o throughput do cluster realizando testes de gravação e leitura que medem o tempo necessário para ler e gravar em um arquivo. Realize pelo menos um teste de gravação e um teste de leitura, da seguinte forma.
Escreva um teste.
- Abra uma conexãoSSH em qualquer nó do cluster e faça log-in usando o
rootConta. - Altere para a opção
/ifsDiretório:cd /ifs - Na interface de linha de comando (CLI) do cluster ou de um computador client UNIX ou Linux, use o comando
ddpara gravar um novo arquivo no cluster.
Execute o seguinte comando:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Esse comando cria um arquivo de amostra de 1 GB e informa o tempo que levou para gravá-lo no disco. - A partir da saída desse comando, extrapole quantos MB por segundo podem ser gravados no disco em fluxos de trabalho de fluxo único.
- Se você tiver um cliente MAC e quiser realizar análises adicionais,
- Inicie o Monitor de atividade.
- Execute o
cat /dev/zero > /pathToFilecomando, em quepathToFileé o caminho do arquivo de destino.
Esse comando ajuda a medir o throughput das operações de gravação no cluster do Isilon. (Embora seja possível executar o comandoddde um client MAC, os resultados podem ser inconsistentes.) - Monitore os resultados do comando na guia Rede do Monitor de atividade.
Leia o teste.
Ao medir o throughput das operações de leitura, certifique-se de não realizar testes de leitura no arquivo que você criou durante o teste de gravação. Como esse arquivo foi armazenado em cache, os resultados de seus testes de leitura seriam imprecisos. Em vez disso, teste uma operação de leitura de um arquivo que não foi armazenado em cache. Localize um arquivo no cluster maior que 1 GB e faça referência a esse arquivo no teste de leitura.
- Abra uma conexão SSH em qualquer nó do cluster e faça log-in usando o
rootConta. - Na CLI do cluster ou em um computador client UNIX ou Linux, use o comando
ddpara ler um arquivo no cluster.
Executeodd if=/pathToLargeFile of=/dev/null bs=1024kcomando em quepathToFileé o caminho do arquivo de destino.
Esse comando lê o arquivo de destino e relata o tempo que levou para lê-lo. - Se você tiver um cliente MAC e quiser realizar análises adicionais,
- Inicie o Monitor de atividade.
- Execute o
time cp /pathToLargeFile > /dev/nullcomando em quepathToFileé o caminho do arquivo de destino.
Esse comando ajuda a medir o throughput das operações de leitura no cluster do Isilon. (Embora seja possível executar o comandoddde um client MAC, os resultados podem ser inconsistentes.) - Monitore os resultados do comando na guia Rede do Monitor de atividade.
Processamento de cluster
Trabalhos de redistribuição.
Antes de examinar as operações de entrada/saída (E/S) (IOPS) do cluster:
- Determine quais trabalhos estão em execução no cluster. Se trabalhos de redistribuição, como Auto-Balance, Collect ou MultiScan, estiverem em execução, considere por que esses trabalhos estão em execução e se eles devem continuar a ser executados.
- Considere o tipo de dados que está sendo consumido. Se os computadores cliente estiverem trabalhando com grandes arquivos de vídeo ou máquinas virtuais (VMs), o trabalho redistribuído exigirá uma quantidade maior de IOPS de disco do que o normal.
- Considere pausar temporariamente um trabalho de redistribuição. Isso pode melhorar o desempenho e pode ser uma solução viável de curto prazo para um problema de desempenho.
E/S
do discoExaminar a E/S do disco pode ajudar a determinar se determinados discos estão sendo superutilizados.
Por cluster
- Abra uma conexão SSH com algum nó do cluster e faça login usando a conta "root".
- Execute o
isi statistics pstatpara verificar a E/S do disco. Na saída desse comando, divida a IOPS do disco pelo número total de discos no cluster. Por exemplo, para um cluster de 8 nós que usa nós IQ 12000x do Isilon, que hospeda 12 unidades por nó, você divide a IOPS do disco em 96.
Para nós da Série X e da Série NL, você deve esperar ver IOPS de disco de 70 ou menos para 100% de fluxos de trabalho aleatórios ou IOPS de disco de 140 ou menos para 100% de fluxos de trabalho sequenciais. Como os nós da Série NL têm menos RAM e velocidades de CPU menores do que os nós da Série X, esses últimos podem lidar com IOPS de disco mais alto.
Por nó e por disco
- Abra uma conexão SSH com algum nó do cluster e faça login usando a conta "root".
- Executeo
isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=topcomando para determinar a IOPS do disco por nó, o que pode ajudar a detectar discos que são superutilizados. - Execute o
isi_stats_tool -a get_key_info|grep node.disk.xferpara determinar como consultar estatísticas por disco.
Operações em fila
Outra maneira de determinar se os discos estão sendo utilizados em excesso é determinar quantas operações são enfileiradas para cada disco no cluster. Para um fluxo de trabalho baseado em SMB de fluxo único, uma fila de quatro pode indicar um problema, enquanto para operações de namespace NFS de alta simultaneidade, a fila é maior.
- Abra uma conexão SSH em qualquer nó do cluster e faça log-in usando o
rootConta. - Executeo
isi statistics drive list --nodes=all --sort=queued -dComando para determinar quantas operações são enfileiradas para cada disco no cluster. - Determine quanto tempo a operação ficou na fila:
isi statistics drive list --nodes=all --sort=queued -d
CPU
Problemas de CPU são rastreados com frequência para as operações que os clients executam no cluster. Usando o comando isi statistics , você pode determinar as operações executadas no cluster, catalogadas por protocolo de rede ou computador cliente.
- Abra uma conexão SSH em qualquer nó do cluster e faça log-in usando o
rootConta. - Execute o
isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format topComando para determinar quais operações estão sendo executadas em toda a rede e avaliar quais dessas operações estão levando mais tempo.
Esse resultado de comando fornece estatísticas detalhadas para todos os protocolos de rede, organizadas por quanto tempo o cluster leva para responder aos clients. Embora os resultados desse comando possam não identificar qual operação é a mais lenta, ele pode apontar na direção certa. - Execute o
isi statistics system --nodes all --format toppara obter mais informações sobre o processamento da CPU, como quais CPUs dos nós são as mais usadas. - Execute o
isi_for_array -sX 'top -u -n |grep PID -A4'para obter os quatro processos em cada nó que estão consumindo a maioria dos recursos da CPU.
Additional Information
relacionadosAqui estão os recursos recomendados relacionados a este tópico que podem ser de interesse: