PowerFlex Yazma Performansı Sorunları
Summary: Ağ bakımı gerçekleştirdikten sonra, belirli SDS'lerin yazma performansı artık düşüktür.
Symptoms
Senaryo
- Bu sorun, Raf Üstü anahtarlarda (TOR'lar) ağ bakımı gerçekleştirildikten sonra, yani genellikle anahtarların yeniden başlatılmasından sonra görülür.
- SDS düğümleri, veri ağları için bir LACP bağı kullanıyor.
- Yalnızca bakımın gerçekleştirildiği anahtarları kullanan SDS düğümleri etkilenir.
- Yazma performansı, belirli bir Depolama Havuzu/PD için yüzlerce milisaniyeye kadar çıkabilir.
- Aynı SDS setinin okuma performansı normaldir.
- diag_counters.txt'deki "NET_LONG_RCV_GRP_PROCESS", değerlerin hızlı bir şekilde tırmandığını, en son ne zaman artırıldığının ise düşük kaldığını gösteriyor.
Örnek:
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
Bu örnekte, üçüncü sütundaki değer yüksektir (ve canlı izleniyorsa artar). Beşinci sütun, SDS'lerin büyük bir kısmı için bir saniyeden az olan en son ne zaman karşılaşıldığını gösterir.
Sağlıklı bir PowerFlex sisteminde, en son karşılaşma zaman içinde arttığından üçüncü sütun sayılmaz ve beşinci sütun geri sayılır.
Sayaçları canlı izlemek için aşağıdaki komutlar çalıştırılabilir:
Etkilenen Koruma Etki Alanındaki SDS'ler için değişkeni #Set. Uygun PD adını buraya girin.
pd=<PD_NAME>
Koruma Etki Alanındaki SDS sayısı değişkenini #Set. Bunu olduğu gibi çalıştırın.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login son komutun çalışmasına izin vermek içindir.
scli --login --username admin
Her SDS için "query_diag_counters" komutundan doğru sayacı #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"
Sağlıklı bir sistemde, beşinci sütunun zaman geçtikçe düzenli olarak sayılmasını ve üçüncü sütunun statik olmasını bekleyin. Beşinci sütun süresi düşük kalıyorsa ve üçüncü sütun yukarı sayıyorsa bu durum sorunun bir belirtisidir.
Etki
İstemciler için yazma performansı düşüktür.
Cause
Yukarıda izlenen "NET_LONG_RCV_GRP_PROCESS", uzak bir SDS ye TCP verileri gönderme işleminin tamamlanmasının 1 saniyeden uzun sürdüğünü göstermektedir.
Bu gecikme, ağ bakımı sonrasında ilk TCP tıkanıklık penceresinin küçük olması ve işletim sisteminde OOO (Sıra Dışı) paketleri parametresinin uygun şekilde ayarlanmaması nedeniyle oluşabilir. Bu, SDS - SDS yuvalarının etkili bir şekilde iletişim kuramamasına neden olarak birden fazla TCP yeniden iletimine ve segment boyutunun küçülmesine yol açar. Bu, yalnızca SDS - SDS soketlerini etkileyeceği için yazma işlemlerinde daha yüksek bir gecikme süresi oluşturur.
SDC'ler (İstemciler) okuma G/Ç isteği başına tek bir SDS ile iletişim kurduğundan ve SDS ile SDS TCP arasındaki iletişimi kullanmadığından okuma gecikme süresi etkilenmez.
Resolution
Anında geçici bir çözüm için etkilenen her düğümde SDS hizmetini yeniden başlatın. SDS işlemini yeniden başlatırken bakım modunu kullanın. Düğüm bakıma girdikten sonra bir "pkill sds" yeterlidir.
Sorunun gelecekte ortaya çıkmasını önlemek için aşağıdakileri yapın:
- Bu genel KB makalesinde açıklanan sysctl ayarlarını uygulayın:
Depolama Veri Sunucusu düğümleri, performans sorunlarına neden olabilecek doğru sistem ayarlama parametrelerini içermeyebilir
- RHEL/CentOS 7 kullanıyorsanız SDS düğümlerindeki işletim sistemi çekirdek sürümünü "3.10.0-1160.66.1" veya sonraki bir sürüme güncelleyin
Etkilenen Sürüm
PowerFlex 3.x
Düzeltildiği Sürüm
RCM sürüm 3.6.3.2 veya üstü
, IC sürümü 38.363.02 veya üstü