結論

トラフィックとは、ネットワークを流れるデータ(とその量)のことです。Web の話では「サイトへの訪問数」、広告の話では「広告から送り込むアクセス」の意味で使います。どの意味でも「どれだけ流れたか」を数えて初めて役に立つ言葉です。

この記事でわかること

  • 3つの意味の使い分けと、bps・B/s・Mbps・MB/s の換算表
  • ip -s link・ss・tcpdump・nload・iftop で見た通信量の実物
  • 回線があふれてキューにたまり捨てられる様子と、アクセスログから訪問数を数える手順

2026年10月29日更新|Ubuntu 24.04・iperf3 3.16・tcpdump 4.99.4・nginx 1.24 で実行確認

「トラフィック(traffic)」は元々「交通量」という意味の言葉です。IT では道路を走る車の代わりに、回線を流れるデータや、サイトに来る人の流れを指します。意味が3つあるので、まず使い分けを押さえます。

flowchart TD
    T[トラフィック<br>= 流れの量] --> N[ネットワーク<br>流れるデータ量<br>単位: bps / バイト]
    T --> W[Web サイト<br>訪問数・セッション数<br>単位: 回・人]
    W --> A[広告のトラフィック<br>= 有料の流入だけ<br>単位: クリック・訪問]

よく調べられることの答えを先にまとめます。

知りたいこと 答え 詳しい節
トラフィックとは ネットワークを流れるデータ量。Web では訪問数 トラフィックとは(3つの意味)
ネットワーク トラフィックの単位 bps(ビット/秒)と バイト。8 で割ると B/s 単位の読み方
100Mbps は何 MB/s 12.5MB/s(理論値) 単位の読み方
トラフィックと帯域の違い 帯域は道路の幅、トラフィックは実際に走った量 帯域・速度・遅延との違い
通信量の確認方法(Linux) ip -s link・ss -i・nload・iftop ip -s link と ss で見る
トラフィックが多いと何が起きる キューにたまって遅れ、あふれた分は捨てられる キューとドロップの実測
サイトのトラフィックの数え方 アクセスログの行数(PV)と IP の種類(訪問者) アクセスログから数える
トラフィックを増やすとは 検索・SNS・広告などから訪問を増やすこと GA4 のトラフィックと「増やす」

確認環境:Ubuntu 24.04.5 LTS(カーネル 6.18)の上で、ip netns で2つの仮想ネットワーク(10.108.0.1 と 10.108.0.2)を veth でつなぎ、その中だけで通信量を発生させました。計測に使ったのは iproute2 6.1.0 の ip・ss・tc、Ubuntu のパッケージを展開した tcpdump 4.99.4(libpcap 1.10.4)・iperf3 3.16・nload 0.7.4・iftop 1.0pre4・iputils の ping、Web サーバーは同じく展開した nginx 1.24.0 と Python 3.13 の http.server、クライアントは curl 8.5.0 です。回線の上限は netns の中の tc(tbf)で 1〜100Mbps に絞りました。この環境のカーネルには netem(遅延や損失を模擬する機能)が無いため、遅延は「キューにたまった分」だけを計っています。GA4 の流入の分類は Google アナリティクスのヘルプ、転送量の料金は AWS の料金ページ、用語の定義は JPNIC の解説で確かめました(確認日 2026年10月29日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「トラフィックとは|意味・単位・見方を通信量と訪問数の実測で解説」

トラフィックとは(3つの意味の使い分け)

この節では、「トラフィック」が場面ごとに何を指すのかが分かります。

トラフィックは「流れの量」です。何が流れるかが場面で変わります。 JPNIC(日本ネットワークインフォメーションセンター)の用語解説は、ネットワークのトラフィックを「ネットワーク上を流れるデータそのもの、または一定時間に流れるデータ量」と説明しています。Web のアクセス解析では「サイトを訪れた人やセッションの数」を、広告では「広告からサイトへ送り込む訪問」を指します。

1ネットワークのトラフィック

回線や機器を流れるデータの量。「夜はトラフィックが増えて遅い」「このサーバーは月 2TB 出ている」のように使う。単位は bps(1秒あたりのビット数)と、合計のバイト数。

2Web サイトのトラフィック

サイトに来た訪問の量。「検索からのトラフィックが落ちた」のように使う。単位はセッション数・ユーザー数・ページビュー(PV)。GA4 では「トラフィック獲得」というレポート名になっている。

3広告のトラフィック

広告をクリックして来た訪問。「トラフィックを買う」「トラフィック目的のキャンペーン」のように使う。2 の一部で、有料の流入だけを切り出した言い方。

道路にたとえると、ネットワークのトラフィックは「道路を走る車の量」、Web のトラフィックは「店に来た客の数」、広告のトラフィックは「チラシを見て来た客の数」です。客が増えれば車も増えるように、Web のトラフィックが増えると、サーバーのネットワークのトラフィックも増えます。両方を同じ言葉で呼ぶので、会話では「通信量の話か、訪問数の話か」を先にそろえると行き違いが減ります。

3つとも、数えて比べて初めて意味を持ちます。この記事では、1 を Linux の仮想ネットワークで実際に流して計り、2 を Web サーバーのアクセスログから数えます。

ネットワークのトラフィックとは|ページ1回の表示で流れた量

この節では、Web ページを1回開くと何パケット・何バイトが流れるのかが分かります。

32 バイトの HTML を1回取るのに、10 パケット・1,041 バイトが流れました。 手元の仮想ネットワークで、nginx が返す index.html(32バイト)と big.txt(135,091バイト)を curl で取り、その前後で ip -s link の値がどれだけ増えたかを数えました。

取ったファイル 中身の大きさ 受信(RX) 送信(TX) 合計
index.html 32 バイト 549 バイト・4 パケット 492 バイト・6 パケット 1,041 バイト・10 パケット
big.txt 135,091 バイト 141,820 バイト・98 パケット 2,667 バイト・39 パケット 144,487 バイト・137 パケット
10パケット32 バイトの HTML を1回取る接続の開始・要求・応答・終了を含む
1,448バイト1 パケットに載るデータの上限MTU 1500 からヘッダーを引いた値
+7%135KB の転送で増えた分ヘッダーと確認応答(ACK)の分

小さなページほど「中身以外」の割合が大きく、32 バイトの HTML では流れた量の 97% が接続の手続きです。135KB のファイルでは中身の 1,448 バイトずつが 98 個のパケットに分かれ、受け取った側から 39 個の確認応答(ACK)が戻っています。トラフィックとして数えるのは、中身だけでなくこの手続きの分を含めた「線を流れた全部」です。

単位の読み方|bps と B/s、Mbps と MB/s の換算表

この節では、回線の「100Mbps」とダウンロードの「12MB/s」が同じ速さである理由と、換算の表が分かります。

bps はビット毎秒、B/s はバイト毎秒です。1 バイト=8 ビットなので、Mbps を 8 で割ると MB/s になります。 回線や機器のカタログは bps(小文字の b)、ブラウザのダウンロード表示や iftop -B はバイト(大文字の B)で出すため、同じ速さが別の数に見えます。

bps で書くと B/s で書くと 手元で見えた表示
1 Mbps 0.125 MB/s(125 KB/s) 135KB の取得に 1.10 秒
10 Mbps 1.25 MB/s iperf3 の受信 9.42 Mbits/sec
50 Mbps 6.25 MB/s iftop -B で 6.22MB、nload で 49.07 MBit/s
100 Mbps 12.5 MB/s 135KB の取得に 0.011 秒
1 Gbps(1,000 Mbps) 125 MB/s 家庭用の光回線の上限として多い値
10 Gbps 1,250 MB/s サーバー間の配線で多い値

「100Mbps の回線なのに 12MB/s しか出ない」

誤り回線が遅い、と判断する
→
正しい100 ÷ 8 = 12.5MB/s なので、ほぼ上限まで出ている

小文字の b(ビット)か大文字の B(バイト)かを先に見る

同じ計算を Python で出した表です。転送にかかる理論上の時間は「大きさ(ビット)÷ 速さ(bps)」で、ヘッダーなどの上乗せ分は含みません。

     1 Mbps =    0.125 MB/s =        125 KB/s
    10 Mbps =    1.250 MB/s =       1250 KB/s
   100 Mbps =   12.500 MB/s =      12500 KB/s
  1000 Mbps =  125.000 MB/s =     125000 KB/s
 10000 Mbps = 1250.000 MB/s =    1250000 KB/s

理論上の転送時間(オーバーヘッド無視)    1Mbps     10Mbps   100Mbps   1Gbps
135KB(今回のbig.txt)                    1.1秒     0.1秒    0.0秒    0.0秒
5MB(写真1枚)                            40.0秒    4.0秒    0.4秒    0.0秒
100MB                                   13.3分    80.0秒   8.0秒    0.8秒
1GB(動画)                               133.3分   13.3分   80.0秒   8.0秒
50GB(ゲーム)                            6,666.7分 666.7分  66.7分   6.7分

手元で 135,091 バイトのファイルを取った時間は、1Mbps で 1.10 秒、10Mbps で 0.110 秒、100Mbps で 0.011 秒でした。理論値の 1.08 秒・0.108 秒・0.0108 秒とほぼ一致します。「大きさ ÷ 速さ」の見積もりは、混んでいない回線ではそのまま当たります。

帯域・速度・遅延(レイテンシ)とトラフィックの違い

この節では、似た言葉である帯域・通信速度・遅延と、トラフィックの関係が分かります。

帯域は「道路の幅(上限)」、トラフィックは「実際に走った車の量」、遅延は「1台が端から端まで着くまでの時間」です。 JPNIC の解説も、通信速度は「利用可能な上限や目安」、トラフィックは「実際に流れている量」と区別しています。

帯域(bandwidth)・通信速度

1 秒に流せる上限。回線や機器で決まる

単位は bps。「100Mbps の回線」

手元では tc で 10Mbps に絞った

トラフィック(traffic)

実際に流れた量。利用の仕方で変わる

単位は bps(瞬間)とバイト(合計)

手元では 20Mbps を流して半分が捨てられた

言葉 意味 手元の値 見る道具
帯域 流せる上限 tbf で 10Mbit に設定 tc qdisc show
スループット 実際に通った速さ 受信側 9.42 Mbits/sec iperf3
トラフィック(量) 通った合計 7,522,304 バイト・4,995 パケット ip -s link・tc -s
遅延(RTT) 往復にかかる時間 空いているとき 0.03ms、混むと 10.3ms ping
損失(ドロップ) 捨てられたパケット 1,010 パケット tc -s qdisc

もう1つ区別したいのが「瞬間」と「合計」です。回線が詰まるかどうかは瞬間の最大(ピーク)で決まり、料金は月の合計で決まります。月に 300GB 流れても、平らにならせば平均 0.9Mbps にしかなりませんが、夜の 1 時間に集中すれば、その間は 100Mbps の回線でも足りなくなります。トラフィックの話をするときは、bps(瞬間の速さ)なのか、バイト(合計)なのかを先に決めます。

遅延の意味・目安・測り方は、関連記事「レイテンシとは|意味・目安・測り方を遅延0〜300msの実測で解説」で扱っています。この記事では「トラフィックが増えると遅延がどう変わるか」だけを後の節で計ります。

ip -s link と ss で通信量を見る(Linux)

この節では、Linux で「このマシンがどれだけ通信したか」を、追加のソフトなしで確かめる方法が分かります。

ip -s link はインターフェイスごとの累計、ss -i は接続(ソケット)ごとの通信量を出します。 まず ping を4回打った直後の ip -s link です。

$ ip netns exec t108-a ping -c 4 10.108.0.2
64 bytes from 10.108.0.2: icmp_seq=1 ttl=64 time=0.051 ms
...
4 packets transmitted, 4 received, 0% packet loss, time 3076ms

$ ip -n t108-a -s link show t108-va
6: t108-va@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether ee:72:71:11:2d:1b brd ff:ff:ff:ff:ff:ff link-netns t108-b
    RX:  bytes packets errors dropped  missed   mcast
           434       5      0       0       0       0
    TX:  bytes packets errors dropped carrier collsns
           434       5      0       0       0       0

ping を4回打つと 5 パケット・434 バイトになりました。ping 1回は 98 バイト(ICMP 64+IP 20+Ethernet 14)で 4 回分が 392 バイト、残りの 42 バイトは最初に相手の MAC アドレスを探した ARP の 1 パケットです。「何もしていないのに流れる分」は、こうした手続きの通信です。

同じ数字は /proc/net/dev と /sys/class/net/<名前>/statistics/ にもあり、監視ツールの多くはここを読んでいます。

$ ip netns exec t108-a cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
t108-va: 6435092   94919    0    0    0     0          0         0 8425238820  158977    0    0    0     0       0          0

この時点の TX は 8,425,238,820 バイト(約 8.4GB)です。直前に上限なしで iperf3 を 5 秒流したためで、仮想の線はメモリのコピー速度で流れるので 13.4Gbps が出ました。本物の回線ではこの値は出ません。

接続ごとの量は ss -ti で見ます。50Mbps で送っている最中の1行です。

$ ip netns exec t108-a ss -tin 'dport = :5201'
State Recv-Q Send-Q Local Address:Port  Peer Address:Port
ESTAB 0      0         10.108.0.1:47750   10.108.0.2:5201
	 bbr wscale:10,10 rto:204 rtt:0.135/0.01 mss:1448 pmtu:1500 ... cwnd:193 bytes_sent:15728677 bytes_acked:15728678 segs_out:10923 segs_in:449 data_segs_out:10921 ... pacing_rate 31711441128bps delivery_rate 11096252624bps delivered:10922 app_limited busy:104ms ... minrtt:0.004
項目 手元の値 意味
bytes_sent 15,728,677 この接続で送ったバイト数(2.5 秒時点)
segs_out / segs_in 10,923 / 449 送った TCP セグメント数と受け取った数(ACK が主)
mss 1448 1 セグメントに載るデータの上限
rtt 0.135 ms この接続で測った往復時間
app_limited (表示あり) 回線ではなくアプリ側の送る量(-b 50M)で頭打ち

ip・ss・nc を使った切り分けの手順は、関連記事「Linuxネットワークコマンド一覧|ip/ss/ncで障害切り分け」で扱っています。

tcpdump でトラフィックの中身を見る(10 パケットの原文)

この節では、「トラフィック」と呼んでいるものが、1 個ずつ見るとどんなパケットなのかが分かります。

nginx から 32 バイトの HTML を1回取ると、次の 10 パケットが流れました。 -t で時刻を省き、-nn で名前解決を止めています。

$ ip netns exec t108-a tcpdump -t -i t108-va -nn -c 10 'tcp port 8081'
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [S], seq 1144050523, win 64240, options [mss 1460,sackOK,TS val 2264064920 ecr 0,nop,wscale 10], length 0
IP 10.108.0.2.8081 > 10.108.0.1.47074: Flags [S.], seq 1317705956, ack 1144050524, win 65160, options [mss 1460,sackOK,TS val 812993202 ecr 2264064920,nop,wscale 10], length 0
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [.], ack 1, win 63, options [nop,nop,TS val 2264064920 ecr 812993202], length 0
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [P.], seq 1:89, ack 1, win 63, options [nop,nop,TS val 2264064920 ecr 812993202], length 88
IP 10.108.0.2.8081 > 10.108.0.1.47074: Flags [.], ack 89, win 64, options [nop,nop,TS val 812993202 ecr 2264064920], length 0
IP 10.108.0.2.8081 > 10.108.0.1.47074: Flags [P.], seq 1:278, ack 89, win 64, options [nop,nop,TS val 812993203 ecr 2264064920], length 277
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [.], ack 278, win 63, options [nop,nop,TS val 2264064921 ecr 812993203], length 0
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [F.], seq 89, ack 278, win 63, options [nop,nop,TS val 2264064921 ecr 812993203], length 0
IP 10.108.0.2.8081 > 10.108.0.1.47074: Flags [F.], seq 278, ack 90, win 64, options [nop,nop,TS val 812993203 ecr 2264064921], length 0
IP 10.108.0.1.47074 > 10.108.0.2.8081: Flags [.], ack 279, win 63, options [nop,nop,TS val 2264064921 ecr 812993203], length 0
10 packets captured
行 Flags length 何をしているか
1〜3 [S]・[S.]・[.] 0 接続の開始(3 ウェイハンドシェイク)。中身は 0 バイト
4 [P.] 88 GET /index.html の要求(88 バイト)
5 [.] 0 要求を受け取ったという確認応答(ACK)
6 [P.] 277 応答(ヘッダー 245 バイト+HTML 32 バイト)
7 [.] 0 応答への ACK
8〜10 [F.]・[F.]・[.] 0 接続の終了

データ(length が 0 でない)を運んだのは 10 個のうち 2 個だけです。-e を付けると Ethernet のフレーム長が出て、中身 0 バイトの SYN でも length 74、ACK で length 66 あることが分かります。これがヘッダーの分です。

$ tcpdump -t -e -i t108-va -nn -c 3 'tcp port 8081'
ee:72:71:11:2d:1b > 42:fe:13:b4:91:31, ethertype IPv4 (0x0800), length 74: 10.108.0.1.47080 > 10.108.0.2.8081: Flags [S], ...
42:fe:13:b4:91:31 > ee:72:71:11:2d:1b, ethertype IPv4 (0x0800), length 74: 10.108.0.2.8081 > 10.108.0.1.47080: Flags [S.], ...
ee:72:71:11:2d:1b > 42:fe:13:b4:91:31, ethertype IPv4 (0x0800), length 66: 10.108.0.1.47080 > 10.108.0.2.8081: Flags [.], ...

本物の環境では流れるパケットが多すぎて目で追えないので、host 10.108.0.2・port 8081 のように相手やポートで絞り、-c で個数を区切ります。-w ファイル名 で保存しておけば、あとから Wireshark で開けます。tcpdump は「量」を数える道具ではなく、「どの通信が流れているか」を確かめる道具として使います。

135KB のファイルを取ったときは、tcp 1448 のパケットが 98 個続きました。パケットを画面で追いたいときは、関連記事「Wiresharkの使い方|画面の見方・フィルター早見表を実例で解説」で扱っています。

nload・iftop で「今の」トラフィックを見る

この節では、累計ではなく「今この瞬間に何 Mbps 流れているか」を見る道具と、表示の読み方が分かります。

nload はインターフェイス全体の今の速さを、iftop は「誰と誰の間で」いくら流れているかを出します。 どちらも Ubuntu のパッケージを作業場所に展開して使い、iperf3 で 50Mbps を流しながら見ました。

1

ip -s link

累計のバイト数・パケット数・エラー・ドロップ。追加のソフトが要らない。

起動してからの合計

2

nload

受信・送信の今の速さと平均・最大・合計を、棒グラフで更新し続ける。

「今」の速さ

3

iftop

相手ごとの速さ(2 秒・10 秒・40 秒の平均)。-B でバイト表示、-t で画面を使わない出力。

「誰と」が分かる

4

tcpdump

1 パケットずつの原文。量より中身(どの通信か)を確かめるとき。

「何が」が分かる

nload の画面(送信側の部分。文字だけ抜き出しています)です。Curr が今の速さ、Ttl が合計です。

$ nload -t 1000 t108-va
Outgoing:
##
##
##  Curr: 49.07 MBit/s
##  Avg: 49.58 MBit/s
##  Min: 49.07 MBit/s
##  Max: 50.09 MBit/s
##  Ttl: 7.94 GByte

iftop は -t で文字だけの出力にできます。既定はビット表示で、-B を付けるとバイト表示になります。同じ 50Mbps の転送が、片方は 37.2Mb、もう片方は 6.22MB と見えます。

$ iftop -t -s 2 -i t108-va -n          # ビット表示(既定)
   1 10.108.0.1        =>     37.2Mb     37.2Mb     37.2Mb     9.31MB
Total send rate:                37.2Mb     37.2Mb     37.2Mb

$ iftop -t -s 4 -i t108-va -n -B       # バイト表示
   # Host name (port/service if enabled)   last 2s   last 10s   last 40s cumulative
   1 10.108.0.1                     =>     6.22MB     5.70MB     5.70MB     22.8MB
     10.108.0.2                     <=     4.14KB     4.02KB     4.02KB     16.1KB
Total send rate:                           6.22MB     5.70MB     5.70MB
Total receive rate:                        4.14KB     4.02KB     4.02KB

iftop は -f 'port 80' のように BPF のフィルターで通信を絞れるので、「Web の通信だけ」「特定の相手だけ」の量も見られます。nload は -u m で MBit/s、-u M で MByte/s に単位を固定でき、小文字と大文字の違いがそのまま bit と Byte の違いです。どの道具も、表示の単位を確かめてから数字を読みます。

送信 6.22MB/s に対して受信は 4.14KB/s です。一方向にデータを流しているとき、反対方向にも確認応答(ACK)が流れ、その量はおよそ 1/1500 でした。「ダウンロードしかしていないのにアップロードも増える」のはこのためです。

トラフィックが多いときに起きること|キューとドロップの実測

この節では、回線の上限を超えてデータを流すと、遅延が増え、最後には捨てられる様子が数字で分かります。

10Mbps の線に 20Mbps を流すと、半分(4,349 / 8,631 個)が捨てられました。TCP では捨てられた分を送り直すので、代わりに遅延が 0.03ms から 10ms に増えました。 送信側の netns で tc の tbf(トークンバケット)を使い、線の上限を 10Mbit、ためておける量を 100ms 分に設定しました。

$ ip netns exec t108-a tc qdisc add dev t108-va root tbf rate 10mbit burst 32kbit latency 100ms

まず TCP(iperf3 の既定)で 6 秒流した結果です。送信側は 10.7Mbits/sec を送ろうとし、受信側に届いたのは 9.42Mbits/sec、再送(Retr)が 632 回ありました。

$ ip netns exec t108-a iperf3 -c 10.108.0.2 -t 6
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.50 MBytes  12.6 Mbits/sec  577   14.1 KBytes
[  5]   1.00-2.00   sec  1.62 MBytes  13.6 Mbits/sec   55   14.1 KBytes
[  5]   2.00-3.00   sec  1.00 MBytes  8.38 Mbits/sec    0   14.1 KBytes
[  5]   3.00-4.00   sec  1.12 MBytes  9.44 Mbits/sec    0   14.1 KBytes
[  5]   4.00-5.00   sec  1.25 MBytes  10.5 Mbits/sec    0   14.1 KBytes
[  5]   5.00-6.00   sec  1.12 MBytes  9.43 Mbits/sec    0   14.1 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   0.00-6.00   sec  7.62 MBytes  10.7 Mbits/sec  632             sender
[  5]   0.00-6.01   sec  6.75 MBytes  9.42 Mbits/sec                  receiver

最初の 2 秒は上限を超えて送り、577 回・55 回と再送が出ています。3 秒目以降は TCP が速さを 10Mbps 付近に合わせ、再送が 0 になりました。これが TCP の「混雑制御」で、トラフィックが多いときに自動で速さを落とす仕組みです。

その間、同じ線で ping を打つと、往復時間が増えました。空いているときの 0.029ms が、混んでいる間は平均 10.34ms です。

空いているとき: rtt min/avg/max/mdev = 0.021/0.029/0.035/0.005 ms
混んでいるとき: rtt min/avg/max/mdev = 7.589/10.340/13.550/1.562 ms

遅れた理由は、ping のパケットが「キュー(待ち行列)」で順番を待ったからです。転送の途中で tc -s qdisc を見ると、キューに 10 パケット・15,140 バイトがたまっていました。10Mbps では 15,140 バイトを出すのに約 12ms かかるので、後ろに並んだ ping もそれだけ待ちます。

$ ip netns exec t108-a tc -s qdisc show dev t108-va      # 転送の途中
qdisc tbf 8007: root refcnt 3 rate 10Mbit burst 4Kb lat 100ms
 Sent 2502137 bytes 1664 pkt (dropped 1135, overlimits 4357 requeues 0)
 backlog 15140b 10p requeues 0

$ ip netns exec t108-a tc -s qdisc show dev t108-va      # 6 秒の TCP 転送のあと
qdisc tbf 8003: root refcnt 3 rate 10Mbit burst 4Kb lat 100ms
 Sent 7522304 bytes 4995 pkt (dropped 1010, overlimits 11557 requeues 0)
 backlog 0b 0p requeues 0
項目 値 意味
Sent 7,522,304 bytes・4,995 pkt 線に出せた量(これがトラフィック)
dropped 1,010 キューが満杯で捨てたパケット
overlimits 11,557 上限を超えて待たされた回数
backlog 15,140b 10p その瞬間にキューで待っていた量

UDP(送り直しをしない)で、上限の 2 倍の 20Mbps を 5 秒流すと、捨てられた分がそのまま損失として見えます。

$ ip netns exec t108-a iperf3 -c 10.108.0.2 -u -b 20M -t 5
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-5.00   sec  11.9 MBytes  20.0 Mbits/sec  0.000 ms  0/8631 (0%)  sender
[  5]   0.00-5.10   sec  5.91 MBytes  9.72 Mbits/sec  0.336 ms  4349/8631 (50%)  receiver

送った 8,631 個のうち 4,349 個(50%)が届きませんでした。動画や音声の通話が「途切れる」のは、この捨てられた分です。TCP のダウンロードは送り直しで中身は欠けませんが、その分だけ遅くなります。TIME_WAIT や 40ms の遅延など TCP 側の挙動は、関連記事「TCPの落とし穴8選|TIME_WAIT・40ms遅延の正体」で扱っています。

1まず遅くなる

上限に近づくとキューに並ぶ時間が増える。手元では往復 0.03ms が 10ms になった。ページの表示や通話の反応が鈍くなる段階。

2次に捨てられる

キューがいっぱいになると新しいパケットは捨てられる。TCP は送り直して速さを落とし、UDP は欠けたまま届く。

3合計は上限で頭打ち

どれだけ送ろうとしても、通った量は 10Mbps 付近で止まる。トラフィックの「量」を減らすか、帯域を増やすしかない。

Web サイトのトラフィック=訪問数|アクセスログから数える

この節では、「サイトのトラフィック」を解析ツールなしで、サーバーのアクセスログから数える手順が分かります。

アクセスログは 1 リクエスト 1 行です。行数がページビュー(PV)、IP アドレスの種類が訪問者数の目安になります。 手元の nginx に、10 個の IP アドレスから 53 回のアクセス(1 つはクローラーを名乗る User-Agent)を送り、残ったログを集計しました。1 行は次の形(combined 形式)です。

10.108.0.17 - - [30/Oct/2026:19:51:18 +0900] "GET /big.txt HTTP/1.1" 200 135091 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
10.108.0.20 - - [30/Oct/2026:19:51:18 +0900] "GET /index.html HTTP/1.1" 200 32 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
位置 例 意味
1 列目 10.108.0.17 相手の IP アドレス(訪問者の目安)
[ ] の中 30/Oct/2026:19:51:18 +0900 時刻
" " の 1 つ目 GET /big.txt HTTP/1.1 どのページを求めたか
9・10 列目 200 135091 ステータスコードと送ったバイト数
" " の 2・3 つ目 "-" "Mozilla/5.0 ..." 参照元(どこから来たか)と User-Agent(何で見たか)
1

行数を数える=ページビュー(PV)

wc -l < access.log → 54。画像や CSS も 1 行になるので、HTML だけ数えたいときは URL で絞る。

54 PV

2

IP の種類を数える=訪問者の目安

awk '{print $1}' access.log | sort -u | wc -l → 11。同じ会社からは同じ IP に見えるなど、ずれはある。

11 IP

3

クローラーを除く

grep -v -i bot access.log で数え直すと 42 PV・10 IP。Googlebot を名乗る 1 つの IP が 12 回来ていた。「トラフィック」と言うときは普通、人の訪問だけを数える。

42 PV・10 IP

4

ページ別・ステータス別に数える

awk '{print $7}' access.log | sort | uniq -c | sort -rn でページ別、$9 でステータス別。404 が 15 回あれば、無いページへのリンクが残っている。

200: 39・404: 15

5

送ったバイト数を足す=転送量

awk '{s+=$10} END {print s}' access.log → 818,856 バイト。これが「ネットワークのトラフィック」と「Web のトラフィック」のつなぎ目で、転送量課金の元になる数字。

0.78 MB

$ awk '{print $7}' access.log | sort | uniq -c | sort -rn
     10 /index.html
     10 /about.html
      8 /notfound
      7 /missing.png
      7 /blog/post-1.html
      6 /blog/post-2.html
      6 /big.txt
$ awk '{print $9}' access.log | sort | uniq -c
     39 200
     15 404
$ awk -F'"' '{print $4}' access.log | sort | uniq -c | sort -rn
     51 -
      2 https://www.google.com/
      1 https://t.co/abc
$ grep -c Googlebot access.log; grep -c iPhone access.log; grep -c "Windows NT" access.log
12
7
34

IP アドレスで訪問者を数える方法には限界があります。会社や学校では多くの人が 1 つの IP に見え、スマホの回線では同じ人の IP が途中で変わります。同じ人が PC とスマホで見れば 2 人に数えます。目安として使い、正確な人数が要るときは GA4 のような計測タグの仕組みを使います。逆に、ログは計測タグが動かない相手(クローラー・画像の直接取得・API)も残すので、「サーバーに実際に来た全部」を知りたいときはログの方が向いています。

参照元(4 つ目の " " の中)を数えると、検索から 2 回、X(t.co)から 1 回、残りは参照元なし(ブックマークや直接入力)でした。これが GA4 の「チャネル」の元になる情報です。awk の集計の書き方は、関連記事「awkコマンドの使い方|実例50と集計・ログ解析、gawkとmawkの違い」で扱っています。

GA4 のトラフィックと「トラフィックを増やす」の意味

この節では、Google アナリティクス(GA4)で「トラフィック」がどう分類されているかと、「増やす」が何を指すのかが分かります。

GA4 の「トラフィック獲得」は、セッション(訪問)をどこから来たかで分類したレポートです。 分類の名前は「デフォルト チャネル グループ」と呼ばれ、Google アナリティクスのヘルプは参照元とメディアの組み合わせで判定する、と説明しています。主なチャネルは次のとおりです(判定の細かな条件はヘルプの表が元になります)。

チャネル どこから来た訪問か アクセスログで近いもの
Direct(直接) 参照元が (direct)。ブックマーク・URL の直接入力など 参照元が "-" の行
Organic Search(オーガニック検索) 検索サイトから、広告ではない結果を経て 参照元が google.com などの行
Paid Search(有料検索) 検索サイトの広告(メディアが cpc など) URL の utm_medium=cpc など
Organic Social(オーガニック ソーシャル) SNS の投稿から 参照元が t.co などの行
Referral(参照) 他のサイトのリンクから(メディアが referral など) 参照元が他サイトの行
Email・Display・Affiliate 等 メール・ディスプレイ広告・アフィリエイトから URL の utm_medium の値

ヘルプには、このほか Organic Video・Paid Social・SMS・AI Assistant など全部で 19 のチャネルが載っています。アクセスログとの違いは、GA4 はブラウザで動く計測タグが送った情報を「セッション」や「ユーザー」の単位にまとめる点で、クローラーや計測タグが動かない環境の訪問は数に入りません。ログの PV と GA4 のセッション数が合わないのはこのためです。

「トラフィックを増やす」は、これらのチャネルから来る訪問を増やすことです。 検索(記事を書く・ページを直す)、SNS(投稿する)、広告(買う)、参照(紹介される)のどれを伸ばすかで打ち手が変わります。広告の話で「トラフィック」と言うときは、このうち有料のチャネル(Paid Search・Paid Social・Display)から送り込む訪問を指しています。

ネットワークのトラフィックが増える

回線・サーバーの負荷が上がる

遅延・損失・転送量の料金につながる

減らす・分散する対象

Web サイトのトラフィックが増える

訪問・問い合わせ・売上が増える

同時にネットワークのトラフィックも増える

増やす対象

トラフィックと料金|転送量課金の考え方

この節では、クラウドやレンタルサーバーで「トラフィック」が料金にどう関わるのかが分かります。

クラウドの多くは「外へ送ったバイト数(データ転送アウト)」で課金します。 AWS の EC2 の料金ページは、2026年10月29日時点で「1 か月あたり 100GB のインターネットへのデータ転送(OUT)を無料」とし、それを超える分は転送量の階層ごとの単価で課金する、と説明しています(単価はリージョンごとに料金表で確かめます)。受信(IN)は多くの場合に課金されません。

レンタルサーバーや VPS では「月の転送量の目安」や「上限」が決まっていることが多く、超えると速度を制限される・追加の料金がかかる、といった扱いになります(条件は各サービスの約款で確かめます)。CDN も配信した量で課金するものが多く、どの場合も見るべき数字は「外へ送ったバイト数」です。

手元のアクセスログの 10 列目を足した 818,856 バイトが、この「外へ送った量」の元になる数字です。1 日 1 万 PV のサイトで 1 ページあたり 2MB(画像込み)を送ると、1 か月で約 600GB になります。

  • 11 ページの転送量を知るブラウザの開発者ツールの Network タブの合計か、ログの 10 列目の平均
  • 2PV × 1 ページの量 × 30 日で月の転送量を見積もる1 万 PV/日 × 2MB × 30 = 約 600GB
  • 3画像の圧縮・キャッシュ・CDN で「送る量」を減らす同じ PV でもネットワークのトラフィックは減らせる
  • 4急な増え方は監視するクローラーや大きなファイルへの集中は、ログのステータスと UA で見つかる

よくあるつまずき(文言と原因)

この節では、トラフィックを調べるときに出る文言や勘違いと、その原因が分かります。

出た文言・状態 原因 直し方
tcpdump: Couldn't find user 'tcpdump' パッケージを展開しただけで、権限を落とす先のユーザーが無い -Z root を付けるか、apt で入れる
error while loading shared libraries: libibverbs.so.1 .deb を展開しただけでは依存するライブラリが無い 依存の .deb も展開し LD_LIBRARY_PATH で指す
iperf3 の sender と receiver の値が違う 送ろうとした量と届いた量の差。途中で捨てられた分 receiver の値を「通った量」として読む
100Mbps なのに 12MB/s しか出ない ビットとバイトの取り違え 8 で割る。12.5MB/s が理論上の上限
ダウンロードだけなのにアップロードも増える 確認応答(ACK)が反対方向に流れる 正常。手元では受信の約 1/1500
仮想の線で 13Gbps が出た veth はメモリのコピーで、本物の回線の上限が無い tc で上限を付けてから計る
ログの PV と GA4 の数が合わない ログはクローラーや画像も数える。GA4 はタグが動いた訪問だけ 目的に合う方を使い、両方を混ぜない

判断表|何を見ればよいか

この節では、「トラフィックを調べたい」と思ったときに、どの数字をどの道具で見るかが決まります。

  1. 1「サイトに何人来たか」 → アクセスログか GA4PV は行数、訪問者は IP かセッション。クローラーは除く
  2. 2「どこから来たか」 → 参照元の列か GA4 のチャネル検索・SNS・広告・直接の割合
  3. 3「今どれだけ流れているか」 → nload・iftop単位が b か B かを確かめる
  4. 4「合計でどれだけ流れたか」 → ip -s link・ログの 10 列目料金の見積もりはこの数字から
  5. 5「遅い・途切れる」 → ping と tc -s qdisc の dropped遅延が増えていれば混雑、dropped が増えていれば上限超え
  6. 6「何の通信か分からない」 → tcpdump・Wireshark相手の IP・ポート・量を 1 パケットずつ
場面 見る数字 道具 単位
記事の効果を測る セッション・PV・チャネル別 GA4・アクセスログ 回・人
回線を選ぶ ピーク時の速さと月の合計 nload・ip -s link bps・GB
料金を見積もる 外へ送ったバイト数 ログの 10 列目・クラウドの請求画面 GB/月
遅い原因を探す RTT・dropped・再送 ping・tc -s・ss -i ms・個
不審な通信を探す 相手ごとの量 iftop・tcpdump bps・パケット

よくある質問

Q. トラフィックとは何ですか? A. ネットワークを流れるデータ(とその量)のことです。Web サイトの話では「サイトへの訪問数」、広告の話では「広告から送り込む訪問」の意味で使います。元は「交通量」という意味の英語です。

Q. トラフィックの単位は何ですか? A. ネットワークでは bps(1 秒あたりのビット数)とバイト(合計)です。Web では セッション数・ユーザー数・ページビュー(PV)で数えます。

Q. Mbps と MB/s の違いは? A. Mbps は 1 秒あたりのメガビット、MB/s は 1 秒あたりのメガバイトです。1 バイト=8 ビットなので、100Mbps = 12.5MB/s です。回線の表示は小文字の b、ダウンロードの表示は大文字の B が多いです。

Q. トラフィックと帯域の違いは? A. 帯域は流せる上限(道路の幅)、トラフィックは実際に流れた量(走った車の量)です。手元では帯域を 10Mbps に絞り、20Mbps のトラフィックを流すと半分が捨てられました。

Q. トラフィックが多いとなぜ遅くなるのですか? A. 上限を超えた分がキュー(待ち行列)に並ぶからです。手元では往復 0.03ms が 10ms に増えました。キューがいっぱいになると捨てられ、TCP は送り直すので、さらに遅く見えます。

Q. Linux で通信量を確認する方法は? A. ip -s link で累計、ss -ti で接続ごと、nload で今の速さ、iftop で相手ごとの速さ、tcpdump で 1 パケットずつの中身が見られます。

Q. Web サイトのトラフィックはどう数えますか? A. アクセスログの行数が PV、IP アドレスの種類が訪問者の目安です。クローラー(User-Agent に bot を含む行)は除いて数えます。GA4 ではセッション数と、チャネル別の内訳が見られます。

Q. 「トラフィックを増やす」とはどういう意味ですか? A. 検索・SNS・広告・他サイトからの紹介など、サイトへの訪問を増やすことです。GA4 のチャネルごとに打ち手が変わります。

Q. 広告で言う「トラフィック」は何ですか? A. 広告をクリックしてサイトに来た訪問のことです。Web のトラフィックのうち、有料のチャネルから来た分を指します。

Q. トラフィックに料金はかかりますか? A. クラウドでは「外へ送ったバイト数」で課金されることが多いです。AWS は 2026年10月29日時点で月 100GB まで無料、超えた分は階層ごとの単価です。受信は多くの場合に課金されません。

Q. ダウンロードしかしていないのにアップロードが増えるのはなぜ? A. 受け取った側が「届いた」という確認応答(ACK)を返しているからです。手元では受信の約 1/1500 の量が反対方向に流れました。

Q. ネットワークのトラフィックを減らす方法は? A. 画像の圧縮、ブラウザのキャッシュ、CDN で近い場所から配る、不要なクローラーのアクセスを断る、などです。同じ訪問数でも「送る量」は減らせます。

まとめ

  • トラフィックは「流れの量」。ネットワークでは流れるデータ量(bps・バイト)、Web では訪問数(セッション・PV)、広告では広告から送る訪問を指す。
  • bps を 8 で割ると B/s。100Mbps = 12.5MB/s。手元の 135KB の取得は 1Mbps で 1.10 秒、100Mbps で 0.011 秒と、理論値どおりだった。
  • 32 バイトの HTML を 1 回取るのに 10 パケット・1,041 バイトが流れた。接続の手続きと確認応答もトラフィックに含まれる。
  • 10Mbps の線に上限を超えて流すと、キューにたまって往復 0.03ms が 10ms になり、あふれた 1,010 パケットが捨てられた。UDP で 20Mbps を流すと 50% が届かなかった。
  • Web のトラフィックはアクセスログの行数(PV)と IP の種類で数えられる。クローラーを除き、参照元の列を見ると GA4 のチャネルに近い内訳が出る。送ったバイト数の合計が転送量課金の元になる。

参考・出典

確認日はいずれも 2026年10月29日です。

  • JPNIC「インターネット用語1分解説~トラフィックとは~」:https://www.nic.ad.jp/ja/basics/terms/traffic.html
  • Google アナリティクス ヘルプ「[GA4] デフォルト チャネル グループ」:https://support.google.com/analytics/answer/9756891?hl=ja
  • AWS「Amazon EC2 オンデマンド料金」(データ転送):https://aws.amazon.com/jp/ec2/pricing/on-demand/
  • man7.org「ip-link(8)」:https://man7.org/linux/man-pages/man8/ip-link.8.html
  • man7.org「ss(8)」:https://man7.org/linux/man-pages/man8/ss.8.html
  • man7.org「tc-tbf(8)」:https://man7.org/linux/man-pages/man8/tc-tbf.8.html
  • tcpdump「Manpage of TCPDUMP」:https://www.tcpdump.org/manpages/tcpdump.1.html
  • ESnet「iperf3」:https://software.es.net/iperf/
  • nginx「Module ngx_http_log_module」:https://nginx.org/en/docs/http/ngx_http_log_module.html

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「トラフィックとは|意味・単位・見方を通信量と訪問数の実測で解説」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ
参加受付中

AI駆動開発、 無料セミナー