Intel Atom tabanlı Ubuntu sunucusunda bir darboğazı nasıl teşhis edebilirim?


1

Evde RAID yazılımı olan küçük bir medya sunucum ve ağımın kalanına gigabit linkim var.

Yine de bazı nedenlerden dolayı, sunucuya kopyalarken / gönderirken yalnızca ~ 10MB / sn aktarım alıyorum.

4 1 TB disk üzerinde RAID5 (mdadm) yazılımı kullanıyorum. Bunun üzerine LVM'yi daha sonra bana ihtiyaç duyduklarında ve gerektiğinde yeniden boyutlandırılabilecek çok sayıda bölüme ayrılmış büyük bir disk alanı havuzu vermek için kullanıyorum. Bunun sebebinin muhtemelen olduğunu tahmin ediyorum, ancak kök nedenin nerede olduğunu kesin olarak bilmek istiyorum.

Öyleyse, darboğazımın nerede olabileceğini tanımlamak için ağ verimini (Windows 7 masaüstü <-> Ubuntu sunucusu) ve sabit disk performansını nasıl karşılaştırabilirim?

[Düzenle] İlgilenen olursa, anakart bir Intel Desktop Board D945GCLF2'dir . Bu da Intel® 945GC Express Chipset özellikli 300 serisi Atom işlemcisi

[Edit2] Kendimi aptal gibi hissediyorum! Sadece masaüstümü kontrol ettim ve sunucudaki büyük olasılıkla hatalı olmaması için iki NIC'in takılı olduğundan daha yavaş olduk. Ubuntu'nun bir kopyasını sunucudan transfer ediyorum. Windows 7'ye göre ~ 35-40 MB / sn.


4
Atom CPU'lu Yazılım RAID ... Daha fazla bakma. Özellikle parite hesaplaması yapan RAID5. Ayrıca ağınızın 100Mbps olduğunu varsayalım, bu size maksimum 12Mbps verim verir, bu yüzden 10MB / s iyidir =)
Antoine Benkemoun

Jon'un bir Gigabit Bağlantısı var.
lajuette

@lajuette - gbit bileşenlerine sahip olmak her zaman yeterli değildir, zincirdeki her bağlantının bir gbit bağlantısı üzerinde anlaşma sağladığını ve garip uyumsuzluklar, kablo arızaları veya rastgele olaylar nedeniyle daha yavaş bir bağlantı hızına düşmediğini doğrulamanız gerekir.
David Spillett

Bu bir cevap değil, bir düzeltme önermek - En basit çözüm, donanım tabanlı bir RAID kartı eklemek gibi görünüyor. Sınırlı CPU’nuzdan IO giderlerini boşaltır ve makul bir önbelleğe sahip bir tane edinirseniz (yapmanız gerekir!), Bundan başka faydalar görürsünüz. Bu noktada en kolay tak ve kullan seçeneğiniz gibi görünüyor. Ek olarak, eğer tüm kitiniz destekliyorsa, Jumbo Çerçeveleri etkinleştirmekten faydalanacaksınız.

Yanıtlar:


4

Antoine'nin dediği gibi: Bir Atom CPU ve SW RAID kötü bir fikir. Disklerin iç çapını ölçmek için kullanabilirsiniz hdparm.

Şuna bir göz atın: http://www.cyberciti.biz/tips/how-fast-is-linux-sata-hard-disk.html

Disk aygıtlarınızı ve baskın aygıtlarınızı ayrı ayrı ölçmelisiniz. Bu şekilde disklerin yavaş (kırık?) Veya RAID'in yavaş olduğunu görebilirsiniz. topRAID ome'nizi başka bir yolla ölçerken veya bunlara erişirken cpu kullanımınıza da (örneğin ile ) bakın.

Tıkanıklık değilse, GBEthernet Link'inizin tam kapasite kullanıp kullanmadığını kontrol edin. Çıktısını bir göz atın ifconfig. Mine aşağıdaki gibi okuyor (Mac OS X 10.6, Ubuntu'da benzer görünmeli):

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 64:b9:e8:bf:8f:b4 
    inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255
    media: autoselect (1000baseT <full-duplex,flow-control>)
    status: active

Alttan 2. satır: 1000baseT şu anlama geliyor: GB Ethernet!

: [değiştir] Bu makale buldum http://www.performancewiki.com/diskio-monitoring.html O önerir sarve iostatizleme diski ET'nin.


İyi bir tavsiyeye benziyor - önerilerinizi deneyeceğim.
Jon Cage

Sonuçlarınla ​​ilgileniyorum. Atom (hangisi btw.?) Böyle şeyler yapabiliyorsa, bunu evde denemek istiyorum. Bir ION panosunda bir medya merkezi işletiyorum.
lajuette

@lajuette - Bir Atom bir temel dosya sunucusu olarak iyi anlamalıdır, eğer anlamı buysa. Bir Gbit NIC ile test etmedim, ancak Jon'un sonuçlarına göre RAID5 dizisi ile 10Mbit hız gösterme kabiliyetine sahip ve teorik olarak önemli ölçüde daha hızlı yapabilmelidir. Bir keresinde netbookumda bir Atomun VPN sunucusu olarak nasıl olacağını görmek için bazı testler yaptım ve OpenVPN'i güvenli taşıma katmanı olarak kullanırken 100Mbit bağlantının kapasitesinin ~% 85-90'ını zorlayabilir / çekebilirdi, muhtemelen ION panosunda Atom ailesinden daha yetenekli bir çip bu yüzden hala daha iyi olabilir.
David Spillett

2

Kontrol edilecek birkaç şey:

  • NIC’nin Gbit’te olduğundan daha fazla olduğundan emin olun, 10Mbit değil ethtool eth0( eth0geçerli NIC cihaz kimliğiyle değiştirin )
  • Windows'un şu anda kartını Gbit modunda kullandığını doğrulayın.
  • aktarım sırasında sunucuya hangi CPU ve G / Ç yüklerinin yüklendiğini görmek için kontrol edin - top% 100 G / Ç bekletme durumunda bir çekirdek ( benzer veya benzer) görüyorsanız , sürücüleriniz tıkanıyorsa, yüksek "sistem" CPU'yu daha sonra CPU'yu sıkıntıya bağlar (dört sürücüdeki RAID 5'in "write -> read + read + write + write" performans vuruşundan ve parite hesaplamaları tarafından yapılmasından dolayı yazma işleminde kullanılan ikisinin karışımı olabilir) CPU, ne sistem ne de IO değeri yüksek değilse, ağ büyük olasılıkla tıkanıklıktır.
  • toplu okuma performansını yalnızca sunucuda test et (ağdan bağımsız olarak ham IO performansını test etmek için): catbunun /dev/nullne kadar ileri gittiğini görmek için büyük bir dosya ( echo 3 > /proc/sys/vm/drop_cachesilk önce IO'nun aslında disklere çarptığını ve bellekten gelmediğini biliyorsunuz; Eğer yüklü pvise cat yerine kullanmak yerine, yararlı hız + ilerleme okumaları verir)
  • Toplu yazma performansını cat /dev/zero > /some/file/on/the/array(veya pv /dev/zero > /some/file/on/the/array) ile test edin , CPU kullanımını bu şekilde izleyin.
  • sürücü / dizi performansına bakılmaksızın, netcat ve pv olan makineler arasında bluk ağ çıkışını test edin - Win7 makinasında nc -l -p 123 > NULve sunucuda yapın, daha sonra pv /dev/zero | nc 1.2.3.4 1231.2.3.4'ün Windows kutusunun adresi olduğu yerlerde (güvenlik duvarı istisnası eklemek için sona erebilirsiniz) için nc).

~ 10Mbayt / sn'lik sabit bir oran gördüğünüz için, önce disklerde veya CPU'da bir tıkanıklıktan ziyade bir ağ sorunundan şüpheleniyorum - ancak bir Atom CPU'daki RAID5, darboğazlardan biri olabilir ve RAID1 + 0'ı düşünmek isteyebilirsiniz. veya RAID10 yerine (RAID5 diziniz 3 artı yedek ise, 3 + yedek sürümüne sahip Linux'un RAID10 sürücüsü benzer yedeklilik sağlamalıdır (herhangi bir sürücü arızası hayatta kalırsa) ancak daha iyi performansla (write-> write * 2 yerine; okuma + paritycalc + write * 2) , 3 sürücü modunda RAID10 sürücüsü, IBM denetleyicilerinin RAID-1E olarak adlandırdığı şeye benzer bir şey yapar, bkz. http://en.wikipedia.org/wiki/ Standart / RAID_levels#Linux_MD_RAID_10 ).

Düzenle:

Yukarıdaki listeye test etmek için ekstra bir şey eklendi ve diğer küçük ayrıntılar


~ 10MByte de 100MBit bağlantıya çok yakın görünüyordu. Şansım olduğunda önerilerinizi deneyeceğim - teşekkürler!
Jon Cage

1

Her şeyden önce, çok hızlı bir protokol olmayan SMB / CIFS kullanıyorsunuz (referans olarak NFS'nin kesinlikle yavaştır).

İkincisi, test ettiğiniz iş yüküne bağlıdır. Çoğunlukla sıralı mı yoksa rastgele mi? Çoğunlukla rastgele G / Ç ise, 10 MB / sn büyük olasılıkla tamamdır. Gerçekçi olarak, bir GB NIC'den CIFS'den 30-50 MB / s bekleyebilirsiniz (ancak dediğim gibi, iş yüküne bağlı olarak daha yüksek veya daha düşük olabilir).

Bu diğer cevabı CIFS performans ayarlaması için serverfault adresinden de kontrol edebilirsiniz .

Hızlı bir arama, bu sayfayı CIFS performans kitaplarıyla açıkladı . Kullanışlı bulabilirsiniz.

Son olarak, ağın performansını iperf ile test edebilirsiniz (pencereler için de derlenebilir ve bir yerde önceden derlenmiş olarak bulabilirsiniz)


Büyük veri dosyalarını aktarıyordum, böylece büyük sıralı yazma / okumalar.
Jon Cage

@Jon: Ağın kendisini test etmeni ve dosya sunucusundaki CPU yükünü kontrol etmeni önermek dışında, seni yalnızca resmi Samba performans sayfasına gönderebilirim samba.org/samba/docs/man/Samba-HOWTO-Collection/speed .html

0

Kullandığım masaüstü bilgisayar olduğu ortaya çıktı; 100 MBit hızında çalışıyordu. Yine de tüm tavsiyeler için teşekkürler - sistemimin genel hızını ölçmek ve geliştirmek için çok yararlı olabilir!

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.