Doküman

Netutils-Linux: Linux ağ sorunlarını gidermeyi ve Performans Ayarlamayı basitleştirmeye yönelik araçlar seti

Bir sistem yöneticisi olarak, ağ sorun giderme ve performans ayarlama için birkaç yardımcı program biliyor ve kullanabilirsiniz, ancak Linux’ta kullanabileceğiniz birçok başka seçeneğimiz var (yani, aynı amaç için bir grup yardımcı program alacaksınız, ancak her birinin kendi özelliği var. daha iyi sorun giderme için daha fazla seçeneğiniz vardır).

Netutils-linux‘a merhaba deyin, çeşitli yönlerde ağ sorun giderme ve performans ayarlama işlemlerini gerçekleştirmeye yönelik bir yardımcı programlar koleksiyonudur.

Bu araç, tüm Linux ağ performansı ayarlama sürecini kutudan çıktığı gibi otomatikleştirir.  Tüm bu yardımcı programlar root veya sudo ayrıcalıkları gerektirmez.  Böylece bunları top gibi ayrıcalıklı olmayan bir kullanıcı olarak yükleyebilir ve kullanabilirsiniz.

 

netutils-linux aracı aşağıdaki yardımcı programları içerir.

  • NetworkTop
  • SnmpTop
  • Irqtop
  • SoftnetStatTop
  • LinkRateTop
  • Softirqs
  • RxBuffers
  • RSSLadder
  • AutoSoftirqTune
  • ServerInfo
  • maximize-cpu-freq

Bu yardımcı programlar aşağıdaki gibi üç bölüme ayrılmıştır.

  • İzleme
  • Ayarlama
  • Donanım ve konfigürasyon derecesi

Linux’ta netutils-linux nasıl kurulur

Pip paketi aracılığıyla tüm büyük Linux dağıtımlarına kurulabilir.  Netutils-linux kurulumu için sisteminizde ön koşul olarak python ve python-pip paketlerinin bulunduğundan emin olun.

pip, setuptools ile birlikte gelen bir python modülüdür ve Linux’ta Python paketlerini yüklemek için önerilen araçlardan biridir.

Debian/Ubuntu için pip’i yüklemek için apt-get komutunu veya apt komutunu kullanın.

$ sudo apt install python-pip

RHEL/CentOS için pip’i yüklemek için YUM komutunu kullanın.

$ sudo yum install python-pip python-devel

Fedora’da pip’i yüklemek için dnf komutunu kullanın.

$ sudo dnf install python-pip

Arch Linux’ta pip’i yüklemek için pacman Komutunu kullanın.

$ sudo pacman -S python-pip

OpenSUSE için pip’i yüklemek için Zypper Komutunu kullanın.

$ sudo pacman -S python-pip

Son olarak netutils-linux’u kurmak için aşağıdaki pip komutunu çalıştırın.

$ sudo pip install netutils-linux

1) NetworkTop

En iyi yardımcı programların tümü BaseTop’tan devralınmıştır.  Bu yardımcı program, ağ yığını performans ölçümlerinin çoğunu içerir ve kullanıcıların aşağıdaki dosyalardan bilgi toplayarak kesintileri, geçici kesintileri, cihazlar ve CPU’lar için ağ işleme istatistiklerini izlemesine olanak tanır /proc/interrupts, /proc/net/softnet_stat, /proc/softirqs, ve /sys/class/net//statistic/

$ network-top

2) SnmpTop

/proc/net/snmp dosyası snmp aracıları tarafından IP, ICMP, TCP ve UDP izleme ve yönetimi için kullanılan verileri görüntüler.  Bu, yöneticilerin olağandışı değerleri belirlemesine ve dolayısıyla potansiyel performans sorunlarını belirlemesine yardımcı olabilir.  Diğer bir deyişle Basic /proc/net/smmp dosya izleyicisi diyebiliriz.

$ snmptop

3) Irqtop

Irqtop, NetworkTop paketinin bir parçasıdır.  Yalnızca irqs metriklerini görüntülemek istiyorsanız aşağıdaki komutu kullanın.  Temel olarak bilgileri /proc/interrupts dosyasından topluyor.

Bu dosya IRQ başına kesme sayısını kaydeder.  İlk sütun IRQ numarasını ifade eder.  Sistemdeki her CPU’nun kendi sütunu ve IRQ başına kendi kesme sayısı vardır.  Sonraki sütun kesintinin türünü bildirir ve son sütun ise o IRQ’da bulunan aygıtın adını içerir.

$ irqtop

4) SoftnetStatTop

/proc/net/softnet_stat dosyası, her bir CPU çekirdeğinin hataları/sıkışma oranı hakkında istatistikler sağlar.

$ softnet-stat-top

5) LinkRateTop

Bu yardımcı program, alınan/iletilen paketlerin sayısını ve /sys/class/net//statistic/’e dayalı olarak hata bilgilerini görüntüler.

$ link-rate

6) Softirqs

Bu, yumuşak IRQ’lara (yumuşak kesintiler) hizmet vermek için harcanan zamanı özetler ve yazılım IRQ olay sayımları (ancak zamanlar değil) /proc/softirqs’te mevcuttur.

$ softirq-top

7) RxBuffers

Varsayılan olarak NIC’ler için ayarlanan ara belleğe alma değerleri 256 veya 512 bayttır.  Arayüzünüzün yeteneğini ve mevcut değerlerini görüntülemek için aşağıdaki komutu çalıştırın.  Hem RX hem de TX değerlerinin 256’ya ayarlandığını ancak arayüzün 4096 bayt kapasitesine sahip olduğunu görebiliyordum.

$ ethtool -g enp0s3
Ring parameters for enp0s3:
Pre-set maximums:
RX:		4096
RX Mini:	0
RX Jumbo:	0
TX:		4096
Current hardware settings:
RX:		4096
RX Mini:	0
RX Jumbo:	0
TX:		4096

Ağ arayüzündeki alma (TX) ve gönderme (RX) arabelleklerini artırmak için yüksek performans için aşağıdaki komutu çalıştırın.  Bu yardımcı programı kullanabilmeniz için sisteminizde yüklü olduğundan emin olun.

$ sudo ethtool -G enp0s3 rx 2048 tx 2048

8) RSSLadder

Bu, genellikle CPU0 üzerinde kutudan çıkan NIC rx/tx kuyruklarının IRQ’su için smp_affinity_list’i otomatik olarak ayarlar.

$ rss-ladder enp0s3 0

9) AutoSoftirqTune

Tüm NIC’nin rx kuyrukları için NIC için yerel NUMA düğümünün mevcut tüm CPU’larında RPS’yi etkinleştirir.  Ucuz ağ kartlarına sahip küçük sunucular için iyi olabilir.  Ayrıca açıkça –cpus veya –cpu-mask’ı da iletebilirsiniz.

$ sudo autorps enp0s3
Using mask '3' for enp0s3-rx-0

10) maximize-cpu-freq

Her CPU ölçeklendirme yöneticisi modunu performansa ayarlar ve minimum ölçeklendirme değeri için maksimum ölçeklendirme değerini ayarlar.  Böylece işlemcinizin tüm gücünü kullanabileceksiniz (gecikmeye duyarlı sistemler için kullanışlıdır).

11) ServerInfo

Lshw aracına benzer şekilde sistem donanım bilgilerini görüntülemek için kullanılır.  Lshw aracı hakkında daha fazla bilgi edinmek için aşağıdaki bağlantıya gidin.

 

$ sudo server-info show
cpu:
  info:
    Architecture: x86_64
    BogoMIPS: 5183
    Byte Order: Little Endian
    CPU MHz: 2591
    CPU family: 6
    CPU op-mode(s): 32-bit, 64-bit
    CPU(s): 2
    Core(s) per socket: 2
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
      clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl
      xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt
      aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch rdseed clflushopt
    Hypervisor vendor: KVM
    L1d cache: 32K
    L1i cache: 32K
    L2 cache: 256K
    L3 cache: 6144K
    Model: 94
    Model name: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
    NUMA node(s): 1
    NUMA node0 CPU(s): 0,1
    On-line CPU(s) list: 0,1
    Socket(s): 1
    Stepping: 3
    Thread(s) per core: 1
    Vendor ID: GenuineIntel
    Virtualization type: full
  layout:
    '0': '0'
    '1': '0'
disk:
  sda:
    model: 'VBOX HARDDISK   '
    size: 32212254720
    type: HDD
  sr0:
    model: CD-ROM
memory:
  MemFree: 78940
  MemTotal: 2045788
  SwapFree: 1329200
  SwapTotal: 1459804
net:
  enp0s3:
    buffers:
      cur: 2048
      max: 4096
    conf:
      ip: ''
      vlan: false
    driver:
      driver: e1000
      version: 7.3.21-k8-NAPI
    queues:
      own: []
      rx: []
      rxtx: []
      shared:
      - 19-fasteoi ehci_hcd:usb1, enp0s3
      tx: []
      unknown: []

The below command can rate hardware and its features in range of 1 to 10.

$ sudo server-info rate
cpu:
  BogoMIPS: 4
  CPU MHz: 4
  CPU(s): 1
  Core(s) per socket: 10
  L3 cache: 3
  Socket(s): 1
  Thread(s) per core: 10
  Vendor ID: 10
disk:
  sda:
    size: 1
    type: 1
  sr0:
    size: 1
    type: 2
memory:
  MemTotal: 1
  SwapTotal: 3
net:
  enp0s3:
    buffers:
      cur: 5
      max: 10
    driver: 3
    queues: 1
system:
  Hypervisor vendor: 1
  Virtualization type: 1