HOPES

サーバの通信速度の測定とNICの設定調整

サーバの通信速度の測定とNICの設定調整

データセンターに置いてあるサーバについて、サーバ速度が遅かった際の対応として行ったNICの設定調整の方法をサーバの通信速度の測定方法と合わせてまとめます。

サーバの通信速度の測定ツール

サーバの通信速度の測定には、SPEEDTEST CLIを使って測定します。

Speedtest CLIを使えば、Speedtestで使われている信頼できるテクノロジーとグローバルサーバーネットワークをコマンドラインで使用できるようになります。ソフトウェア開発者、システム管理者、コンピューター愛好家向けに作られたSpeedtest CLIは、Ookla®が作ったLinuxネイティブの最初のオフィシャルSpeedtestアプリケーションです。

Speedtest CLI:コマンドライン用のインターネット速度テスト

SPEEDTEST CLIのインストール

インストール案内の「Fedora/Centos/Redhat」の項目を確認してインストールします。

# curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash
# yum install speedtest
インストール済み:
  speedtest-1.2.0.84_1.ea6b6773cf-1.x86_64                                                                                          

完了しました!

通信速度測定

通信速度の測定を実施してみます。

# speedtest
==============================================================================

You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:

	https://www.speedtest.net/about/eula
	https://www.speedtest.net/about/terms
	https://www.speedtest.net/about/privacy

==============================================================================

Do you accept the license? [type YES to accept]: YES
License acceptance recorded. Continuing.


   Speedtest by Ookla

      Server: Allied Telesis Capital Corporation - Fussa-shi (id: 6087)
         ISP: **** Co.,Ltd.
Idle Latency:    25.39 ms   (jitter: 1.77ms, low: 22.70ms, high: 27.75ms)
    Download:    41.72 Mbps (data used: 34.0 MB)                                                   
                 27.83 ms   (jitter: 7.28ms, low: 20.28ms, high: 50.29ms)
      Upload:     5.91 Mbps (data used: 6.7 MB)                                                   
                 25.24 ms   (jitter: 3.59ms, low: 21.35ms, high: 111.73ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/14720585-b631-4371-abe4-d19cb00a7a16

NICの設定調整

通信速度の結果を確認すると、あまりにも速度が出ていないことが確認できます。このサーバでは、100Mベストエフォートでの接続契約となっているのですが、あまりにも遅い数値のため何か問題がありそうです。

原因の調査

データセンターの技術者の方とも連絡を取り確認したところ、今回の原因は、データセンター側のL2スイッチの設定は、

  • Speed: 100M
  • Duplex: Full

となっており、この環境で、サーバのNICが、オートネゴシエーションに設定されていることにより、リンク速度が、「100M/Half」となり、パケットの衝突が発生して、速度が出ない結果になっていました。

確認すると、

# ethtool eno1
Settings for eno1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Half 1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Half 1000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  100baseT/Half
	Link partner advertised pause frame use: No
	Link partner advertised auto-negotiation: No
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Half
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	MDI-X: off
	Supports Wake-on: g
	Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
	Link detected: yes
  • Speed: 100Mb/s
  • Duplex: Half

となってしまっていることが確認できます。

NICの設定調整の実施

NICの設定を行い正常な通信になるよう調整します。

オートネゴシエーションを無効に設定します。

# ethtool -s eno1 autoneg off

全二重になるよう設定します。

# ethtool -s eno1 duplex full

設定が反映されたことを確認します。

# ethtool eno1
Settings for eno1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Half 1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  Not reported
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Auto-negotiation: off
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	MDI-X: off
	Supports Wake-on: g
	Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
	Link detected: yes
  • Speed: 100Mb/s
  • Duplex: Full

となっており、設定の変更が反映されたことが確認できます。

通信速度の改善を確認

再度、通信速度の測定を実施します。

# speedtest

   Speedtest by Ookla

      Server: Allied Telesis Capital Corporation - Fussa-shi (id: 6087)
         ISP:  **** Co.,Ltd.
Idle Latency:    25.03 ms   (jitter: 9.88ms, low: 21.40ms, high: 38.07ms)
    Download:    93.87 Mbps (data used: 167.0 MB)                                                   
                 33.50 ms   (jitter: 2.81ms, low: 24.33ms, high: 53.92ms)
      Upload:    94.00 Mbps (data used: 90.0 MB)                                                   
                 53.03 ms   (jitter: 24.63ms, low: 23.01ms, high: 439.69ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/fc6ce440-b154-43e4-b52b-1f12283971f6

スピード速度が改善されたことが確認できます。

これでNICの設定調整は完了です。

2022年08月17日に投稿されました。

2022年08月20日に更新されました。