Red Hat Training

A Red Hat training course is available for RHEL 8

第31章 ネットワークリソースへのアクセスを最適化するためのオペレーティングシステムの設定

ここでは、ワークロードに応じてネットワークリソースへのアクセスが最適化されるようにOSを設定する方法を説明します。ネットワークパフォーマンスの問題は、ハードウェアの誤作動やインフラストラクチャーの障害が原因であることがあります。これらの問題の解決については、本書では扱いません。

Tuned サービスは、さまざまなプロファイルを提供し、特定のユースケースでパフォーマンスを向上します。

  • latency-performance
  • network-latency
  • network-throughput

31.1. パフォーマンス問題の監視および診断を行うツール

以下は、Red Hat Enterprise Linux 8 で利用可能なツールです。システムパフォーマンスを監視し、ネットワークサブシステムに関連するパフォーマンス問題を診断するために使用されます。

  • ssユーティリティは、ソケットの統計情報を表示し、管理者がデバイスのパフォーマンスを長期的に評価できるようにします。デフォルトでは、ss は、確立された接続があるオープンな TCP ソケットを表示します。管理者は、コマンドラインオプションを使用すると、特定のソケットに関する統計をフィルタリングできます。Red Hat は、Red Hat Enterprise Linux では、非推奨の netstat よりも ss を推奨しています。
  • ip を使用すると、管理者はルート、デバイス、ルーティングポリシー、およびトンネルを管理および監視できます。ip monitor コマンドは、デバイス、アドレス、およびルートの状態を継続的に監視できます。-j オプションを使用して JSON 形式で出力を表示します。これは、他のユーティリティーに提供して情報処理を自動化することができます。
  • dropwatch は、dropwatch パッケージが提供する対話式のツールです。カーネルがドロップしたパケットを監視して記録します。
  • ethtoolユーティリティーは、管理者がネットワーク・インターフェース・カードの設定を表示・編集するためのものです。このツールを使用して、特定デバイスのドロップしたパケット数などの統計情報を監視します。ethtool -S device name コマンドを使用して、監視するデバイスの指定されたデバイスのカウンターの状態を表示します。
  • /proc/net/snmpファイルは、snmpエージェントがIP、ICMP、TCP、UDPの監視と管理に使用するデータを表示します。このファイルを定期的に調べると、管理者は意図しない値を特定し、パフォーマンスの問題を特定することができます。たとえば、/proc/net/snmp ファイル内の UDP 入力エラー (InErrors) を増やすと、ソケット受信キューのボトルネックを示す可能性があります。
  • nstatツールは、カーネルSNMPとネットワークインターフェースの統計情報を監視します。このツールは、/proc/net/snmp ファイルからデータを読み取り、情報を人間が判読できる形式で出力します。
  • デフォルトでは、systemtap-client パッケージが提供する SystemTap スクリプトは /usr/share/systemtap/examples/network ディレクトリーにインストールされます。

    • nettop.stp: 5 秒ごとに、スクリプトはプロセス一覧 (プロセス識別子とコマンド)、送受信されたパケットの数、その間にプロセスが送受信したデータ量を表示します。
    • socket-trace.stp: Linux カーネルの net/socket.c ファイル内の各関数にインストルメント化し、トレースデータを表示します。
    • dropwatch.stp: 5 秒ごとに、カーネル内の場所で解放されているソケットバッファーの数を表示します。--all-modules オプションを使用してシンボリック名を表示します。
    • latencytap.stp: このスクリプトは、1 つ以上のプロセスにおける、異なるタイプのレイテンシーの影響を記録します。レイテンシータイプの一覧を 30 秒ごとに出力し、待機しているプロセスまたはプロセスの合計時間で降順でソートします。これは、ストレージとネットワークレイテンシーの両方の原因を特定するのに役立ちます。

    Red Hat は、このスクリプトに --all-modules オプションを使用して、レイテンシーイベントのマッピングをより有効化することを推奨します。デフォルトでは、このスクリプトは /usr/share/systemtap/examples/profiling ディレクトリーにインストールされます。

  • BPF コンパイラーコレクション (BCC) は、eBPF (extended Berkeley Packet Filter) プログラムの作成を容易にするライブラリーです。eBPF の主なユーティリティーは、オーバーヘッドやセキュリティー上の問題が発生することなく、OS のパフォーマンスおよびネットワークパフォーマンスを分析するものです。

関連情報