Shadowrocketの接続後に速度が遅い場合は、測定対象を固定し、ローカルネットワーク、プロトコル設定、通信経路、ノードサーバーの順に確認します。iPhone / iPadでの操作を中心に、自分で契約しているサービスやサブスクリプションがあり、接続はできるもののWebページやダウンロードが極端に遅い方を対象としています。読み進めることで、遅延、帯域幅、接続失敗を区別し、再現可能な調査記録をまとめられます。
まず測定条件をそろえる:低遅延でもダウンロードが速いとは限らない
「開くまで時間がかかる」状態と「転送開始後の速度が遅い」状態を区別します。前者はDNS、接続確立、TLSハンドシェイクが関係する場合があり、後者は利用可能な帯域幅、パケットロス、速度制限、接続先サイトなどが原因として考えられます。Homeの接続テストや遅延テストで分かるのは、その時点で指定した検査先への結果です。継続的なダウンロード速度を測るものではなく、すべてのアプリが同じ経路を使うことを示すものでもありません。
1回の通信はいくつもの経路を通ります。ノードの遅延が非常に低くても、接続先のWebサイトがサーバーの近くにあるとは限りません。遠隔地の出口からWebサイトまでの経路が混雑している可能性もあります。切り分けでは同じWebサイトまたは同じファイルを使い、異なる速度測定サービスの結果をそのまま比較しないでください。
- 測定対象を固定:アクセス権のある同じHTTPSページまたはファイルを使います。ファイルは数十MB程度で十分です。モバイル通信のデータ使用量に注意してください。
- 測定時間を固定:各回約30秒の測定を3回繰り返し、表示開始までの待ち時間、安定時の転送速度、中断の有無を記録します。一時的なピーク値だけで判断しないでください。
- 単位を統一:8 Mbpsは約1 MB/sに相当します(プロトコルのオーバーヘッドを除く前の値)。MbpsとMB/sは同じ単位ではありません。
- 変数を固定:各回で変更するのは、ネットワーク、ノード、ルーティングモードのいずれか1つだけにします。測定中はクラウドバックアップ、システムアップデート、大容量ファイルの転送を一時停止してください。
第1段階:Wi-Fiとモバイル通信を比較
同じノードでWi-Fiだけ遅く、モバイル通信では正常なら、すぐにプロトコルを変更するのではなく、Wi-Fiの接続環境とその上流経路を優先して確認します。モバイル通信に対応していないiPadでは、自分のスマートフォンのテザリングを比較に使えます。ただしテザリングにも速度制限がある場合があるため、別の接続経路として扱い、絶対的な基準にはしないでください。
-
現在の設定を記録
Homeで現在のノードとGlobal Routingをメモし、Configで使用中の設定のコピーを保存します。Settings → On Demandの現在の状態も記録してください。有効になっている場合は、管理されたテスト中だけ一時的にオフにすると、「切断済み」という判定に自動再接続が影響するのを防げます。テスト後は元に戻してください。
-
ローカル環境の基準を測定
Shadowrocketを切断し、接続が確実に停止したことを確認してから、通常は直接接続できるHTTPSページにアクセスします。そのページも読み込みに時間がかかったり、接続が何度も切れたりする場合は、まずWi-Fiの電波、ルーターの負荷、ブロードバンド接続を確認してください。
-
接続方法を切り替える
Shadowrocketに再接続し、同じノードと接続先を保ったまま、Wi-Fiとモバイル通信でそれぞれ測定します。iPhoneではシステムのSettings → Wi-FiでWi-Fiをオフにし、ステータスバーの表示が切り替わったことを確認してから次の測定を始めてください。
-
原因の範囲を絞る
Wi-Fiだけで問題が起きる場合は、ルーターに近づいて再測定し、利用可能な5 GHzと2.4 GHzのネットワークを個別に確認します。特定の接続ネットワークでだけつながらない場合は、通信事業者とネットワークの種類を記録し、プロトコルの段階でUDPの到達性を調べます。
第2段階:プロトコル設定と実際のルーティングを確認
Homeから現在のノードの編集画面を開き、契約中のサービスから提供された元の設定と照らし合わせます。プロトコルの種類、サーバーアドレス、ポート、認証情報に加え、設定で指定されているTLS、SNI、転送オプションを1つずつ確認してください。ポートをむやみに変更したり、証明書検証をオフにしたりして速度を上げようとしないでください。たとえばサービスがTCP 443を指定している場合は、そのポートを確認します。別の設定でUDP 443が使われていても、両者を入れ替えてはいけません。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは接続要件が異なるため、Typeだけ変更してもサーバーが新しいプロトコルを受け入れるとは限りません。Hysteria2はQUICをベースとしており、UDPを使用します。WireGuardもUDPを使用します。Wi-Fi側でUDPが強く制限されていると、タイムアウトしたり不安定になったりすることがあります。その他のプロトコルで使われる下位の転送方式は、現在の設定で確認してください。プロトコル名だけから判断することはできません。
| 確認項目 | 操作内容 | 判断方法 |
|---|---|---|
| Global Routing | Homeで現在のモードを確認します。Configは設定ルールに従って通信を振り分け、Proxyはプロキシ経路との一時的な比較に、Directは直接接続に使用します。 | 同じ接続先がProxyでは正常でConfigでは異常な場合、まずルールとポリシーの選択を確認します。テスト後は元のモードに戻してください。 |
| ルールの適用 | Configで、関連するDOMAIN-SUFFIX、GEOIP、IP-CIDR、FINALルールと、対応するポリシーが存在するかを確認します。 | 通常のルールは並び順によって一致結果が変わります。広範囲に一致するルールが先に適用されると、接続先が想定外の経路に振り分けられることがあります。 |
| DNSとTLS | ドメイン名の名前解決失敗、証明書エラー、接続タイムアウトを分けて記録します。システム時刻と、サービスで指定されているSNIも確認してください。 | ドメイン名でのアクセスだけ失敗しても、帯域幅不足とは限りません。証明書や仮想ホストが異なる場合があるため、HTTPSの確認にドメイン名の代わりにIPアドレスを直接使うのは適切ではありません。 |
| UDPの到達性 | 2種類の接続ネットワークで、同じHysteria2またはWireGuardの設定をテストします。 | 特定のネットワークだけで失敗する場合は、その接続経路を調査する必要があります。タイムアウトだけを根拠に、通信事業者によるブロックと断定することはできません。 |
初回の読み込みだけ遅く、同じページを開き直すと明らかに速くなる場合は、DNS、接続の再利用、キャッシュを重点的に確認できます。ただし、これはあくまで手がかりです。DNS、プロトコル、ノードを同時に変更すると、どの変更が有効だったのか分からなくなります。設定を変更する前にコピーを保存し、毎回1項目だけ変更してください。
第3段階:回線の混雑と接続先サイトの制限を切り分ける
回線の問題は、昼間は正常でも夜間に遅くなる、接続は確立するものの転送速度が大きく変動する、同じ時間帯に複数の接続先で影響が出る、といった形で現れることがあります。確かめるには、同じネットワーク、同じノード、同じ測定対象で時間帯を変えて記録します。1回の遅延測定だけで判断しないでください。
- 時間帯を変えて測定:09:00、15:00、21:00にそれぞれ1回測定する方法があります。あくまで記録時刻の目安であり、すべての地域で同じ時間帯に混雑するという意味ではありません。
- 接続先を変えて測定:同じノードから、互いに独立したアクセス可能な接続先を2つテストします。1つのサイトだけ遅い場合は、そのサイトの稼働状況、アカウント制限、CDNの割り当て、アプリ自体の動作を確認してください。
- 出口を変えて比較:契約中のサブスクリプションに異なる地域や回線のノードが含まれている場合は、同じ時間帯に比較できます。ノード名が異なっても上流経路が異なるとは限らないため、結果の解釈には注意してください。
- 速度の推移を確認:開始直後は速く、その後安定して低下する場合、速度制限のほか、キャッシュの消費や輻輳制御の変化も考えられます。サービスの通信量や帯域幅のルールと合わせて確認してください。
「地理的に近い」ことだけで回線が良いと判断しないでください。実際の経路、通信事業者間の接続、サーバーの出口によって通信品質は変わります。特定の時間帯だけ遅くなる場合は、「夜に重い」とだけ伝えるより、正確な時刻、タイムゾーン、接続ネットワーク、接続先で起きる現象を自分のサービス提供元に伝えると、調査しやすくなります。
第4段階:ノードサーバーと実際のエラーを確認
同じネットワークで、契約中のサブスクリプションにある他の利用可能なノードは正常なのに、特定のノードだけ継続して異常が起きる場合は、そのノードと経路に原因を絞れます。ノードは接続先の端点であり、経路全体を指すものではありません。サーバーが稼働していても、出口帯域幅の不足、接続数の制限、遠隔ネットワークの障害が発生することがあります。
以下はネットワーク診断で表示されることのあるエラーの原文です。毎回同じ形式で表示されるとは限りません。前後の情報と発生時刻も含めて記録してください。1件のエラーだけで分かるのは原因の範囲までで、問題が起きている箇所を特定できるとは限りません。
エラー:connection timed out
考えられる原因:制限時間内に接続が完了しなかった状態です。経路上のパケットロス、ポートへの到達不能、UDPの制限、サーバーの無応答などが考えられます。
対処方法:ノードの設定を変えずに、Wi-Fiとモバイル通信を切り替えて再測定します。どちらでも失敗する場合は、自分のサービス提供元にアドレス、ポート、サービスの稼働状況を確認してください。
エラー:connection refused
考えられる原因:接続が明示的に拒否された状態です。接続先のポートでサービスが待ち受けていない場合や、途中の機器が接続を拒否した場合によく発生します。
対処方法:サーバーアドレスとポートを確認してください。推測でポートを何度も変更せず、サービス提供元に待ち受け状態とアクセス制御の確認を依頼します。
エラー:certificate has expired
考えられる原因:検証対象の証明書の有効期限が切れているか、端末の時刻がずれて証明書の有効期間が正しく判定されていない可能性があります。
対処方法:まずシステムの日付と時刻を確認し、サービス提供元にTLS証明書とSNIを確認します。証明書の検証は有効のままにしてください。検証のスキップを速度改善の方法として使わないでください。
サブスクリプションの更新に成功しても、ノードが現在利用できるとは限りません。確認できるのは設定の取得が完了したことだけです。一方、更新に失敗しても、既存のノードが遅い原因を説明できるとは限りません。更新が必要な場合はHomeで既存のサブスクリプションを更新し、URLとアクセス権が有効であることを確認してください。問題の切り分けの代わりに、設定をすべて削除して再インポートすることは避けてください。
- 特定のノードだけ異常:ノードの識別情報、エラー原文、再現した時刻を伝え、サーバー負荷、メンテナンス、ポートの状態を確認します。
- すべてのノードで異常:まずローカルネットワーク、アカウントの状態、共通設定を確認し、その後、同じ上流経路を共有しているか調べます。
- 診断記録を共有する前に:サブスクリプションURL、token、パスワード、秘密鍵、個人のアクセス履歴を隠し、切り分けに必要な情報だけを残してください。
よくある質問:接続は正常なのに速度が遅い
表示上の遅延は小さいのに、動画がバッファリングするのはなぜですか?
遅延テストでは、動画CDNで利用できる帯域幅は分かりません。同じ動画、同じ画質で再生を続けて確認してから、別のアクセス可能な接続先も試してください。そのプラットフォームだけで問題が起きる場合は、接続先CDNへの経路とプラットフォーム側の制限を確認します。遅延の数値だけでノードを選ばないでください。
Global RoutingをProxyに変えると直ります。どうすればよいですか?
まず元のモードを記録し、Configで接続先に関係するルールとポリシーを確認します。Proxyで正常なら、モードによって通信経路が異なる可能性があります。プロトコル自体が速いことを示すわけではありません。誤ったルールの適用を修正したら、元のConfigモードに戻し、同じ接続先で再測定してください。
Hysteria2に切り替えれば必ず速くなりますか?
いいえ。Hysteria2に対応したサーバーと対応する設定が必要で、接続ネットワークが必要なUDP通信を許可している必要もあります。同じネットワークで到達性と継続的な転送速度を比較してから、使用するか判断してください。既存の別プロトコルのノードを、名前だけHysteria2に変更して使うことはできません。
切断しても自動的に再接続されます。切り分けに影響しますか?
直接接続との比較に影響します。Settings → On Demandの起動条件を確認し、テスト環境で切断してよいことを確かめたうえで、一時的に無効にしてから接続状態を確認してください。テスト後は記録した元の設定に戻します。以前の自動接続設定を戻し忘れないようにしてください。
診断記録をまとめる:再現に必要な情報だけを残す
4段階の確認後には、「どのネットワークで、どのノードを、どのモードで使い、どの接続先にアクセスしたとき遅いのか」を説明できる状態を目指します。まだ原因が分からない場合は、最適化パラメーターを追加するのではなく、1項目ずつ変えて比較してください。Mac、Windows、Android、Linuxでも同じ段階的な方法を使えますが、iPhone / iPadのシステムメニューの操作手順をそのまま当てはめないでください。
- 環境:端末の種類、OS、Wi-Fiまたはモバイル通信、バックグラウンドで大容量の通信が行われているか。
- 設定:プロトコル名、現在のGlobal Routing、機密情報を含まないノード識別情報、自分のサブスクリプションを最近更新したかどうか。
- 症状:表示開始までの待ち時間、安定時の速度と単位、中断の有無、エラー原文、発生時刻。
- 比較:どの変数を変えると改善したか、何回続けて同じ結果になったか、テスト後にどの設定を元に戻したか。