1000 Mbit / s ağımda neden sadece 300-400 Mbit / s alıyorum?


17

Kurulumum şöyle:

Dizüstü Bilgisayar <--> Yönlendirici <--> Masaüstü

Hepsi gigabit Ethernet'i destekler. Dizüstü bilgisayar ve masaüstünde 'iperf' TCP / IP karşılaştırmasını kullanıyorum ve hiç 400 Mbit / s'den fazla ham verim elde etmedim. Dizüstü bilgisayar, Windows XP çalıştıran bir Intel Core 2 Duo 2 GHz, masaüstü bilgisayar Windows 7 çalıştıran bir Intel Core 2 dörtlü 2.4 GHz. Aralarındaki ağ hızını en üst düzeye çıkarmak için nelere bakabilirim? Yazılım ayarları? Kablonun teknik özelliklere uygun olup olmadığını öğrenmenin bir yolu var mı? Cihazlardan birinde bulunan gigabit Ethernet denetleyicisinin maksimum hıza ulaşamayacağını nasıl anlayabilirim?

Yanıtlar:


11

1 Gbit / s, bu bağlantının teorik maksimum değeridir.

Birçok şey bunu etkileyebilir.

Ağ trafiğini işlemek için CPU'ya güvenen büyük olasılıkla ("Dizüstü Bilgisayar" ve "Masaüstü" aygıt açıklamalarına dayalı olarak) yerleşik NIC'lerinizden performansta bir hit bekleyin. Bu nedenle hız, diğer şeyleri yapan CPU'dan etkilenecektir (örneğin, verileri HDD'lerden ağ alt sistemine almak gibi).

Ayrıca, "yönlendiricinin" ne olduğuna bağlı olarak, verileri LAN bağlantı noktasından LAN bağlantı noktasına geçerken işlemeye çalışıyor olabilir, bu nedenle işlem hızları 'bağlantı noktalarının' ne kadar hızlı olduğuna bakılmaksızın veri aktarım hızlarını etkileyebilir. vardır.

Eğer senin yerinde olsaydım, bir sonraki testim kendime 'yeterince uzun' bir CAT6 çapraz yama kablosu almak ve dizüstü bilgisayarı doğrudan PC'ye bağlamak olurdu (birçok NIC'nin destek otomobilleri gibi düz bir kablodan kurtulabilirsiniz) -bugün bu gün).

Bu şekilde (en azından) yönlendiriciyi (ve / veya mevcut kablolamayı) darboğaz olarak kolayca ortadan kaldırabilir veya tanımlayabilirsiniz.


Gigabit geçiş kablosu yapmak için iki olası pin çıkışı için en.wikipedia.org/wiki/… adresine bakın .
eleven81

Kesinlikle iyi bilgi. Bu durumda, kullanıcı bir kablo yapmaya alışkın değilse ve amaç olası yavaşlamaları ortadan kaldırmaksa, muhtemelen fabrikada yapılmış bir kablo kullanarak daha iyi durumdadır. Gevşek bir kıvrımdan daha kötü bir şey yok. ;)
Ƭᴇcʜιᴇ007

14
Gigabit ethernet ile sadece FYI'ye artık çapraz kablolar gerekmiyor. Tüm gigabit ethernet denetleyicilerinin kabloyu 'otomatik olarak algılayabilmesi' gerekir, böylece gigabit ethernet aygıtlarına birlikte bağlanmak için standart bir kablo kullanabilirsiniz. Dizüstü bilgisayarımı doğrudan masaüstüne bağlamayı deneyeceğim ve bir fark olup olmadığını göreceğim.
davr

@davr başarılı olabilir mi?
ebrahim.mr

8

iperf varsayılan olarak oldukça küçük bir pencere boyutu kullanır.

Pencereyi artırın veya UDP modunda çalıştırın ve kolayca 1 Gbit / sn bağlantıyı doyuracaktır.


Bunu düşünmedim, deneyeceğim.
davr

1
Tüketici sınıfı donanım ile doyurmayacaksınız. CPU genellikle PCI veya PCI-Express veri yolu ile sınırlanır. CPU, verileri RAM'den ağ kartına yeterince hızlı taşıyamaz. Sunucu sınıfı donanımın daha iyi olduğu görülüyor. Biliyorum, ben bir programcıyım ve sadece bunu yapmaya çalışıyorum. Yaklaşıyorum ama artık kendi donanımımla sınırlı.
Matt H

1
benim için çalıştı, Windows iperf neden 250mbit / sn ve aynı makinede boot Ubuntu bana 925mbit / sn verdi neden anlamaya çalışırken bir saat boyunca başımı beceriyor. Windows'ta iperf varsayılan olarak 8k tcp pencere boyutu ve linux'da 88k pencere boyutu olarak görünür.
2012'de Omry

@Ory, pencerelerdeki iperf çeşitli açılardan bir köpektir. Çoğunlukla vazgeçtim ve linux altında sadece iperf çalıştırdım
Mike Pennington

4

Jeff Atwood, bir Gigabit ağının gerçek dünya üretiminin neden hesaplamalarında 30MB / s'ye daha yakın olduğuna dair iyi bir analize sahip. (büyük 'B', küçük 'b' değil)

... kesinlikle 10baseT'den 100baseT'ye geçiş yaptığımız mükemmel ölçeklemeyi beklememelisiniz. Büyük bir değişiklik yapmadan, on kat bant genişliği geliştirmesinin yalnızca bir kısmını elde edersiniz


Kullandığı "pcattcp" aracı bir saçmalık. 900MHz linux netbook'um (muhtemelen 2005'te olduğu kadar hızlıdır) geri döngü üzerinden 300MB / s yapıyor.
user23307

Evet, iperf geri döngü üzerinde pcattcp'den çok daha iyi performans verir. Daha iyi bir şey duymadıkça şimdilik test için iperf'e bağlı kalacağım.
davr

1
Ayrıca ben zaten onun 240mbit daha yüksek olsun, ve bu makale 5 yaşında, bu yüzden artık o zamandan beri teknolojinin büyük ölçüde nasıl gelişmiş olması gerektiğini görmek, sanırım alakalı değil.
davr

Geri döngü arayüzünün sanal olduğu göz önüne alındığında (hiçbir şey ağ kartına aktarılmaz) daha iyi bir performans beklersiniz (temelde işlemek için işlem görür ve HDD'ye dokunulmaz). Geridöngü arabirimi üzerinden 8.09 Gbit / sn (1035Mbytes / s) alıyorum.
Matt H

3

Her şey gigabit ise, jumbo çerçeveleri etkinleştirmeyi deneyebilirsiniz . Arkadaşlarımdan biri bunu ev bilgisayarında yaptı ve iş hacminde büyük bir artış olduğunu fark etti. Bununla birlikte, makalede belirtildiği gibi VOIP gibi düşük gecikmeli uygulamalar için bazı dezavantajlar vardır.


Artış çoğu uygulama için dramatik olmamalıdır. Tüm bunlar, paket başına daha az TCP veya UDP protokolü ek yükü anlamına gelir. Ayrıca, en iyi sonuçlar için anahtarınızın / yönlendiricilerinizin jumbo çerçeveleri de desteklemesi gerekir. Yapacağından şüpheliyim.
Matt H

Herhangi bir sonuç için anahtarlarınızın jumbo çerçeveleri desteklemesi gerekir. Yalnızca L2 cihazının, makinenize daha küçük bir paket boyutu kullanması gerektiğini bildirmek için 'Paket çok büyük' ​​ICMP hatası geri göndermesinin bir yolu yoktur.
cpt_fink

1

Bir yönlendirici kullandığınızı mı söylediniz? raf dışı tüketici sınıfı yönlendirici (anahtar değil) mi?

Büyük ihtimalle senin darboğazın olduğunu söyleyebilirim. Bunu doğrulamak için, dizüstü bilgisayarı doğrudan masaüstüne takın. Dizüstü bilgisayarınızı ve masaüstünüzü 192.168.1.10 (dizüstü bilgisayar), 192.168.1.11 (masaüstü) gibi statik bir IP adresi kullanacak şekilde ayarlayın.

Bu, dizüstü bilgisayarın doğrudan masaüstüyle konuşmasına izin vermelidir. Aralarında iperf komutunu çalıştırın ve sonucu buraya bildirin.

Çoğu modern ağ kartı, bir çapraz kablo oluşturmak zorunda kaldığınız eski günlerin aksine kabloları otomatik olarak algılayabilir / alabilir.

Belirgin bir artış görürseniz yönlendiriciniz suçludur. Bazılarının arkasında anahtarlar var, diğerleri aslında portlar arasında geçiş yapabilir. Bu yönlendiricilerin çoğu korkunç performans gösterir. Bu sorun olduğunu bulursanız, o zaman ben olsaydım ya yönlendiriciyi yükseltirdim (muhtemelen internet kullanımı için iyi) ya da kendinize bir GigE anahtarı alıp yönlendirici anahtarına bastırabilirsiniz. Dizüstü bilgisayarınızı ve masaüstünüzü anahtara takın. Bu şekilde, birbirleriyle konuşmak için yönlendiriciyi atlarlar.

Denemeyi tamamladığınızda dizüstü bilgisayarınızı ve masaüstünüzü tekrar DHCP olarak değiştirdiğinizden emin olun.

Size bir fikir vermek için, 650Mbit / s ve üstü olduğunu düşünmeliyim. iperf siz söylemedikçe sabit sürücüyü kullanmaz. Yani hafızanın hafızası veya ağı gerçekten test etmek.

Diğer darboğazlardan biri, CPU'nuzun bellekten veriyi ağ kartına ne kadar hızlı aktarabileceğidir. PCI express üzerindeki ağlar daha iyi çalışıyor gibi görünüyor. Dizüstü bilgisayarlar genellikle oldukça ucuz bu gün inşa düşünüyorum, bu yüzden çok fazla görmüyorsanız o zaman bu diğer darboğaz olabilir.

Ayrıca, tüketici sınıfı anahtarlar genellikle iki bağlantı noktası arasında yalnızca 1 GB anahtarlama ile başa çıkabilirken, üst düzey yönetilen anahtarlar aynı anda tüm bağlantı noktalarındaki kablo hızında geçiş yapabilir. Bu çok daha pahalıya mal olmasının nedeninin bir parçası.


1

Çok sayıda test yaptık ve işletim sistemine kadar kaynatıldı.

Ubuntu 11.04'ten Ubuntu 11.04'e (Linux makineleri için CentOS ile aynı) gidersek, hız çıkışı ~ 938-941 MBits / s sabittir. Windows 7 x64 SP1 Ultimate'dan Ubuntu 11.04'e gidersek, ~ 440-475 MBits / s arasında değişir. Windows 2008 R2SP1 x64'ten Ubuntu 11.04'e geçersek, hız ~ 435-635 MBits / s'dir.

Gördüğünüz gibi, Linux tabanlı makineler Windows ile karşılaştırıldığında Gigabit bağlantılarını tam olarak kullanıyor. Şimdi Windows'ta aynı donanımda Linux ile aynı verimle sonuçlanacak ayarları araştırıyoruz. Sabit sürücü sınırlamaları bir faktör değildir, çünkü bu bellektir. Kayıt için kullandığımız makinelerde SATA 3.0 yüklü 7200 RPM sürücüler vardı. Hem Ubuntu 11.04 (veya Linux tabanı) hem de Windows bu SATA bağlantılarının teorik hızını aştı.


Bilgi için teşekkürler, pencerelerde hızı etkileyen herhangi bir ayar bulursanız lütfen cevabınızı güncelleyin
davr

bu, iperf'in Windows'un Linux'tan daha küçük bir paket boyutuna varsayılan tek parçası olmadığını merak ediyor, bkz. superuser.com/a/95587/16966
matt wilkie

0

Aktarım hızları, zincirdeki en zayıf halka kadar iyidir. Ağ hızı değil, Sabit Sürücülerinizin yazma / okuma hızı olabilir.

Her iki bilgisayarda RamDisk yazılımını indirebilir ve bir RamDisk oluşturabilirsiniz. İçine iyi bir boyut dosyası yerleştirin ve RamDisks arasındaki ağ üzerinden bir aktarım yapın. Bu, ağınızın Sabit Sürücü hızlarınız tarafından engellenmeyecek gerçek hızını göstermelidir.


2
Bu yüzden 'iperf' den bahsettim, ama sanırım bu bir araç kadar yaygın değil. Temel olarak, sabit sürücüye okuma / yazma olmadan ağ hızını doğrudan test eder, bu yüzden buradaki darboğaz değildir. HDD'nin gerçek dünya kullanımında bir darboğaz olabileceğini anlıyorum.
davr

0

Sorunuza doğrudan bir yanıt değil, ancak son zamanlarda iperfiki Linux kutusu (her biri 8 çekirdek, 2,66 GHz) arasında şu sonucu aldık :

------------------------------------------------------------
Client connecting to 192.168.74.15, TCP port 5001
TCP window size:  192 KByte (default)
------------------------------------------------------------
[  3] local 192.168.74.25 port 54016 connected with 192.168.74.15 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec

MTU = 1500 ile (yani jumbo çerçeveler kullanılmaz). Bu, prensipte hangi performansın mümkün olduğuna dair bir fikir vermelidir.

Ağ kartları (lspci çıkışı):

82571EB Gigabit Ethernet Controller

iki tarafta da.

Sunucudaki ve özellikle istemci tarafındaki CPU yükünü kontrol etmek ve bunun% 100'e yakın olup olmadığını görmek isteyebilirsiniz. Sistemimizde en yoğun çekirdeğin alıcı (gönderen) tarafında% 80 (% 83) boşta olduğunu söylesem de, diğer 7% 100 boşta gibi görünüyor (işaretli mpstat).

Bu seçenek iperfolmadan çalışır -u, yani TCP kullanır.


Bence 1 - 2 yaşındaki masaüstü donanımında 500 veya 600 mbits / sn.
Matt H

-4

davr, Fiber kanal ve karmaşık bant genişliği tahsis şemaları kullanan benzer teknolojilerin aksine, ethernet bir 'dinleme ve ciyaklama' protokolüdür. Ethernet ilk önce kimsenin iletimde olup olmadığını dinler, eğer değilse gönderirse bekleyin. Sorun şu ki, iletmek isteyen iki veya daha fazla taraf aynı anda dinliyorsa, aynı zamanda da gönderecekler! Bu, çarpışmalara ve yeniden iletimlere neden olacaktır. Süslü anahtarlar bunların hepsini ortadan kaldırır, ancak hepsini ortadan kaldırmaz.

Ethernet ile çok fazla çarpışma meydana gelmeden önce yaklaşık yüzde 30-40 bant genişliği görmelisiniz (bunu elde ettiğiniz gibi görünüyor. % 80 gibi bir şey. Ethernet ucuz, fiber kanal değil. . . 4G ethernet'in bu sorunu çözmek için ne yaptığından emin değilim. . . fiber kanalı ve arkadaşlarına benzer daha 'kumaş' gibi bir ağ topolojisi olabilir. Bu aşırı basitleştirmedir, ancak aslında doğrudur.


2
Evet, 'aptal' bir hub kullanmıyorum. Bu günlerde çoğu insanın, çarpışmaları ortadan kaldıran, cihazları birbirine doğrudan bağlayan akıllı anahtarlar veya yönlendiriciler kullanacağını düşünüyorum. Ayrıca testimde tek bir yönlendiriciye bağlı sadece iki cihaz var, bu yüzden çarpışmalar benim özel durumumda sorun olmayacaktı.
davr

davr - bir an için şeytanların savunucusu oynarken mazeret. . . İki sunucunuzun aynı anda konuşmaya çalışmasını engelleyen nedir? Ayrıca, ne tür verilerin iletildiğinden bahsetmediniz. . . neredeyse sadece TCP mi yoksa çok fazla veri akışı var mı (ses, video, vb)? Her iki bilgisayar aynı anda veri akışı yapıyor mu veya daha kesin bir şekilde ayrılmış bir istemci / sunucu ilişkisi var mı?
TheEruditeTroglodyte

2
Yalnızca bir bilgisayarın gönderdiği ve diğer dinlediği özel bir TCP / IP karşılaştırma programı kullanıyorum. Ancak öyle olsa da, Ethernet tam çift yönlüdür ... sadece iki makineniz varsa, aynı anda hem tam bant genişliği gönderebilir hem de alabilirler.
davr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.