延遲數值正常,不代表傳輸速度也正常。排查時先固定測試目標,分辨是首次開啟慢、持續傳輸慢,還是間歇斷線,再依序檢查本機網路、現有節點、連往節點的線路、協定參數及規則命中情形。本文適用於已有自己的服務商與訂閱的使用者;每次只變更一個條件,記錄結果後再決定是否保留變更。
先釐清:延遲、傳輸量與首次開啟時間
Shadowrocket 的連線測試反映特定測試方式下的可連線狀態或回應時間,不能取代持續傳輸測試。連線可能很快建立,但後續資料仍會受到壅塞、封包遺失、伺服器負載或目標網站限制影響。不同測試方式測得的延遲也不宜直接比較。
先選一個平常能正常使用的網站,以及一份有權存取、大小固定的檔案。網頁用來觀察首次回應,檔案用來觀察持續傳輸量;不要將不同網站的結果當成同一條線路的對照,也不要同時執行多個傳輸工作。
| 可觀察到的情況 | 優先檢查項目 | 驗證方式 |
|---|---|---|
| 首次開啟需等待,開啟後正常 | DNS、連線建立、目標回應 | 比較首次與再次開啟同一頁面 |
| 檔案持續傳輸速度很慢 | 線路、節點負載、目標限速 | 連續觀察同一檔案 30 秒 |
| 傳輸速度忽快忽停 | 封包遺失、無線訊號、壅塞 | 固定節點,比較 Wi-Fi 與行動網路 |
| 只有一個網站速度慢 | 網站本身、規則、通往目標的線路 | 使用同一節點存取另一個不同網站 |
注意單位:Mbps 是每秒兆位元,MB/s 是每秒兆位元組。單純換算時,8 Mbps = 1 MB/s;實際傳輸還包含協定額外負荷。例如「延遲 80 ms,檔案速度 0.5 MB/s」只是一種可能的紀錄組合,無法據此判定節點正常或異常。本文數字僅用於說明紀錄方式,並非實測結果。
第一層:固定條件,檢查 iPhone 本機網路
先確認速度慢是否也發生在 Shadowrocket 之外。對不需代理即可存取的同一個目標,先中斷連線,再進行基準測試;這一步會透過本機網路直接存取,請選擇適合直接連線的內容。若本機基準測試也很慢,應先檢查 Wi-Fi、行動訊號或網路本身。
-
記錄目前狀態
在 Home 記下選取的節點,並在 Home → Global Routing 記下目前模式;同時記錄使用 Wi-Fi 或行動網路、測試目標及時間。先不要清除設定。
-
暫停自動連線
前往 Settings → On Demand,記下原有設定後暫時關閉 On Demand,再回到 Home 關閉連線開關。確認系統沒有立即重新建立連線,以免將代理連線誤當成直接連線的基準。
-
檢查本機基準
暫停裝置上的其他大量流量工作,靠近路由器後存取固定目標。若 Wi-Fi 需要網頁認證,請先完成認證;訊號格數較多,並不代表網路出口沒有壅塞。
-
切換接入網路
重新連線 Shadowrocket 並維持同一節點,分別透過 Wi-Fi 與行動網路測試同一目標,每種條件重複三次。行動網路測試會使用行動數據,請依照自己的資費方案控制測試量。
-
還原原有設定
記錄結果後,還原需要使用的 Global Routing 與 On Demand 設定。若只有一種接入網路速度慢,優先檢查該網路,不要同時修改節點協定與 DNS。
切換 Wi-Fi 與行動網路也會改變電信業者的出口,因此這項對照只能協助定位「本機接入及其後續路徑」,不能單憑結果認定路由器故障。若靠近路由器後速度明顯改善,且同一網路的其他條件未變,才值得優先檢查無線涵蓋範圍或干擾。
第二層:區分節點端點與通往節點的線路
節點是連線的伺服器端點;線路則是裝置到該端點,以及端點到目標之間的資料路徑。節點延遲低,只代表某次探測回應很快;無法說明伺服器可用頻寬、目前負載,或伺服器存取目標網站的速度。地理位置較近,也不一定代表實際路由較短。
- 同一網路,更換現有節點:在 Home 選擇自己現有訂閱中的另一個節點,維持測試目標和 Global Routing 不變。若只有一個節點持續緩慢,請優先確認該端點及其通往目標的路徑。
- 同一節點,更換網路:維持節點不變,若 Wi-Fi 緩慢而行動網路正常,表示接入網路或通往節點的路徑可能不同,不能直接歸因於節點整體效能。
- 同一節點,更換時段:在條件相近的情況下,分別記錄尖峰與離峰時段的表現。若只有特定時段速度下降,壅塞是需要驗證的因素;單次測試不足以確認服務商限速。
- 同一節點,更換目標:若多個目標中只有一個速度慢,應檢查該目標的回應、套用的規則,以及節點通往該目標的路徑,不要立刻替換所有設定。
更新訂閱會重新取得服務商發布的節點資訊,不會自動增加頻寬。只有自己的服務商確認端點資訊已變更時,才需要在 Home 更新對應訂閱,並確認所選節點仍是預期的項目。更新成功與速度改善是兩回事;更新後應重新記錄端點,避免將節點變更誤認為其他設定的效果。
第三層:核對協定參數,不要盲目更改連接埠
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 各自採用不同的連線與傳輸機制,客戶端參數必須與自己的伺服器設定一致。這些協定不是能在同一節點上任意切換的速度模式。若伺服器只提供一種協定,單獨修改客戶端的 Type 通常會導致連線失敗。
在 Home 開啟目前節點的編輯頁面,依照服務商提供的資訊核對位址、連接埠、認證資料,以及該協定實際使用的 TLS、Server Name、傳輸路徑等參數。只核對適用於目前節點的欄位,不要為了追求速度而額外啟用不相符的選項。
- 連接埠不是加速開關:
443是 HTTPS 常用連接埠,但將節點連接埠改成443,不會讓伺服器自動監聽該連接埠,也不會自動啟用 TLS。 - 留意底層傳輸:Hysteria2 使用以 UDP 為基礎的 QUIC,WireGuard 也使用 UDP。若目前網路限制 UDP,可能導致交握失敗或持續斷線;請以自己的服務商已提供的其他可用設定進行對照。
- 保留憑證驗證:憑證驗證用於確認連線對象。遇到驗證錯誤時,請核對系統時間、Server Name 與伺服器憑證,不應將略過驗證當成加速方法。
- 避免盲目調整 MTU:小型請求正常、大量傳輸反覆停頓,可能與路徑 MTU 有關,也可能是封包遺失或目標限速。先記錄現象;只有在有伺服器端依據時才調整相關參數,並保留原值。
若要比較協定,只比較自己的服務商已提供且參數完整的連線,並盡量固定端點地區、目標、網路與時段。即使其中一項速度較快,結論也只適用於這組測試條件,不能推論某種協定在所有網路環境下都更快。
第四層:確認 Global Routing 與規則的實際命中情形
排查速度前,先確認要求是否經過預期路徑。在 Home → Global Routing 中,Proxy 會將可代理的流量交由代理處理,Direct 使用直接連線路徑,Config 則依目前設定處理。若使用 Scene,請先確認目前場景實際套用的設定與策略;切換場景會讓兩次測試的條件不再一致。
可以暫時使用 Proxy 與 Config,針對同一個目標進行比較,測試後再還原原有設定。如果 Proxy 正常而 Config 緩慢,請優先檢查目標命中哪條規則、使用哪個策略,以及策略最後選取了哪個節點。Proxy 也不代表所有網域的解析方式必定相同,仍須一併檢查 DNS 設定。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
以上僅為規則段落的語法示意,不建議直接整段取代現有設定。DOMAIN-SUFFIX 依網域後綴比對,IP-CIDR 依 IP 位址範圍比對,GEOIP 依 IP 地理位置比對,FINAL 接收前面規則都未命中的要求。規則會依序檢查;自訂策略名稱也必須在完整設定中有相應定義。
- 在 Config 確認目前使用的是預期設定,而不只是清單中儲存了該設定。
- 查看目標要求的連線記錄,核對規則、策略與最後的連線出口;不要只根據 Home 中選取的節點推斷所有要求的路徑。
- 若只有首次開啟緩慢,請檢查 DNS 查詢是否逾時或反覆重試。DNS 會影響解析階段,通常無法解釋連線建立後持續傳輸量全面下降。
- 不要一次更換多個 DNS 位址。先保留原值,每次只改一項,再觀察同一目標的首次回應與後續傳輸是否分別改善。
錯誤紀錄:分開處理連線失敗與速度慢
若實際問題是反覆連線失敗,請先排除連線問題,再測試速度。以下是網路記錄中可能出現的錯誤片段;實際內容會依連線階段與底層回傳資訊而異,不保證每次都出現相同文字。記錄錯誤時,請一併保存發生時間、網路與節點資訊。
錯誤:i/o timeout
原因與解法:某個網路讀寫步驟超過等待時間,可能是封包遺失、路徑無法連通或遠端沒有回應。先判斷錯誤發生於解析、連線還是傳輸階段,再固定節點並切換接入網路進行比較;不要只因逾時就重設設定。
錯誤:connection refused
原因與解法:目標端點或路徑中的設備明確拒絕了連線要求,常見原因是該連接埠沒有相應服務。請核對目前節點的位址與連接埠,並向自己的服務商確認端點是否可用。
錯誤:no such host
原因與解法:目前的解析程序未取得所需的主機位址,可能與網域拼寫、DNS 記錄或解析器有關。先確認錯誤中的網域是節點還是目標網站,再檢查相應網域與 DNS 設定。
提交紀錄前,請隱藏訂閱連結、token、密碼、私密金鑰及其他認證資訊。可以保留協定名稱、錯誤片段、網路類型、發生階段與對照結果;這些資訊通常比只有延遲數字的螢幕截圖更有助於找出問題。
常見問題:如何判斷排查結果
延遲很低,為什麼影片仍會緩衝?
延遲只涵蓋探測要求;播放影片還需要穩定的持續頻寬、低封包遺失率,以及內容伺服器正常運作。維持同一節點,分別測試另一段影片與一個固定檔案;若只有某個內容來源速度慢,先檢查該來源及其規則命中情形,不要把低延遲視為頻寬保證。
換一個節點後馬上變快,就能確定原節點有問題嗎?
這表示兩條連線的整體條件不同,但節點負載、路徑和目標出口都可能有所變化。切回原節點再測一次,並維持目標與網路相同;只有在差異能重複出現時,才適合將紀錄提供給自己的服務商進一步確認。
關閉連線後又自動連上,該如何進行基準測試?
先前往 Settings → On Demand,記錄設定後暫時關閉自動連線,再回到 Home 中斷連線。如果裝置還有其他受管理的連線規則,應先確認其狀態。完成基準測試後還原原有設定,避免影響後續日常連線。
所有現有節點都很慢,需要重新購買客戶端嗎?
客戶端購買與線路頻寬是兩回事。先完成本機基準測試,並比較另一種接入網路,再檢查共用的設定與目標。客戶端買斷 ≠ 線路方案;重複購買無法取代對線路、端點與設定的排查。
結尾:保留可重現的對照紀錄
排查結束後,只保留經過重複驗證確實有效的變更,並還原暫時切換的模式與開關。無法確認效果的變更應予以還原,避免多個變因互相疊加,導致下次發生問題時無法比較。可依照下列格式記錄,不必填寫任何認證資訊。
測試目標:同一個網頁或固定檔案
測試條件:同一部 iPhone,暫停其他大量流量工作
接入網路:Wi-Fi / 行動網路
所選連線:自己的節點標籤,不含認證資料
Global Routing:Config / Proxy / Direct / Scene
實際命中:規則、策略、最後的連線出口
觀察時間:每輪 30 秒,每組重複 3 次
紀錄內容:首次回應、持續速度、是否斷線
單項變更:本輪只更換一個條件
還原檢查:設定、模式、On Demand
可靠的結論應明確說明適用條件,例如「同一節點在行動網路正常,在目前的 Wi-Fi 下持續停頓」,而不是直接寫「軟體速度慢」。前者能明確指出下一步檢查方向;後者將本機網路、線路、協定與目標服務混為一談,難以重現。