一組實用程序,可簡化 Linux 網絡故障排除和性能調整

今天,我們將討論一組有用的實用程序,稱為“netutils-linux”可用於簡化 Linux 網絡故障排除和性能調整。 這套 Linux 實用程序可幫助您自動執行開箱即用的 Linux 性能調整過程。 Netutils-linux 由以下工具組成:

  • 網頂
  • snmptop
  • 紅外線
  • 頂級軟中斷
  • 鏈接速率
  • softnet-stat-top
  • RSS階梯
  • 作者
  • 最大化 CPU 頻率
  • 接收緩衝區增加
  • 服務器信息

Netutils-linux – 簡化 Linux 網絡故障排除和性能調整

安裝 netutils-linux

Netutils-linux 是使用 Python 編程語言開發的。 所以它可以很容易地安裝使用掘金.

在 Arch Linux 及其衍生產品上,運行以下命令來安裝 pip:

                      sudo pacman -S python-pip
                    

德比安,Ubuntu, Linux 造幣廠:

                      sudo apt-get install python-pip
                    

在 RHEL、FedoraCentOS 上:

                      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/網絡/smmp文件觀察者

要運行此實用程序,請輸入以下命令:

                      snmptop
                    

紅外線

該實用程序向您顯示基於以下因素的中斷率/過程/中斷Linux 系統中的文件。

使用以下命令運行此實用程序:

                      irqtop
                    

irqtop

頂級軟中斷

它向您顯示接收和傳輸數據包的速率/proc/軟中斷程序。

top softirq

鏈接速率

顯示網絡接口接收/傳輸的數據包/字節數以及發生的錯誤數/sys/class/net/XXX/statistics/YYY記錄

tasa de enlace

softnet-stat-top

顯示 Linux 機器每個 CPU 的各種數據包處理統計信息。

softnet-stat-top

2. 調整

您必須使用 root 或 sudo 用戶才能運行這些工具。

RSS階梯

自動為 NIC rx/tx 隊列 IRQ 設置 smp_affinity_list,這些 IRQ 通常開箱即用地在 CPU0 上工作。

                      rss-ladder enp0s3 0
                    

作者

為所有 NIC rx 隊列在所有可用的 NIC 本地 NUMA 節點 CPU 上啟用 RPS。 它適用於廉價的網絡接口卡。

例子:

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

最大化 CPU 頻率

該實用程序將每個 CPU 縮放調控器模式設置為性能,並將最大縮放值設置為最小縮放值。 因此,您可以充分利用處理器的強大功能。 它對延遲敏感的系統非常有用。

接收緩衝區增加

該實用程序在避免丟失或丟棄數據包與保持低延遲之間找到並設置權衡。

例子:

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

服務器信息實用程序還可以按 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
                    

而且,這就是現在的朋友們。 更多好事接踵而至。 敬請關注!

健康!!

資源:

感謝您的光臨!

幫助我們幫助您:

祝你今天過得愉快!!

相關文章