VMware vSphere ESXi 6.7 ve 7.0 sürümlerinde NFS (Network File System) kullanarak veri okuma performansında ciddi düşüşler yaşanabiliyor.
Özellikle ağ paket kaybı (packet loss) yaşandığında ESXi’deki TCP gecikmeli onay (Delayed ACK) mekanizması, depolama cihazındaki TCP yavaş başlatma (Slow Start) algoritması ile istenmeyen bir etkileşime girerek ciddi performans sorunlarına yol açıyor.
Sorunun kaynağını belirlemek için ağ trafiği analiz edilmiştir:
- ESXi ile depolama cihazı arasındaki trafik donanımsal paket yakalama sistemleriyle (optik tap üzerinden) incelenmiştir.
- Wireshark kullanılarak ağ trafiği detaylı olarak analiz edilmiştir.
- Yapılan analizde şu durum tespit edilmiştir:
- Depolama cihazı, TCP yavaş başlatma (Slow Start) algoritmasını kullanıyor.
- ESXi ise gecikmeli onay (Delayed ACK) mekanizmasını devrede tutuyor.
- Bu iki faktör birleştiğinde, 100ms’lik uzun veri aktarım duraksamaları oluşuyor.
- Delayed ACK kapatıldığında, NFS okuma performansında büyük bir iyileşme görülüyor.
Eğer vSphere 7.0 veya daha yeni bir sürüm kullanıyorsanız TCP Delayed ACK mekanizmasını devre dışı bırakarak NFS okuma performansını artırabilirsiniz.
TCP Delayed ACK (100ms) Kapatma Adımları
- Delayed ACK’i devre dışı bırakın: shCopyEdit
esxcli system settings advanced set -o "/SunRPC/SetNoDelayedAck" -i 1
- Ayarın doğru uygulandığını doğrulayın: shCopyEdit
esxcli system settings advanced list | grep -A10 /SunRPC/SetNoDelayedAck
Bu komutlar ESXi’nin NFS üzerinden daha hızlı yanıt vermesini sağlar ve gecikmeleri azaltır.