転送量無制限でもポート速度の上限は残るか

帯域はポートが 1 秒に通せる速度です。転送量は、ある期間に実際に流れたバイト数です。転送量無制限は、その月間合計を別に課金しないという意味です。速度は選んだ段で止まります。250 Mbps、1 Gbps、2 Gbps のいずれかです。足りるかどうかは、混雑時にその段へ張り付くかで見ます。

帯域と転送量が測るもの

注文画面に並ぶ二つの語は、同じものを測っていません。帯域は Mbps または Gbps で書き、その 1 秒にどれだけ進めるかを答えます。転送量は GB または TB で書き、1 時間、1 日、1 か月に何バイト流れたかを答えます。

ポートを車線の制限速度、月間転送量を走った距離と考えると整理できます。制限速度がそのままでも、車線が混み続けるほど距離は伸びます。距離のメーターを止めても、制限速度の標識は残ります。

請求のうえでの転送量無制限は、月間バイト数を別行で足さないということです。ポートを任意の速度にはしません。250 Mbps の段は、どの 1 秒でも上限が 250 Mbps です。1 Gbps と 2 Gbps も同じで、変わるのは上限の数字と月額の加算です。三つの段とも、転送量の従量課金はありません。

速度測定のページは、数秒から数十秒、ポートを埋めようとします。結果が購入段に近ければ、その短い時間は経路がその速度まで届いたということです。結果が大きく下回るときは、測定先と、ダウンロードかアップロードかを先に見ます。一度の測定は、月全体にその速度が必要だという証拠にはならず、マシン自身のバイトカウンタの代わりにもなりません。

請求上の転送量無制限と、ポート上の 250 Mbps は同時に有効です。月間合計は別料金にならず、速度は選んだ段のままです。

三つのポートはそれぞれどれだけ進むか

換算は十進です。1 Mbps は毎秒 100 万ビットです。8 で割ると、毎秒 100 万バイト、日常の MB/s になります。250 ÷ 8 = 31.25 なので、250 Mbps を埋め切ると約 31.25 MB/s です。1 Gbps は 1000 Mbps として約 125 MB/s、2 Gbps は約 250 MB/s です。

1 GB のファイルを 1000 MB と数えると、250 Mbps を埋め切った状態で約 32 秒です。同じファイルは、1 Gbps で約 8 秒、2 Gbps で約 4 秒です。経路全体、相手、ディスク、アプリケーションが追いついているときの話です。ディスクや相手の方が遅いと、ポートはまだ上限に達しておらず、ファイル時間もこの秒数まで縮みません。

月間転送量も同じ単位で見積もります。30 日間、速度を埋め切ったまま走らせた場合です。

TB = Mbps × 86400 × 30 ÷ 8 ÷ 1000000

86400 は 1 日の秒数です。まずビットになり、8 で割ってバイト、1,000,000 で割って TB です。ここでは 1 TB = 1000 GB、1 GB = 1000 MB で、上の MB/s と揃えています。250、1000、2000 を入れると、81 TB、324 TB、648 TB です。これは 30 日間、一刻も休まず埋め切ったときだけの合計で、転送量を別に課金しない範囲の距離を示す数字です。業務に足りるかは、次の節の混雑時の計測で判断します。

ポート埋め切った速度30 日連続月額の加算
250 Mbps31.25 MB/s81 TB$0
1 Gbps125 MB/s324 TB$245.0
2 Gbps250 MB/s648 TB$742.7

NIC のネゴシエーション速度は別の数字です。Linux の /sys/class/net/NIC名/speed は 1000 や 10000 を示すことが多く、NIC とスイッチの間が 1 Gbps または 10 Gbps になったという意味です。このファイルは購入したポートを返しません。10 Gbps の NIC を載せていても、購入ポートは 250 Mbps のままです。ethtool やこの speed で「250 Mbps を買ったか」を確かめると一致しません。制限している箇所が違うからです。

speed が 10000 でも、10 Gbps のポートを買ったことにはなりません。注文上のポートは 250 Mbps、1 Gbps、2 Gbps のいずれかです。

混雑時に張り付いてから一段上げる

一段上げる根拠は、業務の混雑時にポートが待ちの原因になっていることです。普段は毎秒数メガビットで、バックアップの時間だけアップロードが 250 Mbps に張り付くなら、伸びているのはバックアップで、見るのは送信です。利用者がパッケージをダウンロードし、受信が上限に張り付いてページが並ぶなら、見るのは受信です。向きごとにポートの数字と比べます。受信と送信を足してから 250 と比べると、二つの向きを一つの大きな数に重ねてしまいます。

計測は実際に忙しい時間へ置きます。午後の空いた時間の一度きりではありません。バックアップは夜、リリースは決まった時刻、アクセスの山は業務のタイムゾーンに従います。短い計測を続けて、高い側がどれだけ長く留まるかを見ます。1、2 秒だけ上限に触れてすぐ下がるのはバーストです。バックアップやアクセスの窓全体で、高い側がポートの数字の近くに留まり、その窓がポートによって伸びているなら、その段は足りていません。

六割は読み取りの目安で、請求には書きません。250 Mbps の六割は約 150 Mbps、1 Gbps は約 600 Mbps、2 Gbps は約 1200 Mbps です。混雑の窓で高い側の多くがこの線より下なら、ポートにはまだ余裕があります。この線をしばしば越え、ポートの数字に何度も張り付くなら、次の段を見ます。

混雑時に見えたこと扱い
高い側の多くがポートの六割未満で、まれに触れてすぐ戻る今の段のまま
バックアップ、同期、配信の窓全体で、送信か受信が 250 Mbps に張り付く1 Gbps を見る
すでに 1 Gbps で、同じ種類の窓がまだ 1000 Mbps に張り付く2 Gbps を見る
速度測定は一度埋まるが、業務カウンタは混雑時も低い今の段のまま
ディスクや相手が先に埋まり、ポートの計測は購入段を大きく下回る先にディスクか相手を見る。ポートは動かさない

250 Mbps から 1 Gbps へ上げると、埋め切ったときのバイト速度は約 4 倍です。1000 ÷ 250 = 4 だからです。1 Gbps から 2 Gbps へは、さらに約 2 倍です。ファイルがその倍率で短くなるかは、ディスクと相手が受け止められるかによります。計測がすでに上限に張り付き、ディスクのスループットに余裕があるとき、一段上げるとその時間が縮みます。計測が段を大きく下回り、ディスクが先に埋まっているとき、ポートを大きくしてもファイル時間はディスクのままです。

受け取り後にカウンタで確かめる

コンソールの先頭行のアドレスが載っている NIC のカウンタを読みます。先にアドレスを一覧し、次のコマンドの NIC 名を、その先頭行を持つものへ替えます。eno1 は仮の名前です。

ip -br addr

10 秒の計測で、この短い区間がポートに張り付いているかを判断できます。開始と終了の受信バイト、送信バイトの差を 10 で割り、毎秒バイトにします。8 を掛け、1,000,000 で割ると Mbps です。受信と送信は別の行に出します。

DEV=eno1
RX1=$(cat /sys/class/net/$DEV/statistics/rx_bytes)
TX1=$(cat /sys/class/net/$DEV/statistics/tx_bytes)
sleep 10
RX2=$(cat /sys/class/net/$DEV/statistics/rx_bytes)
TX2=$(cat /sys/class/net/$DEV/statistics/tx_bytes)
awk -v rx1="$RX1" -v rx2="$RX2" -v tx1="$TX1" -v tx2="$TX2" 'BEGIN {
  printf "in %.1f Mbps\n", (rx2-rx1)/10*8/1000000
  printf "out %.1f Mbps\n", (tx2-tx1)/10*8/1000000
}'

混雑の窓では 1、2 分おきに繰り返し、高い側の数値を残します。一度より役に立ちます。夜のバックアップは開始後に、日中のアクセスは最も多い 1 時間に測ります。アイドル時に 0 に近い値は、そのとき業務がなかったことだけを示します。ポートが大きすぎることは示しません。

1 日の形を見るなら vnstat を入れ、混雑日を少なくとも 1 日分カバーさせてから時間ごとに読みます。入れた直後の 1 時間には履歴がないので、昨日の判断には使えません。

vnstat -i eno1 -h

Windows では、リンクアップしていて、アドレスがコンソール先頭行と一致するアダプタで同じ 10 秒差を取ります。名前は Get-NetAdapter で Status が Up、アドレスが一致するものへ替えます。

$n = "Ethernet"
$a = Get-NetAdapterStatistics -Name $n
Start-Sleep -Seconds 10
$b = Get-NetAdapterStatistics -Name $n
"in {0:N1} Mbps" -f (($b.ReceivedBytes - $a.ReceivedBytes) * 8 / 10 / 1000000)
"out {0:N1} Mbps" -f (($b.SentBytes - $a.SentBytes) * 8 / 10 / 1000000)

確認はこの順です。

  1. 01 注文のポートが 250 Mbps、1 Gbps、2 Gbps のどれかを確認する。NIC の speed はこの手順に入れない。
  2. 02 コンソール先頭行のアドレスを持つ NIC またはアダプタを見つける。
  3. 03 バックアップ、同期、アクセスの山で 10 秒計測を繰り返し、受信と送信を分けて残す。
  4. 04 高い側の多くがその段の六割未満なら、今の段のままにする。窓全体がポートの数字に張り付くなら、次の段を見る。
  5. 05 ポートの計測は低いままで作業が遅いなら、帯域を上げる前にディスクと相手を調べる。

帯域の加算を月額へ入れる

ポートの段は、メモリ、ディスク、アドレス、OS と一緒に月額へ足してから、期間の月数を掛けます。月払いは 1、四半期は 3、半年は 6、年は 12 です。どの期間も割引はなく、設置料もありません。三つの段とも TB ごとの従量はないので、一段上げて増えるのはポートの月額であり、使用量の残額ではありません。

128GB の月額は $454.8 です。標準の 1TB NVMe が 2 台、それぞれ直結で、ハードウェア RAID はありません。使える容量は 2 台の合計で 2TB です。帯域を 250 Mbps のままにすると加算は $0 です。1 Gbps にすると月 $245.0 が加わり、このマシンの月額は $699.8 になります。四半期は $2,099.4、年は $8,397.6 です。2 Gbps にすると月 $742.7 が加わります。ディスクもアドレスも追加せず、無償の OS のとき、月額は $1,197.5 です。256GB の月額は $612.7 で、メモリは DDR4-3200 ECC RDIMM です。二つの段は注文時に選びます。プロセッサは AMD EPYC 7543P、32 コア 64 スレッド、2.8 から 3.7 GHz です。追加の 2TB NVMe は 1 台あたり月 $84.7、最大 2 台で、やはり直結です。追加 IPv4 は 1 個あたり月 $1.6 です。マシンは日本の東京に置きます。Linux は SSH、Windows を選んだあとは RDP です。

ディスク、アドレス、有償 OS を足すときは、その月額を、すでに帯域を含んだ $699.8 や $1,197.5 へまとめてから月数を掛けます。帯域の加算だけを月数倍し、本体を 1 か月分のままにすると、期間が揃いません。

構成ページの帯域は三つのうち一つです。前の節の混雑時の計測で段を決め、この節で加算を期間へ掛けます。月間バイトの列は転送量無制限がすでに覆っています。選ぶこと自体が答えるのは、混雑時にポートが足りる速さかどうかです。

混雑を見てからポートを決める

月額 $454.8 から