一组用于简化 Linux 网络故障排除和性能调整的实用程序

今天,我们将讨论一组有用的实用程序,称为 “netutils-linux” 可用于简化 Linux 网络故障排除和性能调整。 这套 Linux 实用程序可帮助您自动执行开箱即用的 linux 性能调整过程。 Netutils-linux 包含以下工具:

  • 网络顶
  • snmptop
  • 中断
  • 软中断顶部
  • 链接速率
  • softnet-stat-top
  • RSS-阶梯
  • 自动售货机
  • 最大化 CPU 频率
  • rx 缓冲区增加
  • 服务器信息

Netutils-linux – 简化 Linux 网络故障排除和性能调优

安装 Netutils-linux

Netutils-linux 是使用 Python 编程语言开发的。 所以,它可以很容易地安装使用 点子.

在 Arch Linux 及其衍生版本上,运行以下命令来安装 pip:

sudo pacman -S python-pip

在 Debian、Ubuntu、Linux Mint 上:

sudo apt-get install python-pip

在 RHEL 上, Fedora中央操作系统:

sudo yum install python-pip

或者,

sudo dnf install python-pip

在 SUSE/openSUSE 上:

sudo zypper install python-pip

安装 PIP 后,运行以下命令进行安装 netutils-linux

sudo pip install netutils-linux

示例输出为:

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

用法

就像我在介绍部分提到的那样,Netutils-linux 包含一组专门为网络故障排除和性能调整而设计的实用程序。 所有实用程序分为三个部分,即:

  1. 监控
  2. 调音
  3. 硬件及其配置等级

1. 监控

所有这些 最佳– 属于监控部分的类似工具不需要 root 或 sudo 特权。 您可以将它们用作普通用户。

网络顶

该实用程序允许您监控设备和 CPU 的中断、软中断、网络处理统计信息。 要运行此实用程序,请输入:

network-top

这是我的 Ubuntu 16.04 LTS 服务器的示例输出。

要退出此实用程序,请按 CTRL-C.

Snmptop

这是一个基本的 /proc/net/smmp 文件观察者。

要运行此实用程序,请输入以下命令:

snmptop

中断

此实用程序显示基于中断率 /proc/中断 Linux 系统的文件。

使用命令运行此实用程序:

irqtop

中断

软中断顶部

它显示了接收和传输数据包的速率,基于 /proc/softirqs 文件。

软中断顶部

链接速率

它显示网络接口接收/传输的数据包/字节数以及发生的错误数 /sys/class/net/XXX/statistic/YYY 文件。

链接速率

Softnet-stat-top

它显示了 Linux 机器每个 CPU 处理数据包的各种统计数据。

softnet-stat-top

2. 调优

您必须是 root 或 sudo 用户来运行这些工具。

RSS-阶梯

它会自动为通常在 CPU0 上工作的 NIC rx/tx 队列的 IRQ 设置 smp_affinity_list。

rss-ladder enp0s3 0

自动售货机

它为所有 NIC 的 rx 队列在 NIC 的本地 NUMA 节点的所有可用 CPU 上启用 RPS。 它适用于便宜的网络接口卡。

例子:

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

最大化 CPU 频率

此实用程序将每个 CPU 缩放调节器模式设置为性能,并将最大缩放值设置为最小缩放值。 因此,您可以使用处理器的所有功能。 它对于延迟敏感的系统非常有用。

rx 缓冲区增加

该实用程序在避免丢失/丢失 pkts 和保持低延迟之间找到并设置折衷值。

例子:

$ 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

硬件及其配置等级

服务器信息

此实用程序类似于 lshw 命令。

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

Server-info 实用程序还可以按 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

而且,这就是现在的全部内容。 更多好东西即将到来。 敬请关注!

干杯!!

资源:

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!