Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu makale 3 bölümlü bir seriye eklenmiştir. Bölüm 2: TCP/IP performansına bağlı ağ sorunlarını ve 3. Bölüm: TCP/IP performansı bilinen sorunları gözden geçirebilirsiniz.
İletim Denetimi Protokolü/İnternet Protokolü (TCP/IP) performansı bir karşılaştırmadır. Karşılaştırma, donanım, ağ yolu ve İşletim Sistemi (OS) açısından aynı uç noktalarla yapılmalıdır. Gerçek hayattaki performans farklıdır çünkü birden fazla faktör söz konusudur ve bir darboğaza neden olabilir. Bu faktörler genellikle temel alınan ağ, TCP’nin tasarımı ve depolama IO’larının gerçek iletim hızıdır.
Uç noktalar için en iyi performansı gösteren yapılandırmayı ayarlamak için performans ayarlama hakkında daha fazla bilgi edinin.
TCP alma penceresi otomatik ayarlama , yüksek gecikmeli ağlarda bant genişliğini kullanmak üzere bağlantının ölçeğini artırmak için kullanılan uygulama tanımlı bir özelliktir. Örneğin, TCP otomatik kapatma düzeyini normale doğru kullanacak şekilde yapılandırılmışsa ve uygulama TCP penceresi için tanımlanmış yeterli arabelleğe sahipse işletim sistemi TCP'yi en yüksek düzeye hızla ölçeklendirir. Ancak bu özellik daha yüksek gecikme süresine sahip ağlar için tasarlanmıştır. Düşük gecikme süreli ağlarda, anında çok fazla segment olmayacağından (örneğin, ağ içinde) böyle bir gereksinim yoktur.
Bir kerede maksimuma ölçeklendirilmeyen bir TCP penceresine sahip yüksek gecikmeli ağlar için bant genişliği gecikmeli ürünü (BDP) belirlemek ve pencereyi uygun şekilde ölçeklendirmek için KÜP, NewReno ve Bileşik TCP gibi algoritmalar vardır. Windows işletim sistemi, oluşturulan her yuvaya bir tıkanıklık algoritması atar.
TCP ayarları Windows 10'da önceden tanımlanmıştır. TCP ayarlarını almak için Get-NetTCPSettings cmdlet'ini kullanın ve yerel veya uzak IP adresi, yerel veya uzak bağlantı noktası ve bağlantı durumu gibi TCP bağlantı özelliklerini görüntülemek için Get-NetTCPConnection cmdlet'ini kullanın.
Aktarım hızını geliştirmeye ilişkin ipuçları şunlardır:
- Altta yatan ağ sorunları (paket kaybı) olmadığından emin olun.
- Temel alınan bir ağ uyumluluk sorunu veya sorun giderme amacı dışında performans özellikleri (Jumbo çerçeveler, RSS/VMQ, boşaltma özellikleri ve RSC gibi) için NIC’nin gelişmiş özelliklerini etkinleştirin.
- TCP’nin otomatik ayar seviyesini normale çevirecek şekilde yapılandırıldığından emin olun.
- CPU veya depolama darboğazı olmadığından emin olmak için Performans İzleyicisi analizini kullanın.
- Gerçek kuruluşların gereksinimlerine göre güvenlik özelliklerini seçin.
- Bir temel oluşturun.
TCP aktarım hızı için test aracı
Belirli bir donanım için mümkün olan en yüksek aktarım hızını elde etmek için performans faktörlerini ayarlamanız gerekir. Temel alınan ağ sorunları (paket kaybı) olmadığından emin olun. aktarım hızını test etmek için NTttcp.exe veya ctsTraffic.exe aracını kullanın. Ağ İş Yükleri için Performans Araçları'na bakın.
TCP aktarım hızı performans sorunları
TCP aktarım hızı testleri sırasında ağ izleyicisi kullanmayın veya ağ paket düzeyi günlüklerini almayın. Ağ Sürücüsü Arabirimi Belirtimi (NDIS) izleme filtreleri, her paket kaydedildiğinde gönderen ve alıcılar için bir gecikme ekler. Bu işlem, CPU kaynaklarını gerektirir ve birçok depolama IO'sunu oluşturur. TCP paket kaybından kurtulmaya çalıştığından, paket düzeyi günlükleri alındığında performans düşer.
Güvenlik eklemenin kendi maliyet ve performans sorunları vardır. İnternet Protokolü Güvenliği (IPsec) gibi güvenlik protokollerinin ek yük ve ek işlem gereksinimleri vardır. Veri korumayı veri bütünlüğüyle karşılaştırırken, daha az işlem maliyeti için IPsec'in bütünlük modu tercih edilmelidir. Güvenlik yazılımının paket işleme için de çok büyük bir maliyeti vardır ve bu da daha yavaş çıkışlara neden olur.
Test edilen performans beklentileri karşılamıyorsa, Ağla İlgili Performans Sayaçları'nda tanımlanan günlükleri alın.
TCP performans sorunlarını denetledikten sonra, dosya sistemi protokolleri (Sunucu İleti Bloğu (SMB) veya Ağ Dosya Sistemi (NFS) gibi üst katmanla ilişkilendirilmiş protokolleri denetleyin. Bu protokoller için işlemci kaynakları ve disk G/Ç'leri gerekir. Yavaş hız hatalı bir sürücü veya donanım, yüksek ertelenmiş yordam çağrısı (DPC) kuyruğu veya/ve yavaş disk G/Ç'leri neden olur. Xperf/Windows Performans Kaydedicisi (WPR) (CPU) günlüğü kullanılarak analiz yapılması gerektiğinden işletim sistemindeki hangi bileşenin yüksek DC'lere neden olduğunu bulmak zordur. Diskle ilgili yavaşlık sorunlarını bulmak nispeten daha kolaydır. Daha fazla bilgi için bkz . Disk Performansını Denetleme ve Ayarlama.
Test sırasında, test uygulamaları (istemci ve sunucu uygulamaları) maksimum aktarım hızına ulaşacak kadar yüksek arabellek değerlerine sahip birden çok iş parçacığını kullanacak şekilde ayarlanabilir. Ancak, her API çağrısının kullanabileceği iş parçacığı ve arabellek sayısı programlamaya bağlı olarak sınırlı olduğundan bu gerçek koşulları yansıtmayabilir. Ayrıca, uygulama katmanı protokolü (SMB veya Ortak İnternet Dosya Sistemi (CIFS)) kendi arabelleğine ve iyileştirmesine sahiptir (Dosya Sunucuları veya SMB için Performans Ayarlama: Sorun Giderme Kılavuzu). Uygulama temel için beklendiği gibi çalışmıyorsa, performans sorununu bulmak için bir uygulama uzmanıyla birlikte çalışın.
Temel oluşturma
Geçerli aktarım hızını karşılaştırmak için bir performans temeli oluşturulmalıdır. Ağı daha iyi anlamak için dağıtımın başında temeli oluşturun.
Taban çizgisi aşağıdaki ana noktalar tarafından oluşturulur:
- Kaynak ve hedef ağlar
- Bu ağlar arasındaki gecikme süresi ve atlama sayısı
- İşlemci/arabirim özelliği ve yapılandırması
- Testlerin zaman çerçevesi (çalışma saatleri/çalışma dışı saatler/yoğun saatler)
- İşletim sistemi sürümleri
- Aktarım hızı çekme ve aktarım hızı gönderme
Not
İşleme gücünü neredeyse eşit tutmak için temeli aynı sunucu modelleriyle (aynı sayıda NIC kartı ve işlemci kapasitesi) oluşturun.
Arabelleği izleyin ve test araçları tarafından oluşturulan aktarım oturumlarının sayısını izleyin. Dört eşzamanlı TCP aktarım oturumu, RSS etkinken CPU'ları eşit olarak kullanmayı değerlendirebilir.
Aktarım hızını ölçme ve temel oluşturma adımları şunlardır:
ctsTraffic aracını indirin. burada ctsTraffic aracının bazı parametrelerinin açıklaması yer alır.
Parametre Açıklama -listen:<IP/*>
Bu seçenek, sunucularda dinleyen bağlantı noktası için kullanılır. Belirtilirse *
, ctsTraffic aracı söz konusu makinede kullanılabilen tüm IP adreslerini dinler. Örneğin,-listen:*
.-target:<IP>
Bu seçenek istemcilerde kullanılır ve ctsTraffic.exe çalıştığı ve dinleme durumunda olduğu sunucunun IP adresini belirtir. Örneğin, -target:192.168.1.10
.-pattern:pull
CtsTraffic aracı varsayılan olarak Anında iletme desenini kullanır. Bu, verilerin istemciden sunucuya gönderildiği anlamına gelir. Bu anahtar hem istemcide hem de sunucuda kullanıldığında, veriler istemciye alınır. Anında iletme testi gerçekleştirirken bu seçeneği kullanmayın. -connections:<num>
Bu seçenek, TCP bağlantılarının sayısını belirtir. TCP yuvaları istemciden aynı anda oluşturulur. Orta düzey ağ kartlarında RSS kuyrukları 8 olduğu için genellikle sekiz kullanılır. Örneğin, -connections:8
.-iterations:<num>
Bu seçenek, içindeki -connections:
bağlantı sayısının çarpımını belirtir. Örneğin,-iterations:10
. 10 yineleme ile istemci toplamda 80 bağlantı dener. Bu seçenek belirtilmezse, istemci 1000 bağlantıya kadar 8 bağlantı denemeye devam eder.-statusfilename:<filename.csc>
Konsol düzeyi 1 seçeneğini Microsoft Excel ile uyumlu bir .txt
dosyaya boşaltmak için bu seçeneği kullanın.-connectionfilename:<filename.csv>
Ayrıntılı ayrıntıları temizlemek için bu seçeneği kullanın. Örneğin, her yuvanın verileri aktarmak için geçen süre gibi yuva düzeyi bilgileri. Bu seçenekle herhangi bir hata veya gelişmiş sorun giderme olup olmadığını de kontrol edebilirsiniz. -consoleverbosity:<0|1|2|3>
Bu seçenek, test çalışırken monitördeki görünümü veya çıkışı belirtir. Örneğin, -consoleverbosity:1
.Alıcı tarafında Kaynak İzleyicisi'ni açın. Örneğin, kullanıyorsanız
-pattern:pull
istemcide açın, aksi takdirde sunucuda açın.Sunucuda ctsTraffic aracını başlatın ve aşağıdaki komutu çalıştırın:
Ctstraffic.exe -listen:* -consoleverbosity:1 <-pattern:pull>
İstemcide ctsTraffic aracını başlatın ve aşağıdaki komutu çalıştırın:
Ctstraffic.exe -target:<serverip> -consoleverbosity:1 <-pattern:pull> -connections:8 -iterations:10
Alıcı tarafın işlemcilerinin eşit bir şekilde kullanıldığından emin olun. Çalışmıyorsa, hangisinin beklendiği gibi çalışmadığı hakkında bilgi edinmek için RSS ile ilgili sorunu denetleyin.
İstemcideki sonuma göre bit/saniye cinsinden aktarım hızını hesaplayın. Aşağıdaki ekran görüntüsündeki örne bakın:
Bu örnekte aktarım hızı neredeyse 19 Gb/sn'dir ve aşağıdaki gibi hesaplanır:
(85.899.349.200 bayt/36.678 saniye) * 8 = 18.735.885.097.33355 (bit/saniye)