206073662
201965862

さくらのVPSで回線速度が遅くアクセスに時間がかかります。

対象サービス・プラン
 

さくらのVPSにおいて、不特定のVPS収容ホストとクライアント環境(プロバイダ等)の組み合わせにより、
さくらのVPSからのダウンロード方向の通信に遅延が発生する場合があります。

  • http,ftp,scp等でのファイルのダウンロード速度が極端に遅い。
  • ファイルをダウンロード中に通信が切断される。
  • ホームページの静的なコンテンツ表示に異常に時間がかかる。

上記のような現象が確認された場合、設定変更を行うことで回避できる場合があります。

CentOS

※ 以下の手順は root として操作する必要があります。

ethtool コマンドの実行

ethtool コマンドにて tcp segmentation offload を off に設定します。

# ethtool -K eth0 tso off

上記設定は再起動を行うと無効になります。

設定の確認

下記のコマンドで tcp segmentation offload: off になっていることを確認します。

# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/udev/rules.d/ 以下に 50-eth_tso.rulesというファイルを作成して、下記の記述をします。

ファイル名 /etc/udev/rules.d/50-eth_tso.rules
内容 ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth0", RUN+="/sbin/ethtool -K eth0 tso off"

以上で設定は完了です。

Ubuntu

ethtoolのインストール

Ubuntuの標準ではethtoolコマンドがインストールされていない為、ethtoolパッケージのインストールから行う必要があります。

$ sudo aptitude install ethtool

ethtoolコマンドの実行

ethtoolコマンドにて「tcp segmentation offload」をoffに設定します。

$ sudo ethtool -K eth0 tso off

設定の確認

下記のコマンドで tcp segmentation offload: off になっていることを確認します。

$ sudo ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/network/interfacesに下記の記述を追加します。
※sudo または root として操作する必要があります。

ファイル名 /etc/network/interfaces
追加内容 ファイル末尾に追記。
post-up /usr/sbin/ethtool -K eth0 tso off

以上で設定は完了です。

Debian

※ 以下の手順は root として操作する必要があります。

ethtoolのインストール

Debianの標準ではethtoolコマンドがインストールされていない為、ethtoolパッケージのインストールから行う必要があります。

# aptitude install ethtool

ethtoolコマンドの実行

ethtoolコマンドにて「tcp segmentation offload」をoffに設定します。

# ethtool -K eth0 tso off

設定の確認

下記のコマンドで tcp segmentation offload: off になっていることを確認します。

# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/network/if-pre-up.d/に下記のファイルを新規追加します。

ファイル名 /etc/network/if-pre-up.d/tso
ファイルの内容 #!/bin/sh
ETHTOOL=/sbin/ethtool
$ETHTOOL -K eth0 tso off
ファイルのパーミションを変更 chmod 755 /etc/network/if-pre-up.d/tso

以上で設定は完了です。

Fedora

※ 以下の手順は root として操作する必要があります。

ethtoolのインストール

FedoraのMinimumインストールではethtoolコマンドがインストールされていない為、ethtoolパッケージのインストールから行う必要があります。

# yum -y install ethtool

ethtool コマンドの実行

ethtool コマンドにて tcp segmentation offload を off に設定します。

# ethtool -K eth0 tso off

上記設定は再起動を行うと無効になります。

設定の確認

下記のコマンドで tcp segmentation offload: off になっていることを確認します。

# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/udev/rules.d/ 以下に 50-eth_tso.rulesというファイルを作成して、下記の記述をします。

ファイル名 /etc/udev/rules.d/50-eth_tso.rules
内容 ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth0", RUN+="/sbin/ethtool -K eth0 tso off"

以上で設定は完了です。

FreeBSD

※ 以下の手順は root として操作する必要があります。

現在の情報を確認する

下記のコマンドでtsoの現在の状態を確認します。

# sysctl net.inet.tcp.tso
net.inet.tcp.tso: 1

結果が1の場合、TSOは有効になっています。0の場合は、無効です。

コマンドの実行

sysctlコマンドで値の修正を実行します。

# sysctl net.inet.tcp.tso=0
net.inet.tcp.tso: 1 -> 0

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/sysctl.confに下記の記述を追加します。

ファイル名 /etc/sysctl.conf
追加内容 net.inet.tcp.tso=0

追加設定

TSOを無効化した後にも、特定のクライアント、ネットワーク経路からのアクセスに時間がかかる場合は、以下の方法を合わせてお試ください。

設定対象 sysctl net.inet.tcp.inflight.enable

現在の情報を確認する

下記のコマンドで現在の状態を確認します。

# sysctl net.inet.tcp.inflight.enable
net.inet.tcp.inflight.enable: 1

デフォルト時の設定値は「1」となります。

コマンドの実行

sysctlコマンドで設定値を「0」に変更します。

# sysctl net.inet.tcp.inflight.enable=0
net.inet.tcp.inflight.enable: 1 -> 0

設定ファイルの作成

再起動後も設定を有効にする為に、/etc/sysctl.confに下記の記述を追加します。

ファイル名 /etc/sysctl.conf
追加内容 net.inet.tcp.inflight.enable=0

以上で設定は完了です。

※ この設定は低速な回線からさくらのVPSへ接続した場合に、ダウンロード方向への通信速度に影響がある場合があります。
  アップロードの通信速度に影響はありません。
  また、この設定をされる事で、クライアントからのアクセス環境によっては速度が遅くなる可能性がございます。
  よって、個別にチューニングが必要となる場合がございます。チューニングに関する詳細は、
  FreeBSD公式ページや関連ウェブサイト、各種専門書籍等をご参考ください。

さくらのサポート情報

メニューを閉じる