Neden bu kadar düşük KOBİ aktarım hızı görüyorum?


10

Tamam, hikayede başlığın ima ettiğinden biraz daha fazlası var.

Arka Plan ve Çevre : Eski bir Ubuntu sunucusundan birkaç TB'yi SMB üzerinden daha yeni bir Windows 2012 sunucusuna kopyalıyorum. (Teknik olarak, bu emtia donanımı, ancak buralarda sunucular.) Herkes gigabit LAN'da ve eski Ubuntu kutusunun bağlı bir arayüzü var. Ubuntu sunucusunun iki adet Rosewill PCI-e 1x ethernet kartı olduğuna ve Windows sunucusunun oldukça güzel bir PCI Intel ethernet kartı olduğuna inanıyorum.

Hedef bilgisayar (Windows sunucusu), 4x 2 TB'tan büyük sürücülerden oluşan bir Depolama Havuzu çalıştırıyor. Microsoft'un yeni ReFS'sini çalıştırıyor. Kaynak bilgisayar (Ubuntu sunucusu) bir yazılım RAID yansıtması çalıştırıyor. EXT4 iyi çalışıyor.

İki sunucu tek bir gigabit anahtarı ile çalışıyor. Kaynak (Ubuntu) bilgisayarındaki herhangi bir iyileştirme yapmadan kopmayı denedim.

Sorun : Makul hızlarda diğer bilgisayarlardan Windows sunucusuna aktarmada sorun yaşamıyorum. Diğer bilgisayarlar çok zorlanmadan 50-80MB / s tutabilir, ancak bu Ubuntu sunucusundan aktarım 20MB / s'den fazla olmamalıdır. 20MB / s'de 4 + TB uzun sürüyor (2.3 gün gibi bir şey) ve darboğazın nerede olduğunu bulmak için ne yapabileceğimi merak ediyorum.

Belirtiler : Her iki bilgisayardaki CPU oldukça azdır ve kesinlikle yasak değildir. Her iki bilgisayardaki sabit sürücüler etkin ancak bataklık yapmıyor ve CPU IOwait en azından Ubuntu sunucusunda neredeyse% 0.

Wireshark izini 35 saniye boyunca yaptım (muhtemelen tüm ACK'ların yeni paketler için olduğundan emin olmak için yeterince uzun) ve beklemediğim birkaç şey olduğunu fark ettim. (1) Windows'tan Ubuntu'ya ACK'lar (ve SOME SMB paketleri) için herhangi bir sağlama toplamı yoktu. Ancak, Wireshark bunun "IP sağlama toplamı boşaltma" nedeniyle olabileceğini iddia ediyor. Tamam, orada çok güzel bir kartım var. Ağ kartının sağlama toplamı hesaplamaları yapabileceğini düşünüyorum. İnce. Devam ediyor ... (2) "TCP ACKed görünmeyen segment." Bu bir sorunum var. ACK numarası, söyleyebileceğimden kabul edilebilir bir aralıktadır ve genellikle bu mesajların büyük blokları vardır. Belki Wireshark çok yavaş mı?

Özet : Aktarım hızı berbat (gigabit ethernet üzerinden 20MB / s) ve nedenini bilmiyorum. Wireshark, Windows'un Ubuntu tarafından hiç gönderilmemiş şeyleri ACKing ettiğini iddia ediyor.

Tahminler : İlk tahminim, daha ucuz Rosewill kartlarının gömülüyor olması. İkinci tahminim, yazılımın RAID benzeri şeylerin bir ucunda ya da diğer ucunda yapılması gereken şeylerle dolu olması.


2
Ubuntu sunucusundan masaüstlerinden birine hangi hızlarda kopyalama yapıyorsunuz (Server 2012 değil)? Belki WinXP veya Win7? Server 2008 ve sonraki sürümlerde SMB ile paket imzalama ve şifreleme ile ilgili büyük sorunlar yaşadım.
Dom

Güncelleme: Yeniden başlatmak zorunda kaldım (çekirdek paniği sayesinde). Ne yazık ki sistem şimdi her önyüklemede bir çekirdek paniği var. Knoppix'in güvenilir kopyasını çırptım ve sürücüleri monte ettim ve şimdi her şey iyi ve züppe. Şimdi SSH'yi kopyalıyorum ve hala darboğazın nerede olduğunu bilmiyorum. sshdKnoppix tarafında bir işlemcinin% 60'ını yiyor. Her halükarda transferim tamamlanmak üzeredir. @Dom: Şimdi bahsettiğinize göre, tüm bu verileri ilk etapta 30MBps'den daha hızlı bir şekilde koymayı hatırlamıyorum.
Andy

2
@LorenzoVonMatterhorn, lütfen URL kısaltıcıları kullanmaktan kaçının.
Cristian Ciupitu

Disklerinizle ilgili bir sorun olmadığından emin misiniz?
MariusMatutiae

2
Windows, SMB protokolünün (SMB 2) son 4-5 yıl boyunca çok daha az konuşkan ve tel üzerinde daha verimli olan çok hızlı bir sürümünü uyguladı. Bu değişiklikler Samba'ya dönüştüğünde elimi bilmiyorum, ancak eski Ubuntu'nun daha eski bir Samba'sı ve belki de Knoppix'in daha yeni bir sürümü varmış gibi görünüyor.
uSlackr

Yanıtlar:


1

Samba (bunun hala varsayılan olup olmadığından emin değilim; uzun süre oldu) 1024 baytlık varsayılan okuma ve yazma soketi arabellek boyutu ile yapılandırıldığında, performans farkınız ortak bir deneyim ile eşleşir.

Bunu Linux ve Mac makinelerinde sık sık görüyordum. Umarım bu hala böyle değildir.

Samba'nın yapılandırma dosyasında, okuma ve yazma soketi arabellek boyutunu ayarlayabileceğiniz bir soket seçeneği bağımsız değişkeni vardır. Her ikisini de 8192 bayta (8 KiB) ayarlamanızı öneririz. 4 veya 8 KB genellikle benzerdir, ancak bunu bir gigabit bağlantısında test etmedim.

Ayrıca, tek bir TCP bağlantısının bağlı bir bağlantıdan faydalanmasını beklemeyin, trafik neredeyse her zaman bağlantılardan birini geçecektir; Aksi takdirde başa çıkmak için bir sürü sıra dışı paket ile sonuçlanır; bu nedenle yalnızca birden çok istemciye hizmet verirken yük dengeleme avantajı bekleyebilirsiniz. O zaman bile, farklı yapıştırma modlarına bakmalı ve en azından "mod 4" (IEEE 802.3ad) yapıştırmada, temelde hangi ikincil arayüzün gönderileceğini belirleyen iki iletim karma modu olduğunu bilmelisiniz. Katman-2 karma (varsayılan) ve katman-3 karma vardır. Verilerinizin büyük bir kısmını ağ geçidi üzerinden gönderiyorsanız, ağ geçidinin MAC adresi aynı olacağından katman-2 karması iyi dağıtılmaz. Bunun yerine katman-3 kullanmayı düşünün.


0

Bir zamanlar bir Ubuntu bilgisayarında iki Ethernet kartım vardı ve herhangi bir nedenle düzgün çalışmadı - ikisi de göründüğü gibi aynı paketler için yarıştı, bu yüzden bazen diğer ağ kartının yakalanmasına bağlı olarak bazen cevap alamazdım paketlenmiş. Tuhaftı. Bir şekilde yanlış yapılandırılmış olmalıydım, ama sadece işe yarayacağını düşünürdüm. Kartların elbette benzersiz IP adresleri vardı.

Her neyse, ağa bağlı makinedeki sadece bir Ethernet kartıyla bunu denemek için denemeniz basit olacaktır.

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.