接続はできるものの、ページの表示開始が遅い、ダウンロード速度が出ない、接続が断続的に切れる場合に向けた内容です。まずテスト条件を固定し、接続時間とダウンロード速度を分けて確認します。ノードやネットワークを切り替え、プロキシの入口やログを順に調べて原因を絞り込みます。コマンドとポートの用途を明記し、遅延の測定値を帯域幅と混同したり、すべての遅さをプロトコルのせいにしたりしません。
まず確認:「接続が遅い」「ダウンロードが遅い」「バックグラウンドで切れる」のどれか
「遅い」には、少なくとも3つの異なる症状があります。ページを開いてから長時間白いままなら、名前解決や接続確立、サーバーの応答で止まっている可能性があります。ページはすぐ表示されるのに大きなファイルのダウンロードが遅い場合は、転送速度の問題が考えられます。Androidで画面点灯中は使えても、画面をロックすると切断される場合は、バックグラウンド動作の制限を優先して確認しましょう。症状ごとに必要な確認材料は異なり、ノード一覧の遅延値だけでは判断できません。
| 症状 | まず記録すること | 優先して確認する項目 |
|---|---|---|
| 初回表示は遅いが、再読み込みは速い | 初回リクエストと再リクエストの所要時間 | DNS、ハンドシェイク、接続の再利用、キャッシュ |
| ページは表示されるが、大きなファイルのダウンロードが遅い | 同じファイルをダウンロードしたときの継続的な速度 | ノード負荷、出口帯域、回線の混雑 |
| 特定のサイトだけ遅い | ほかの2つの接続先で問題がないか | 接続先サイトの制限、出口の地域、ルーティングルール |
| 画面ロック後に接続が切れる | 画面を点灯させるとすぐ復旧するか | Androidの省電力設定、バックグラウンド権限 |
テスト中は、帯域を使用するクラウド同期やダウンロードを停止し、同じ端末・接続先・ネットワークで測定します。各条件で3回繰り返し、実施時刻と失敗の有無を記録してください。ブラウザーのキャッシュが使われた結果、複数接続の速度測定サイトの結果、単一接続でのダウンロード速度を並べて比較してはいけません。それぞれ測っているものが異なります。
第1段階:比較テストでノード負荷を見分ける
ノードとの接続が確立できても、その時点で利用可能な経路があることしか分かりません。サーバーのCPU、出口帯域、同時接続数、上流ネットワークがボトルネックになっている可能性もあります。クライアントからサーバー側の指標は通常確認できないため、タイムアウトが1回起きただけでサーバー過負荷と決めつけず、まず条件を変えて比較しましょう。
-
テストする接続先を固定する
アクセス権のある同じHTTPSページまたはダウンロードファイルを選び、テスト時刻を記録します。プロキシを切った状態で、普段使うローカルのWebサイト全般も遅くないことを確認してください。全般的に遅い場合は、家庭内ネットワークやモバイルネットワークを先に調べます。
-
別のノードに切り替える
v2rayNのメイン画面でノード一覧から別の設定を選び、右クリックして「アクティブサーバーに設定」を選択してから再測定します。名前が違うだけの同一サーバー設定ではなく、出口が異なるノードを優先してください。
-
接続先を変えて比較する
ノードは変えずに、別の接続先を2つ試します。特定のサイトだけ遅い場合は、そのサイトの速度制限、CDNの振り分け、出口からサイトまでの経路が原因かもしれません。それだけでノード全体の性能を判断しないでください。
-
時間帯を変えて比較する
別の時間帯に、同じテストを繰り返します。複数の接続先が混雑する時間帯だけ一斉に遅くなるなら、共有リソースや経路の混雑が考えられます。ただし、具体的な負荷を特定するにはサーバー側の監視が必要です。
ノードを切り替えてすぐに改善した場合、問題が元のノードまたは関連する経路にあることは分かりますが、「サーバーの高負荷」か「回線の混雑」かまでは区別できません。同じ地域でも異なる事業者間を経由する場合があり、地理的に近いからといって実際のネットワーク経路が短いとは限りません。元の設定は残し、次の段階のテストを続けましょう。ノード、プロトコル、DNSを一度に変えると、原因を判断しにくくなります。
第2段階:接続ネットワークを変えて回線の不安定さを特定する
プロキシ通信では、端末からノードまでと、ノードから接続先サイトまでの2つの経路を通ります。家庭内のWi-Fi干渉、事業者間の接続混雑、ネットワークをまたぐ際のパケットロスはいずれも実効速度を下げます。TCPはパケットロス後に再送し、送信速度を調整するため、速度が一定に低いのではなく、上がったり下がったりすることがあります。
- 同じ端末でネットワークを切り替える:ノードと接続先は変えず、パソコンを家庭内ネットワークからスマートフォンのテザリングに切り替えます。テザリングでは正常で家庭内ネットワークでは遅い状態が続くなら、ルーター、Wi-Fi接続、固定回線の経路を優先して確認します。
- 同じネットワークで接続方法を変える:可能であれば有線接続にするか、ルーターの近くでテストします。距離のあるWi-Fi環境でだけ問題が起きるなら、まずプロトコルの設定を変える必要はありません。
- 遅延と帯域幅を区別する:遅延が小さいノードでも出口が混雑している場合があります。遅延が大きくても、安定してダウンロードできるノードもあります。接続テストだけでなく、実際の利用状況に近いテストも行いましょう。
- 疎通確認の結果を慎重に判断する:ノードがICMPに応答しなくても、プロキシが使えないとは限りません。経路確認で途中のホップだけがパケットロスを示し、後続のホップが正常な場合は、ルーターが探査への応答を制限していることがよくあります。業務通信でもパケットロスが起きていると即断しないでください。
第3段階:プロキシ入口、ルーティング、DNSを確認する
v2rayNはクライアントの画面を提供し、実際の通信は選択したコアが処理します。v2rayNGはXrayコア、v2flyNGはv2flyコアを使用します。プロトコルが動作するかどうかは、クライアントのコアとサーバー設定に互換性があるかで決まります。VMessとVLESSはプロトコルの種類であり、速度の段階ではありません。サーバーのVMess設定をVLESSに名前だけ変えても「高速化」にはなりません。
- システムプロキシを確認する:Windowsでは、v2rayNのタスクトレイメニューから「システムプロキシ」→「システムプロキシを自動設定」を選択できます。影響するのはシステムプロキシ設定に従うアプリであり、すべてのプログラムが自動的にプロキシを経由するわけではありません。
- ローカルの待ち受け設定を確認する:v2rayNの「設定」→「パラメーター設定」で、ローカルの待ち受けポートと入口の種類を確認します。項目名はバージョンによって異なる場合があります。以下のコマンドをそのまま使えるのは、SOCKS入口またはSOCKS対応の混合入口が実際に
127.0.0.1:10808で待ち受けている場合だけです。 - テスト経路を1つに絞る:ほかのプロキシソフトによるシステムプロキシ設定や仮想ネットワークアダプターの制御を一時停止します。手動プロキシとTUNを併用しても必ず問題が起きるわけではありませんが、切り分け中は条件を減らし、ループや二重制御を防ぎます。
- 実際のルーティングを確認する:対象のリクエストが直接接続ではなく、プロキシ経由になっていることを確認します。ブラウザーが以前の接続を再利用する場合があるため、ルールを変更したら接続を確立し直してテストしてください。
DNSの処理箇所も1つではありません。ノードのサーバー名は接続前に名前解決が必要で、接続先サイトのドメイン名はローカル、プロキシコア、リモートのいずれかで解決される場合があります。DNSを変更して改善できるのは、関連する名前解決の段階だけです。サーバー出口の速度制限は解消できません。初回表示だけが遅い場合は、まずログで名前解決エラーを確認し、該当するDNS経路を調整してください。
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 30 --output /dev/null --silent --show-error --write-out "connect=%{time_connect}s first_byte=%{time_starttransfer}s total=%{time_total}s\n" https://example.com/
これは診断方法の例であり、このサイトでの実測結果ではありません。接続先には、テストする権限のある実際のHTTPSアドレスを指定してください。Windowsのコマンドプロンプトではcurl.exeを使い、/dev/nullはNULに置き換えます。socks5hは、接続先のドメイン名の名前解決をSOCKSプロキシに任せる指定です。ローカルで名前解決する場合とはテスト経路が異なります。
ログにエラーがある場合:「接続できない」と「転送が遅い」を区別する
クライアントのログ画面を開き、問題を1回再現して、同じ時刻のエラーを記録します。ログに出るタイムアウト、証明書エラー、ポートの競合では、対処方法がそれぞれ異なります。以下はよくあるエラーの一部です。判断には前後を含むログ全体が必要なため、キーワードだけを見て設定を一括変更しないでください。
i/o timeout
原因:ネットワークの読み書き中にタイムアウトしています。ノードや接続先までの経路、フィルタリング、サーバーの応答が関係している可能性があります。対処:まずエラーに関連するアドレスと出口を確認し、「同じノードでネットワークを変える」「同じネットワークでノードを変える」の比較を行います。DNSの障害と決めつけないでください。
connection refused
原因:接続先から接続を拒否されています。該当ポートで待ち受けていない場合や、接続が明示的に拒否された場合によく発生します。対処:アドレスがローカルループバックなら、クライアントのコアが起動しているか、ポートが一致しているかを確認します。リモートノードの場合は、ノードのポートを確認し、サーバーの管理者に問い合わせてください。
address already in use
原因:待ち受けに使うローカルのアドレスとポートが、別のプロセスに使用されています。対処:重複して起動しているクライアントを終了するか、未使用の待ち受けポートに変更します。そのうえで、システムプロキシとアプリ側のポート設定も更新してください。
x509: certificate has expired or is not yet valid
原因:端末の時刻が正しくないか、サーバー証明書の有効期限が切れています。対処:まずシステムの日付とタイムゾーンを同期します。時刻が正しい場合は、サーバー側で証明書を更新してください。問題を隠すために証明書の検証を無効にしてはいけません。
ログの詳細度を一時的に上げた場合は、問題を再現した後に通常のレベルへ戻してください。管理者に記録を送る際は、時刻、エラーの種類、失敗した段階を残し、サブスクリプションURL、ユーザー識別情報、認証情報を隠します。サブスクリプションURLには通常、アクセスに必要な情報が含まれるため、公開の掲示板にそのまま投稿しないでください。
Androidで追加確認:VPN権限とバックグラウンド制限
パソコンでは正常なのに、Androidのv2rayNGまたはv2flyNGで接続が断続的に切れる場合は、端末側を個別に確認してください。どちらのクライアントもAndroidのVpnServiceを使って通信を制御できます。VPNアイコンが表示されていても、VPNサービスが動作中という意味にとどまり、プロキシノードへの接続成功や、対象アプリがプロキシの対象になっていることまでは保証しません。
画面点灯中は正常なのに、画面ロック後に通知が届かない?
Androidの「設定」→「アプリ」→「v2rayNG」または「v2flyNG」→「バッテリー」を開き、バックグラウンドでの使用を「制限なし」またはメーカー独自の同等項目に設定します。システムに自動起動の管理項目がある場合は、そちらも許可してください。メーカーによってメニュー名が異なるため、設定後に画面をロックしてから復帰させ、変更前後を比較します。
特定のアプリだけ遅く、ブラウザーは正常?
クライアントの「設定」で「アプリごとのプロキシ」の一覧と現在のモードを確認します。選択したアプリがプロキシ対象になる場合もあれば、バイパスモードでは選択したアプリが除外対象になる場合もあります。画面の説明で動作を確認し、変更後にVPNサービスを再起動してテストしてください。
接続をタップしてもシステムのVPNアイコンが表示されない?
システムVPNを使用中のほかのアプリを停止してからクライアントを起動し、システムのVPN接続リクエストを承認してください。それでも接続されない場合は、クライアントのログとシステムのVPN設定を確認します。速度測定先を変えるのではなく、まずサービスの起動問題を解決してください。
Webページは開くのに、音声通話やゲームが不安定?
この種の通信ではUDPを使うことがあります。ルーティングルール、使用するプロトコル、サーバーまでの経路が該当する通信に対応しているか確認してください。TCPでWebページを開けても、UDPが使えるとは限りません。アプリ名と具体的な発生状況を記録して設定を調べ、MTUをむやみに変更しないでください。
原因を絞り込む:設定は一度に1つだけ変更する
目指すのは、誰にでも効く「高速化設定」を探すことではなく、再現可能な根拠を積み重ねることです。通常の接続でMTU、同時接続数、接続の再利用、通信方式をむやみに変えると、症状が変化するだけでなく、新たな互換性の問題を招く場合があります。まず正常に使える基本状態を保存し、根拠に沿って1項目ずつ変更すれば、効果を判断できます。
- 特定のノードだけ遅い:複数の接続先でそのノードの状態を記録し、サーバー負荷、出口、回線状況と照らし合わせます。
- 同じノードが特定のネットワークだけで遅い:クライアントを再インストールする前に、接続ネットワークと通信事業者の経路を優先して調べます。
- SOCKSを明示したリクエストは正常で、ブラウザーだけ異常:システムプロキシ、ブラウザーのプロキシ設定、拡張機能、ルーティングの違いを確認します。
- すべての接続先で初回リクエストが遅い:総所要時間だけでプロトコルを変更せず、名前解決、ハンドシェイク、サーバーから最初の1バイトを受信するまでの時間を切り分けます。
- Androidのバックグラウンドでだけ接続が切れる:バッテリー管理、バックグラウンド権限、VPNサービスの状態を確認し、画面ロック後に再テストします。
最終的な記録には、クライアント名と実際のバージョン、選択中のコア、ネットワークの種類、発生時刻、接続先の種類、主なエラーを含めてください。記録を提出するために設定全体を公開する必要はありません。再インストールや操作手順の再確認が必要な場合は、以下のダウンロードページとチュートリアルを利用し、標準的な接続を復旧してから速度を検証してください。