Skip to content
技術/ネットワーク

丸一日検証して、ようやくプロキシ速度をギガビット級まで戻せた

Clash のディストリビューション選定から Tun スタックモードの調整まで、プロキシ速度問題を段階的に切り分け、最終的に DNS 解決が gVisor 側を通ることによる性能ボトルネックを特定した。

2026/1/22 4分で読める

丸一日検証して、ようやくプロキシ速度をギガビット級まで戻せた

主にやったことは 2 つだ。

1. Clash のディストリビューションを変えた

ずっと使っていた Clash Verge RevClash Party に切り替えた。どの AI も Clash Verge Rev のほうがよりプロ向けで拡張性が高いと言っていたが、私にとっては別の結論になった。

というのも、Tun モードで社内向けドメインの解決をどうバイパスするかを、私はずっと理解しきれなかったからだ。これは会社環境ではかなり重要だ。Clash Party なら Tun モードを有効にするだけでこの設定が最初からあり、非常に扱いやすい。

ただ、切り替え後も Web 閲覧速度は上がらなかった。つまり速度問題はディストリビューションそのものではなく、使い勝手が良くなっただけだった。

2. Tun のスタックモード

次に、Tun(仮想 NIC)モードでのスタックモードを Mixed から System に変更した。

  • Mixed は混合モードで、TCP リクエストは System、UDP リクエストは gVisor を通る。
  • System モードでは、TCP と UDP の両方がシステムスタックで解決される。

DNS のドメイン解決が遅いために、Web の体感が常に重かった可能性がある。DNS 解決も UDP リクエストなので、Mixed モードでは gVisor 側で処理されるためだ。

System モードに切り替えると DNS が直接システムスタックで解決され、体感で一気に速くなった。これで自分の仮説が裏付けられた。

3. そのほかの考え

Clash の Tun モードでもう 1 つ重要な設定が MTU だ。これは最大転送単位を決める値で、デフォルトの 1500 を維持し、大きくしすぎないのがよい。

大きくすると逆に速度へ悪影響が出る。ネットワーク経路全体で MTU が十分大きいとは限らないからだ。送るパケットが大きすぎると再度パケット分割が必要になり、性能に響くうえ、UDP 通信とも相性がよくない。


実測したサイトの中では、X が最も遅かった。主な遅さは初回表示で読み込まれる一部の JS ファイルにあり、その JS 配信用ドメインは X の画像リソースも同時に担っている。そのため、画像の読み込みも遅く感じやすい。

このドメインをグローバルで速度計測した結果、私は何らかの特殊な遮断・制御メカニズムがあるのではないかと疑っている。たとえば高リスク IP に対して意図的に低速化している可能性がある。

Tun スタックモード設定