Dnes budeme diskutovat o sbírce užitečných nástrojů s názvem "netutils-linux" které lze použít ke zjednodušení odstraňování problémů se sítí Linux a ladění výkonu. Tato sada linuxových nástrojů vám pomůže automatizovat proces ladění výkonu linuxu hned po vybalení. Netutils-linux se skládá z následujících nástrojů:
- v horní části sítě
- snmptop
- irqtop
- softirq-top
- rychlost odkazu
- softnet-stat-top
- rss-ladder
- autorps
- maximize-cpu-freq
- rx-buffers-increase
- informace o serveru
Netutils-linux – Zjednodušte odstraňování problémů se sítí Linux a ladění výkonu
Nainstalujte Netutils-linux
Netutils-linux je vyvíjen pomocí programovacího jazyka Python. Lze jej tedy snadno nainstalovat pomocí pip .
V Arch Linuxu a jeho derivátech spusťte následující příkaz k instalaci pip:
sudo pacman -S python-pip
V systémech Debian, Ubuntu, Linux Mint:
sudo apt-get install python-pip
Na RHEL, Fedora, CentOS:
sudo yum install python-pip
Nebo,
sudo dnf install python-pip
Na SUSE/openSUSE:
sudo zypper install python-pip
Po instalaci PIP spusťte následující příkaz k instalaci netutils-linux :
sudo pip install netutils-linux
Ukázkový výstup by byl:
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
Použití
Jak jsem zmínil v úvodní části, Netutils-linux obsahuje spoustu nástrojů speciálně navržených pro účely odstraňování problémů se sítí a ladění výkonu. Všechny služby jsou kategorizovány do tří sekcí, a to:
- Monitorování
- Ladění
- Hardware a hodnocení jeho konfigurace
1. Sledování
Všechny tyto top -like nástroje, které spadají do sekce monitorování, nevyžadují oprávnění root nebo sudo. Můžete je používat jako normální uživatel.
top sítě
Tento nástroj vám umožňuje sledovat přerušení, mírná přerušení, statistiky síťového zpracování pro zařízení a procesory. Chcete-li spustit tento nástroj, zadejte:
network-top
Zde je ukázkový výstup z mého serveru Ubuntu 16.04 LTS.
Chcete-li tento nástroj ukončit, stiskněte CTRL-C .
Snmptop
Jedná se o základní /proc/net/smmp hlídač souborů.
Chcete-li spustit tento nástroj, zadejte následující příkaz:
snmptop
irqtop
Tento nástroj zobrazuje míru přerušení na základě /proc/interrupts soubor vašeho systému Linux.
Spusťte tento nástroj pomocí příkazu:
irqtop
Softirq-top
Ukazuje vám rychlost přijímání a odesílání paketů na základě /proc/softirqs soubor.
Cena odkazů
Ukazuje, kolik paketů/bajtů síťové rozhraní přijímá/vysílá a kolik chyb se stalo na základě /sys/class/net/XXX/statistic/YYY soubory.
Softnet-stat-top
Zobrazuje různé statistiky zpracování paketů na CPU vašeho linuxového boxu.
2. Ladění
Ke spuštění těchto nástrojů musíte být root nebo uživatel sudo.
rss-ladder
Automaticky nastaví smp_affinity_list pro IRQ front NIC rx/tx, které obvykle fungují na CPU0.
rss-ladder enp0s3 0
Autorps
Umožňuje RPS na všech dostupných CPU uzlu NUMA místního pro NIC pro všechny fronty NIC rx. Je to dobré pro levné síťové karty.
Příklad:
$ sudo autorps enp0s3 Using mask '1' for enp0s3-rx-0
maximize-cpu-freq
Tento nástroj nastaví každý režim regulátoru škálování CPU na výkon a nastaví maximální hodnotu škálování pro minimální hodnotu škálování. Můžete tak využít veškerý výkon svého procesoru. Je to docela užitečné pro systémy citlivé na latenci.
rx-buffers-increase
Tento nástroj najde a nastaví kompromisní hodnotu mezi předcházením vynechaným/chyběným pkts a udržováním nízké latence.
Příklad:
$ 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 a hodnocení jeho konfigurace
informace o serveru
Tento nástroj je podobný nástroji lshw příkaz.
$ 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: []
Nástroj Server-info může také hodnotit hardware a jeho funkce na stupnici 1-10.
$ 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
A to je zatím vše lidi. Přijdou další dobré věci. Zůstaňte naladěni!
Na zdraví!!