PowerFlex 写入性能问题

Summary: 在执行网络维护后,某些 SDS 的写入性能现在较差。

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

场景
- 在对架顶式交换机 (TOR) 执行网络维护(通常是交换机重新启动)后,会出现此问题。

 - SDS 节点对数据网络使用 LACP 绑定。

 - 只有使用执行了维护的交换机的 SDS 节点才会受到影响。

 - 对于某个存储池/PD,写入性能最高可达数百毫秒。

 - 同一组SDS的读取性能正常。

 - diag_counters.txt中的“NET_LONG_RCV_GRP_PROCESS”表示值快速攀升,而最后一次增量值保持低位。

示例

 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  

在此示例中,第三列中的值很高(如果观看直播,则值会增加)。第五列显示上次遇到它的时间,对于大部分 SDS 来说,这一时间不到一秒。
在运行状况良好的 PowerFlex 系统中,第三列将不会计数,第五列将计数,因为上次遇到的时间会随着时间的推移而增加。 


要实时观看计数器,可以运行以下命令:

#Set 受影响保护域中的 SDS 的变量。在此处输入正确的物理磁盘名称。

 pd=<PD_NAME>

#Set 保护域中 SDS 数量的变量。按原样运行。

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

#login 以允许最后一个命令起作用。

 scli --login --username admin

从每个 SDS 的“query_diag_counters”命令中 #Watch 正确的计数器。

 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"

在一个健康的系统中,预计第五列会随着时间的推移定期计数,而第三列是静态的。如果第五列时间保持较低,并且第三列正在倒计时,则这是问题的症状。 

冲击
客户端的写入性能较差。

Cause

上面跟踪的“NET_LONG_RCV_GRP_PROCESS”表示将 TCP 数据发送到远程 SDS 需要的时间超过 1 秒才能完成。

由于网络维护后初始 TCP 拥塞窗口较小,并且未在作系统中正确设置 OOO(无序)数据包参数,因此可能会发生此延迟。这会导致 SDS 到 SDS 套接字无法有效通信,从而导致多次 TCP 重新传输和缩短段大小。这会在写入时产生更高的延迟,因为这只会影响 SDS 到 SDS 插槽。 

读取延迟不受影响,因为 SDC(客户端)为每个读取 IO 请求与单个 SDS 通信,并且不依赖于 SDS 到 SDS TCP 通信。

Resolution

要立即解决此问题,请在每个受影响的节点上重新启动 SDS 服务。重新启动 SDS 进程时使用维护模式。节点处于维护状态后,“pkill sds”就足够了。  

要防止将来发生此问题,请执行以下作:

  1. 应用此公共知识库文章中讨论的 sysctl 设置:
    Storage Data Server 节点可能不包含正确的系统调整参数,这可能会导致性能问题
     
  2. 如果使用 RHEL/CentOS 7,请将 SDS 节点上的作系统内核版本更新为“3.10.0-1160.66.1”或更高版本

受影响的版本

PowerFlex 3.x

已修复问题的版本

RCM 版本 3.6.3.2 或更高版本
IC 版本 38.363.02 或更高版本

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.