Heute werden wir über eine Sammlung nützlicher Dienstprogramme namens "netutils-linux" sprechen die verwendet werden können, um die Fehlerbehebung und Leistungsoptimierung von Linux-Netzwerken zu vereinfachen. Diese Suite von Linux-Dienstprogrammen hilft Ihnen, den Linux-Leistungsoptimierungsprozess sofort zu automatisieren. Netutils-linux besteht aus den folgenden Tools:
- Netzwerk-Top
- snmptop
- irqtop
- Softirq-Top
- Link-Rate
- softnet-stat-top
- rss-Leiter
- Autorps
- CPU-Frequenz maximieren
- rx-Puffer-Erhöhung
- Server-Info
Netutils-linux - Vereinfachen Sie die Fehlerbehebung und Leistungsoptimierung von Linux-Netzwerken
Netutils-linux installieren
Netutils-linux wird mit der Programmiersprache Python entwickelt. Es kann also einfach mit pip installiert werden .
Führen Sie unter Arch Linux und seinen Derivaten den folgenden Befehl aus, um pip zu installieren:
sudo pacman -S python-pip
Unter Debian, Ubuntu, Linux Mint:
sudo apt-get install python-pip
Unter RHEL, Fedora, CentOS:
sudo yum install python-pip
Oder,
sudo dnf install python-pip
Unter SUSE/openSUSE:
sudo zypper install python-pip
Führen Sie nach der Installation von PIP den folgenden Befehl aus, um netutils-linux zu installieren :
sudo pip install netutils-linux
Beispielausgabe wäre:
Collecting netutils-linux Downloading netutils-linux-2.3.1.tar.gz Collecting pyyaml (from netutils-linux) Downloading PyYAML-3.12.tar.gz (253kB) 100% |████████████████████████████████| 256kB 221kB/s Collecting ipaddress (from netutils-linux) Downloading ipaddress-1.0.18-py2-none-any.whl Collecting six (from netutils-linux) Downloading six-1.10.0-py2.py3-none-any.whl Collecting colorama (from netutils-linux) Downloading colorama-0.3.9-py2.py3-none-any.whl Collecting prettytable (from netutils-linux) Downloading prettytable-0.7.2.zip Requirement already satisfied (use --upgrade to upgrade): argparse in /usr/lib/python2.7 (from netutils-linux) Installing collected packages: pyyaml, ipaddress, six, colorama, prettytable, netutils-linux Running setup.py install for pyyaml ... done Running setup.py install for prettytable ... done Running setup.py install for netutils-linux ... done Successfully installed colorama-0.3.9 ipaddress-1.0.18 netutils-linux-2.3.1 prettytable-0.7.2 pyyaml-3.12 six-1.10.0
Nutzung
Wie ich im einleitenden Abschnitt erwähnt habe, enthält Netutils-linux eine Reihe von Dienstprogrammen, die speziell für die Netzwerkfehlerbehebung und Leistungsoptimierung entwickelt wurden. Alle Dienstprogramme sind in drei Abschnitte eingeteilt, nämlich:
- Überwachung
- Abstimmung
- Hardware und ihre Konfigurationsbewertung
1. Überwachung
Alle diese Top -ähnliche Tools, die unter den Überwachungsabschnitt fallen, benötigen keine Root- oder Sudo-Berechtigungen. Sie können sie als normaler Benutzer verwenden.
Netzwerk-Top
Mit diesem Dienstprogramm können Sie Interrupts, Soft-Interrupts und Netzwerkverarbeitungsstatistiken für Geräte und CPUs überwachen. Um dieses Dienstprogramm auszuführen, geben Sie Folgendes ein:
network-top
Hier ist die Beispielausgabe von meinem Ubuntu 16.04 LTS-Server.
Um dieses Dienstprogramm zu beenden, drücken Sie STRG-C .
Snmptop
Es ist ein einfaches /proc/net/smmp Dateibeobachter.
Um dieses Dienstprogramm auszuführen, geben Sie den folgenden Befehl ein:
snmptop
irqtop
Dieses Dienstprogramm zeigt Ihnen eine Interrupt-Rate basierend auf /proc/interrupts Datei Ihres Linux-Systems.
Führen Sie dieses Dienstprogramm mit folgendem Befehl aus:
irqtop
Softirq-Top
Es zeigt Ihnen eine Rate zum Empfangen und Senden von Paketen basierend auf /proc/softirqs Datei.
Link-Rate
Es zeigt, wie viele Pakete/Bytes eine Netzwerkschnittstelle empfängt/überträgt und wie viele Fehler aufgetreten sind, basierend auf /sys/class/net/XXX/statistic/YYY Dateien.
Softnet-stat-top
Es zeigt verschiedene Statistiken der Paketverarbeitung pro CPU Ihrer Linux-Box.
2. Abstimmung
Sie müssen entweder Root- oder Sudo-Benutzer sein, um diese Tools auszuführen.
RSS-Leiter
Es wird automatisch smp_affinity_list für den IRQ von NIC-RX/TX-Warteschlangen festgelegt, die normalerweise standardmäßig auf CPU0 funktionieren.
rss-ladder enp0s3 0
Autoren
Es aktiviert RPS auf allen verfügbaren CPUs des lokalen NUMA-Knotens für die NIC für alle RX-Warteschlangen der NIC. Es ist gut für billige Netzwerkschnittstellenkarten.
Beispiel:
$ sudo autorps enp0s3 Using mask '1' for enp0s3-rx-0
CPU-Frequenz maximieren
Dieses Dienstprogramm setzt jeden CPU-Skalierungsgouverneurmodus auf Leistung und legt den maximalen Skalierungswert für den minimalen Skalierungswert fest. So können Sie die gesamte Leistung Ihres Prozessors nutzen. Es ist sehr nützlich für Latenz-empfindliche Systeme.
rx-Puffer-Erhöhung
Dieses Dienstprogramm findet und setzt einen Kompromisswert zwischen der Vermeidung fallengelassener/fehlender Pakete und dem Halten einer niedrigen Latenzzeit.
Beispiel:
$ sudo ethtool -g enp0s3 Ring parameters for enp0s3: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256
$ sudo rx-buffers-increase enp0s3 run: ethtool -G enp0s3 rx 2048
$ sudo rx-buffers-increase enp0s3 enp0s3's rx ring buffer already has fine size.
$ sudo ethtool -g enp0s3 Ring parameters for enp0s3: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 2048 RX Mini: 0 RX Jumbo: 0 TX: 256
Hardware und ihre Konfigurationsbewertung
Server-Info
Dieses Dienstprogramm ähnelt lshw Befehl.
$ sudo server-info show cpu: info: Architecture: x86_64 BogoMIPS: 4589 Byte Order: Little Endian CPU MHz: 2294 CPU family: 6 CPU op-mode(s): 32-bit, 64-bit CPU(s): 1 Core(s) per socket: 1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt xsave avx hypervisor lahf_lm Hypervisor vendor: KVM L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K Model: 42 Model name: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz NUMA node(s): 1 NUMA node0 CPU(s): 0 On-line CPU(s) list: 0 Socket(s): 1 Stepping: 7 Thread(s) per core: 1 Vendor ID: GenuineIntel Virtualization type: full layout: '0': '0' disk: sda: model: 'VBOX HARDDISK ' size: 21474836480 type: HDD sr0: model: CD-ROM memory: MemFree: 254244 MemTotal: 1016264 SwapFree: 1046028 SwapTotal: 1048572 net: enp0s3: buffers: cur: 256 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: []
Das Server-Info-Dienstprogramm kann die Hardware und ihre Funktionen auch auf einer Skala von 1 bis 10 bewerten.
$ sudo server-info rate cpu: BogoMIPS: 2 CPU MHz: 2 CPU(s): 1 Core(s) per socket: 1 L3 cache: 2 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: 2 net: enp0s3: buffers: cur: 1 max: 10 driver: 3 queues: 1 system: Hypervisor vendor: 1 Virtualization type: 1
Und das war's erstmal, Leute. Weitere gute Sachen folgen. Bleiben Sie dran!
Prost!!