GNU/Linux >> Linux の 問題 >  >> Linux

Linuxネットワークのトラブルシューティングとパフォーマンスチューニングを簡素化するユーティリティのコレクション

今日は、 "netutils-linux"と呼ばれる便利なユーティリティのコレクションについて説明します。 これは、Linuxネットワークのトラブルシューティングとパフォーマンスの調整を簡素化するために使用できます。このLinuxutilsスイートは、Linuxパフォーマンスチューニングプロセスをすぐに自動化するのに役立ちます。 Netutils-linuxは、次のツールで構成されています。

  • network-top
  • snmptop
  • irqtop
  • softirq-top
  • リンクレート
  • softnet-stat-top
  • rss-はしご
  • autorps
  • maximum-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には、ネットワークのトラブルシューティングとパフォーマンスの調整を目的として特別に設計されたユーティリティが多数含まれています。すべてのユーティリティは、次の3つのセクションに分類されます。

  1. 監視
  2. 調整
  3. ハードウェアとその構成評価

1。監視

これらすべてのトップ -監視セクションに該当するツールのように、rootまたはsudo権限は必要ありません。通常のユーザーとして使用できます。

ネットワークトップ

このユーティリティを使用すると、デバイスとCPUの割り込み、ソフト割り込み、ネットワーク処理統計を監視できます。このユーティリティを実行するには、次のように入力します。

network-top

これが私のUbuntu16.04LTSサーバーからの出力例です。

このユーティリティを終了するには、 CTRL-Cを押します。 。

Snmptop

これは基本的な/proc / net / smmp ファイルウォッチャー。

このユーティリティを実行するには、次のコマンドを入力します。

snmptop

irqtop

このユーティリティは、 / proc /interruptsに基づいて割り込みの割合を表示します Linuxシステムのファイル。

コマンドを使用してこのユーティリティを実行します:

irqtop

Softirq-top

/ proc / softirqsに基づいたパケットの送受信速度を示します ファイル。

リンクレート

/ sys / class / net / XXX / statistics / YYY に基づいて、ネットワークインターフェイスが送受信するパケット/バイト数と発生したエラー数を示します。 ファイル。

Softnet-stat-top

LinuxボックスのCPUごとのパケット処理のさまざまな統計が表示されます。

2。チューニング

これらのツールを実行するには、rootまたはsudoユーザーのいずれかである必要があります。

rss-ladder

通常はCPU0ですぐに機能するNICrx/txキューのIRQにsmp_affinity_listを自動的に設定します。

rss-ladder enp0s3 0

Autorps

これにより、すべてのNICのrxキューのNICに対してローカルなNUMAノードの使用可能なすべてのCPUでRPSが有効になります。安価なネットワークインターフェイスカードに適しています。

例:

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

maximum-cpu-freq

このユーティリティは、すべてのCPUスケーリングガバナーモードをパフォーマンスに設定し、最小スケーリング値に最大スケーリング値を設定します。したがって、プロセッサのすべての能力を使用できます。レイテンシーに敏感なシステムには非常に便利です。

rx-buffers-増加

このユーティリティは、パケットのドロップ/欠落を回避することとレイテンシを低く保つことの間の妥協値を見つけて設定します。

例:

$ 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

そして、それは今のところすべてです。来るより良いもの。しばらくお待ちください!

乾杯!!


Linux
  1. MySQL –パフォーマンスの調整と最適化

  2. LinuxでFlatpakをインストールして使用する方法

  3. Linuxのトラブルシューティング101:システムパフォーマンス

  1. LinuxにAnsibleをインストールしてテストする方法

  2. 5Linuxネットワークのトラブルシューティングコマンド

  3. Linuxネットワークのトラブルシューティングとデバッグ?

  1. LinuxにElasticsearchとKibanaをインストールする方法

  2. Linux Screenをインストールして使用する方法は?

  3. LinuxにPuTTYをインストールして使用する方法