Hoy, vamos a hablar sobre una colección de utilidades útiles llamadas "netutils-linux" que se puede utilizar para simplificar la resolución de problemas de la red de Linux y el ajuste del rendimiento. Este conjunto de utilidades de Linux lo ayuda a automatizar el proceso de ajuste del rendimiento de Linux desde el primer momento. Netutils-linux consta de las siguientes herramientas:
- parte superior de la red
- snmptop
- irqtop
- top softirq
- tasa de enlace
- softnet-stat-top
- rss-escalera
- autoridades
- maximize-cpu-freq
- rx-buffers-aumento
- información del servidor
Netutils-linux: simplifique la resolución de problemas de la red Linux y el ajuste del rendimiento
Instalar Netutils-linux
Netutils-linux se desarrolla utilizando el lenguaje de programación Python. Por lo tanto, se puede instalar fácilmente usando pip .
En Arch Linux y sus derivados, ejecute el siguiente comando para instalar pip:
sudo pacman -S python-pip
En Debian, Ubuntu, Linux Mint:
sudo apt-get install python-pip
En RHEL, Fedora, CentOS:
sudo yum install python-pip
O,
sudo dnf install python-pip
En SUSE/openSUSE:
sudo zypper install python-pip
Después de instalar PIP, ejecute el siguiente comando para instalar netutils-linux :
sudo pip install netutils-linux
La salida de muestra sería:
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
Uso
Como mencioné en la sección introductoria, Netutils-linux contiene un montón de utilidades especialmente diseñadas para solucionar problemas de red y ajustar el rendimiento. Todas las utilidades se clasifican en tres secciones, a saber:
- Supervisión
- Afinación
- Hardware y su calificación de configuración
1. Monitoreo
Todos estos superiores -Las herramientas similares que se incluyen en la sección de monitoreo no requieren privilegios de root o sudo. Puedes usarlos como usuario normal.
parte superior de la red
Esta utilidad le permite monitorear interrupciones, interrupciones suaves, estadísticas de procesamiento de red para dispositivos y CPU. Para ejecutar esta utilidad, ingrese:
network-top
Aquí está el resultado de muestra de mi servidor Ubuntu 16.04 LTS.
Para salir de esta utilidad, presione CTRL-C .
Snmptop
Es un /proc/net/smmp básico observador de archivos.
Para ejecutar esta utilidad, ingrese el siguiente comando:
snmptop
irqtop
Esta utilidad le muestra una tasa de interrupciones basada en /proc/interrupts archivo de su sistema Linux.
Ejecute esta utilidad usando el comando:
irqtop
Top Softirq
Le muestra una tasa de recepción y transmisión de paquetes basada en /proc/softirqs archivo.
Velocidad de enlace
Muestra cuántos paquetes/bytes recibe/transmite una interfaz de red y cuántos errores ocurrieron según /sys/class/net/XXX/statistic/YYY archivos.
Softnet-stat-top
Muestra varias estadísticas de procesamiento de paquetes por CPU de su caja Linux.
2. Afinación
Debe ser usuario root o sudo para ejecutar estas herramientas.
rss-ladder
Configuró automáticamente smp_affinity_list para IRQ de las colas rx/tx de NIC que generalmente funcionan en CPU0 listas para usar.
rss-ladder enp0s3 0
Autorizaciones
Habilita RPS en todas las CPU disponibles del nodo NUMA local para la NIC para todas las colas rx de la NIC. Es bueno para tarjetas de interfaz de red baratas.
Ejemplo:
$ sudo autorps enp0s3 Using mask '1' for enp0s3-rx-0
maximizar-frecuencia-cpu
Esta utilidad establece cada modo de gobernador de escalado de CPU en rendimiento y establece el valor de escalado máximo para el valor de escalado mínimo. Para que pueda usar toda la potencia de su procesador. Es bastante útil para sistemas sensibles a la latencia.
rx-buffers-aumento
Esta utilidad encuentra y establece un valor de compromiso entre evitar paquetes caídos o perdidos y mantener una latencia baja.
Ejemplo:
$ 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 y su calificación de configuración
información del servidor
Esta utilidad es similar 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: []
La utilidad de información del servidor también puede clasificar el hardware y sus funciones en una escala del 1 al 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
Y, eso es todo por ahora amigos. Más cosas buenas por venir. ¡Estén atentos!
¡¡Salud!!