一个用于简化Linux网络故障排除和性能调整的实用程序集合
今天,我们将讨论一个名为"Netutils-Linux"的有用实用程序的集合,可用于简化Linux网络故障排除和性能调整。
此套件的Linux Utills可将Linux性能调整过程自动开箱即用。
Netutils-Linux由以下工具组成:
- network-top
- snmptop
- irqtop
- softirq-top
- link-rate
- softnet-stat-top
- rss-ladder
- autorps
- maximize-cpu-freq
- rx-buffers-increase
- server-info
Netutils-Linux - 简化Linux网络故障排除和性能调整
安装Netutils-Linux
Netutils-Linux是使用Python编程语言开发的。
因此,可以使用pip轻松安装它。
在Arch Linux及其衍生产品上,运行以下命令以安装PIP:
sudo pacman -S python-pip
在Debian,Ubuntu,Linux Mint:
sudo apt-get install python-pip
在Rhel,Fedora,Centos:
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.监测
在监控部分下落下的所有这些顶级工具都不需要root或者sudo权限。
我们可以使用它们作为普通用户。
network-top
此实用程序允许我们监控设备和CPU的中断,软中断,网络处理统计数据。
要运行此实用程序,请输入:
network-top
这是我的Ubuntu 16.04 LTS服务器的示例输出。
要退出此实用程序,请按Ctrl-C。
Snmptop
它是一个基本/proc/net/smmp文件观察者。
要运行此实用程序,请输入以下命令:
snmptop
irqtop
此实用程序向我们展示了基于/proc /中断文件的中断速率。
使用命令运行此实用程序:
irqtop
Softirq-top
它显示了基于/proc/softirqs文件接收和发送数据包的速率。
Link-rate
它显示了网络接口收到/发送的数据包/字节数以及基于/sys/class/net/xxx /统计/yyy文件发生了多少个错误。
Softnet-stat-top
它显示了Linux框的每个CPU数据包处理的各种统计信息。
2.优化
我们必须root或者sudo用户运行这些工具。
rss-ladder
它会自动为NIC RX/TX队列的IRQ设置SMP_Affinity_List,该队列通常会在框中开发CPU0。
rss-ladder enp0s3 0
Autorps
它为所有NIC的RX队列提供了NIC的NIC的NIMA节点的所有可用CPU的RPS。
它对便宜的网络接口卡是好的。
例子:
$sudo autorps enp0s3 Using mask '1' for enp0s3-rx-0
maximize-cpu-freq
此实用程序将每个CPU缩放调速模式设置为性能并设置最大缩放值的最大缩放值。
因此,我们可以使用处理器的所有电源。
对于潜伏的系统来说非常有用。
rx-buffers-increase
此实用程序在避免丢弃/缺少的PKT和保持延迟之间找到并设置折衷值。
例子:
$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
硬件及其配置等级
server-info
此实用程序类似于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