GNU/Linux >> Linux Esercitazione >  >> Linux

Una raccolta di utilità per semplificare la risoluzione dei problemi di rete Linux e l'ottimizzazione delle prestazioni

Oggi parleremo di una raccolta di utili utility chiamata "netutils-linux" che può essere utilizzato per semplificare la risoluzione dei problemi di rete Linux e l'ottimizzazione delle prestazioni. Questa suite di utilità Linux ti aiuta ad automatizzare il processo di ottimizzazione delle prestazioni di Linux immediatamente. Netutils-linux è costituito dai seguenti strumenti:

  • parte superiore della rete
  • snmptop
  • irqtop
  • softirq-top
  • Tasso di collegamento
  • softnet-stat-top
  • scala rss
  • autorizzazioni
  • massimizza-freq-cpu
  • aumento dei buffer rx
  • informazioni sul server

Netutils-linux - Semplifica la risoluzione dei problemi di rete Linux e l'ottimizzazione delle prestazioni

Installa Netutils-linux

Netutils-linux è sviluppato utilizzando il linguaggio di programmazione Python. Quindi, può essere facilmente installato utilizzando pip .

Su Arch Linux e i suoi derivati, esegui il seguente comando per installare pip:

sudo pacman -S python-pip

Su Debian, Ubuntu, Linux Mint:

sudo apt-get install python-pip

Su RHEL, Fedora, CentOS:

sudo yum install python-pip

Oppure,

sudo dnf install python-pip

Su SUSE/openSUSE:

sudo zypper install python-pip

Dopo aver installato PIP, esegui il comando seguente per installare netutils-linux :

sudo pip install netutils-linux

L'output di esempio sarebbe:

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

Utilizzo

Come ho menzionato nella sezione introduttiva, Netutils-linux contiene una serie di utilità appositamente progettate per la risoluzione dei problemi di rete e l'ottimizzazione delle prestazioni. Tutte le utilità sono classificate in tre sezioni, vale a dire:

  1. Monitoraggio
  2. Regolazione
  3. Hardware e relativa valutazione della configurazione

1. Monitoraggio

Tutti questi top -come gli strumenti che rientrano nella sezione di monitoraggio non richiedono privilegi di root o sudo. Puoi usarli come utente normale.

parte superiore della rete

Questa utility ti consente di monitorare gli interrupt, gli interrupt soft, le statistiche di elaborazione di rete per dispositivi e CPU. Per eseguire questa utilità, inserisci:

network-top

Ecco l'output di esempio dal mio server LTS Ubuntu 16.04.

Per uscire da questa utilità, premi CTRL-C .

Snmptop

È un /proc/net/smmp di base osservatore di file.

Per eseguire questa utilità, immetti il ​​seguente comando:

snmptop

irqtop

Questa utilità mostra una frequenza di interruzioni basata su /proc/interrupts file del tuo sistema Linux.

Esegui questa utility usando il comando:

irqtop

Softirq-top

Ti mostra una velocità di ricezione e trasmissione di pacchetti basata su /proc/softirqs file.

Tasso di collegamento

Mostra quanti pacchetti/byte riceve/trasmette un'interfaccia di rete e quanti errori si sono verificati in base a /sys/class/net/XXX/statistic/YYY file.

Softnet-stat-top

Mostra varie statistiche sull'elaborazione dei pacchetti per CPU della tua macchina Linux.

2. Sintonizzazione

Devi eseguire l'utente root o sudo per eseguire questi strumenti.

ss-ladder 

Imposta automaticamente smp_affinity_list per l'IRQ delle code NIC rx/tx che di solito funzionano su CPU0 immediatamente.

rss-ladder enp0s3 0

Autorps

Abilita l'RPS su tutte le CPU disponibili del nodo NUMA locale per la NIC per tutte le code rx della NIC. Va bene per schede di interfaccia di rete economiche.

Esempio:

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

massimizza-freq-cpu

Questa utility imposta ogni modalità del regolatore di ridimensionamento della CPU sulle prestazioni e imposta il valore di ridimensionamento massimo per il valore di ridimensionamento minimo. Così puoi usare tutta la potenza del tuo processore. È abbastanza utile per i sistemi sensibili alla latenza.

aumento dei buffer rx

Questa utility trova e imposta un valore di compromesso tra evitare pacchetti persi/persi e mantenere una latenza bassa.

Esempio:

$ 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 e relativa valutazione della configurazione

informazioni sul server

Questa utilità è simile a lshw comando.

$ 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: []

L'utilità Informazioni sul server può anche valutare l'hardware e le sue funzionalità su una scala da 1 a 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

E per ora è tutto gente. Altre cose buone in arrivo. Resta sintonizzato!

Ciao!!


Linux
  1. MySQL – Ottimizzazione e ottimizzazione delle prestazioni

  2. Come installare e testare Ansible su Linux

  3. Come installare e utilizzare Flatpak in Linux

  4. Risoluzione dei problemi di Linux 101:prestazioni del sistema

  5. 5 Comandi per la risoluzione dei problemi di rete Linux

Come installare e utilizzare phpMyAdmin in Linux

Come installare e gestire Evillimiter per controllare la tua rete Wi-Fi in Linux

Come installare e utilizzare l'analizzatore del traffico di rete Linux basato sul Web di Darkstat

Come installare e utilizzare il comando SAR (per monitorare le prestazioni del sistema) in Linux

Come installare e utilizzare il comando fd in Linux

Introduzione al monitoraggio e all'ottimizzazione delle prestazioni di Linux