Problemas de desempenho de gravação do PowerFlex

Summary: Depois de executar a manutenção da rede, o desempenho de gravação de determinados SDSs agora é ruim.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Cenário
 - Esse problema ocorre após a manutenção da rede nos switches topo de rack (TORs), normalmente uma reinicialização dos switches.

 - Os nós SDS estão usando uma ligação LACP para as redes de dados.

 - Somente os nós SDS que usam os switches onde a manutenção foi realizada são afetados.

 - O desempenho de gravação pode ser de até centenas de milissegundos para um determinado pool de armazenamento/PD.

 - O desempenho de leitura do mesmo conjunto de SDSs é normal.

 - O "NET_LONG_RCV_GRP_PROCESS" no diag_counters.txt mostra os valores subindo rapidamente, enquanto a última vez incrementada está permanecendo baixa. 

Exemplo:

 Comp     :: Counter                          ::  Value               :: ExtData               :: Last Counted(Ms)    
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3756453             :: 0xffffffff            :: 3120                
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3825395             :: 0xffffffff            :: 960                 
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3705906             :: 0xffffffff            :: 1320                
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  4094919             :: 0xffffffff            :: 1230                
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3954725             :: 0xffffffff            :: 1390                
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3594178             :: 0xffffffff            :: 420                 
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3702403             :: 0xffffffff            :: 680                 
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3830299             :: 0xffffffff            :: 510                 
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  3491713             :: 0xffffffff            :: 330                 
NET      :: NET_LONG_RCV_GRP_PROCESS         ::  4155343             :: 0xffffffff            :: 690  

Neste exemplo, o valor na terceira coluna é alto (e aumentando se estiver assistindo ao vivo). A quinta coluna mostra a última vez que foi encontrado, o que é menos de um segundo para uma boa parte dos SDSs. 
Em um sistema PowerFlex íntegro, a terceira coluna não será contada para cima e a quinta coluna será contada para cima, pois a última vez encontrada aumenta com o tempo. 


Para assistir aos contadores ao vivo, os seguintes comandos podem ser executados:

#Set a variável dos SDSs no domínio de proteção afetado. Digite o nome adequado do PD aqui.

 pd=<PD_NAME>

#Set a variável para o número de SDSs no domínio de proteção. Execute como está.

 num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`

#login permitir que o último comando funcione.

 scli --login --username admin

#Watch o contador correto do comando "query_diag_counters" para cada SDS.

 watch -d -n 1 "for x in \$(scli --query_all_sds | grep -A $num $pd | grep ID | awk '{print \$5}'); do echo \$x; scli --query_diag_counters | grep -A30 \$x | grep -Em1 '\$x|NET_LONG_RCV_GRP_PROCESS'; done"

Em um sistema saudável, espere que a quinta coluna esteja contando regularmente com o passar do tempo e que a terceira coluna seja estática. Se o tempo da quinta coluna está ficando baixo e a terceira coluna está contando para cima, isso é um sintoma do problema. 

Impacto
O desempenho de gravação é ruim para clients.

Cause

O "NET_LONG_RCV_GRP_PROCESS" que está sendo rastreado acima indica que o envio de dados TCP para um SDS remoto levou mais de 1 s para ser concluído.

Esse atraso pode ocorrer devido a uma pequena janela inicial de congestionamento do TCP após a manutenção da rede e à ausência do parâmetro de pacotes OOO (fora de ordem) definido adequadamente no sistema operacional. Isso faz com que os soquetes de SDS para SDS não consigam se comunicar efetivamente, levando a várias retransmissões de TCP e redução do tamanho do segmento. Isso cria uma latência mais alta nas gravações, pois isso afetará apenas o SDS para soquetes SDS. 

A latência de leitura permanece inalterada, pois os SDCs (clients) se comunicam com um único SDS por solicitação de E/S de leitura e não dependem da comunicação de SDS para SDS TCP.

Resolution

Para uma solução temporária imediata, reinicie o serviço SDS em cada nó afetado. Use o modo de manutenção ao reiniciar o processo do SDS. Um "pkill sds" é suficiente quando o nó está em manutenção.  

Para evitar que o problema ocorra no futuro, faça o seguinte:

  1. Aplique as configurações sysctl discutidas neste artigo da KB pública:
    Os nós do servidor de dados de armazenamento podem não conter parâmetros corretos de ajuste do sistema, o que pode resultar em problemas de desempenho
     
  2. Se estiver usando RHEL/CentOS 7, atualize a versão do kernel do sistema operacional nos nós do SDS para "3.10.0-1160.66.1" ou posterior

Versão afetada

PowerFlex 3.x

Correção feita na versão

RCM versão 3.6.3.2 ou posterior
IC versão 38.363.02 ou posterior

Affected Products

PowerFlex appliance connectivity, Ready Node Series

Products

PowerFlex rack, PowerFlex custom node, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760, PowerFlex appliance R7625, PowerFlex appliance R640 , PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...
Article Properties
Article Number: 000223654
Article Type: Solution
Last Modified: 04 Feb 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.