❶ 手機網速變快方法
其實我們都知道
雖然網路不是萬能的,
但沒有網路是萬萬不能的!
想像一下,
只有手機而沒有網路的日子……
想想就覺得孤獨難忍寂寞難耐啊!
這結果真是令人難以置信,原來提升網速竟是這么簡單的事情?這么多年我們辛辛苦苦去找的「提速秘籍」原來一鍵就能搞定!真是恍然大悟!
教授心有不甘手賤的又繼續點了【正常速度】,還原之前的網速,再次測試,發現斷斷續續,又變慢了!實在是太神奇!
這,又是什麼原因呢?
其實,之所以能夠加速,是因為在這個過程中,加速器重新檢測了一遍wifi信號,切換到最佳的基站,改善了DHCP網路地址,減少信號干擾,經過一系列的網路優化,網速自然也就變快了!
其他加速器也是類似原理,所以發現網速變慢時,咱就隨便點一點,說不定能讓你的網速快得飛起來哦(當然,網速要快的前提是你的網路環境本身就是比較快的)!
❷ 移動網路優化實踐
網路優化對於App產品的用戶體驗至關重要,與公司的運營和營收息息相關。這里列舉兩個公開的數據:
「 頁面載入超過3秒,57%的用戶會離開。 」
「 Amazon頁面載入延長1秒,一年就會減少16億美金營收。 」
首先是網路不可用的問題。主要由以下幾種原因導致:
GFW的攔截,原因你懂的。
DNS的劫持,埠的意外封禁等。
偏遠地區網路基礎設施比較差。
其次是網路載入時間長。原因包括: * 移動設備出於省電的目的,發出網路請求前需要先預熱通信晶元。 * 網路請求需要跨網路運營商,物理路徑長。 * HTTP請求是基於Socket設計的,請求發起之前會經歷三次握手,斷開時又會進行四次揮手。
最後是HTTP協議的數據安全問題。原因有: * HTTP協議的數據容易被抓包。Post包體數據經過加密能夠避免泄露,但協議中的URL和header部分還是會暴露給抓包軟體。HTTPS也面臨相似的問題。 * 運營商數據惡意篡改嚴重。如下圖中,App的網頁中就被運營商插入了廣告。
3
面對上述網路問題,我們首先在HTTP短連請求中進行了一些優化嘗試。
1. 告別 DNS,直接使用 IP 地址
如果是首次發送基於 HTTP 協議的網路服務,第一件事就是進行 DNS 域名解析,我們統計過 DNS 解析成功率只有 98%,剩下 2% 是解析失敗或者運營商 DNS 劫持(Local DNS 返回了非源站 IP 地址),同時 DNS 解析在 3G 下耗時 200 毫秒左右,4G 也有 100 毫秒左右,延遲明顯。我們基於 TCP 連接,直接跳過了 DNS 解析階段,使用內置 IP 列表的方式進行網路連接。
App 內置了一組 Server IP 列表,同時每個 IP 具備權重。每次建立新連接,會選擇權重最高的 IP 地址進行連接。App 啟動時,IP 列表的所有權重是相同的,此時會啟動一組 Ping 的操作,根據 Ping 值的延遲時間來計算 IP 的權重,這么做的原理是 Ping 值越小的 IP 地址,連接後的網路傳輸延遲也應該相對更小。業界也有使用 HTTP DNS 方式來解決 DNS 劫持問題,同時返回最合適用戶網路的 Server IP。然而 HTTP DNS 的開發和部署需要不小的開發成本,我們目前沒有使用。
內置 Server IP 列表也會被更新,每次 App 啟動後會有個 Mobile Config 服務(支持 TCP 和 HTTP 兩種網路類型服務)更新 Server IP 列表,同時支持不同產品線的 Server IP 列表更新。因此,傳統 DNS 解析能夠解決多 IDC 導流的功能也可以通過此方法解決。
2. Socket 連接優化,減少連接時間
和 HTTP 協議中的 Keepalive 特性一樣,最直接減少網路服務時間的優化手段就是保持長連接。每次 TCP 三次握手連接需要耗費客戶端和服務端各一個 RTT(Round trip time)時間才能完成,就意味著 100-300 毫秒的延遲;TCP 協議自身應對網路擁塞的 Slow Start 機制也會影響新連接的傳輸性能。
App 使用了長連接池的方式來使用長連接,長連接池中維護了多個保持和服務端的 TCP 連接,每次網路服務發起後會從長連接池中獲取一個空閑長連接,完成網路服務後再將該 TCP 連接放回長連接池。我們沒有在單個 TCP 連接上實現 Pipeline 和 Multiplexing 機制,而是採用最簡單的 FIFO 機制,原因有二:
簡化 Mobile Gateway 的服務處理邏輯,減少開發成本;
在服務端同時返回多個響應時,如果某個響應報文非常大,使用多個長連接方式可以加快接收服務響應報文速度。
如果發起網路服務時長連接池中的 TCP 連接都正在被佔用,或者 TCP 長連接的網路服務失敗,則會發起一個 TCP 短連接實現網路服務。這里長連接和短連接的區別僅僅是服務完成後是否直接關閉這個 TCP 連接。
附: Pipeline 和 Multiplexing 是有區別的,如 HTTP/1.1 支持 Pipeline,客戶端能否同時發送多個請求,但是服務端返回響應時也要按照請求的發送次序來返回響應;SPDY 和 HTTP/2 協議支持 Multiplexing,即支持響應報文的亂序返回,發送請求和接收響應互不幹擾,因此避免了 HTTP/1.1 Pipeline 也沒能完全解決的 Head of line blocking 問題。
3. 弱網和網路抖動優化
App 引入了網路質量參數,通過網路類型和端到端 Ping 值進行計算,根據不同的網路質量改變網路服務策略:
調整長連接池個數:例如在 2G/2.5G Egde 網路下,會減少長連接池個數為 1(運營商會限制單個目標 IP 的 TCP 連接個數);WIFI 網路下可以增加長連接池個數等機制。
動態調整 TCP connection、write、read 的超時時間。
網路類型切換時,例如 WIFI 和移動網路、4G/3G 切換至 2G 時,客戶端 IP 地址會發生變化,已經連接上的 TCP Socket 註定已經失效(每個 Socket 對應一個四元組:源 IP、源 Port、目標 IP、目標 Port),此時會自動關閉所有空閑長連接,現有網路服務也會根據狀態自動重試。
4. 數據格式優化,減少數據傳輸量和序列化時間
傳輸數據量越小,在相同 TCP 連接上的傳輸時間越短。攜程 App 曾經使用自行設計的一套數據格式,後來和 Google ProtocolBuffer 對比後發現,特定數據類型下數據包大小會降低 20-30%,序列化和反序列化時間可以降低 10-20%,因此目前核心服務都在逐步遷移到到 ProtocolBuffer 格式。另外 Facebook 曾分享過他們使用 FlatBuffer 數據格式 提高性能的實踐,我們分析後不太適合攜程的業務場景因而沒有使用。
5. 引入重試機制,提升網路服務成功率
受 TCP 協議重傳機制來保證可靠傳輸的機制啟發,我們在應用層面也引入了重試機制來提高網路服務成功率。我們發現 90% 以上的的網路服務失敗都是由於網路連接失敗,此時再次重試是有機會連接成功並完成服務的;同時我們發現前面提到的網路服務生命周期處於 1 建立連接、序列化網路請求報文、發送網路請求這三個階段失敗時,都是可以自動重試的,因為我們可以確信請求還沒有達到服務端進行處理,不會產生冪等性問題(如果存在冪等性問題,會出現重復訂單等情況)。當網路服務需要重試時,會使用短連接進行補償,而不再使用長連接。
實現了上述機制後,攜程 App 網路服務成功率由原先的 95.3%+ 提升為如今的 99.5%+(這里的服務成功率是指端到端服務成功率,即客戶端採集的服務成功數除以請求總量計算的,並且不區分當前網路狀況),效果顯著。
6. 其他網路服務機制 & Tricks
攜程 App 也實現了其他一些網路服務機制方便業務開發,如網路服務優先順序機制,高優先順序服務優先使用長連接,低優先順序服務默認使用短連接;網路服務依賴機制,根據依賴關系自動發起或取消網路服務,例如主服務失敗時,子服務自動取消。
開發過程中我們也發現一些移動平台上的 TCP Socket 開發 tricks:
iOS 平台上的原生 Socket 介面創建連接並不會激活移動網路,這里原生 Socket 介面是指 POSIX Socket 介面,必須使用 CFSocket 或者再上層的網路介面嘗試網路連接時才會激活網路。因此攜程 App 啟動時會優先激活注冊一些第三方 SDK 以及發送 HTTP 請求來激活移動網路。
合理設置 Socket 的幾個參數:SO_KEEPALIVE 參數確保 TCP 連接保持(註:此 KeepAlive 是 TCP 中的屬性,和 HTTP 的 KeepAlive 是兩個場景概念),SO_NOSIGPIPE 參數關閉 SIGPIPE 事件,TCP_NODELAY 參數關閉 TCP Nagle 演算法的影響。
由於 iOS 要求支持 IPv6-Only 網路,因此使用原生 Socket 必須支持 IPv6。
如果使用 select 來處理 nonblocking IO 操作,確保正確處理不同的返回值和超時參數。
保持 TCP 長連接可用性的心跳機制:對於非 IM 類應用而言,心跳機制的作用不大,因為用戶會不斷觸發請求去使用 TCP 連接,尤其在攜程業務場景下,通過數據統計發現使用心跳與否對服務耗時和成功率影響極小,因此目前已經關閉心跳機制。原先的心跳機制是 TCP 長連接池中的空閑 TCP 連接每 60 秒發送一個心跳包到 Gateway,Gateway 返回一個心跳響應包,從而讓雙方確認 TCP 連接有效。
Hybrid 網路服務優化
攜程 App 中有相當比例的業務是使用 Hybrid 技術實現的,運行在 WebView 環境中,其中的所有網路服務(HTTP 請求)都是由系統控制的,我們無法掌控,也就無法進行優化,其端到端服務成功率也僅有 97% 左右(註:這里指頁面中業務邏輯發送的網路服務請求,而非靜態資源請求)。
我們採用了名為『TCP Tunnel for Hybrid』的技術方案來優化 Hybrid 網路服務,和傳統 HTTP 加速產品的方法不同,我們沒有採用攔截 HTTP 請求再轉發的方式,而是在攜程 Hybrid 框架中的網路服務層進行自動切換。
如圖所示,該技術方案的流程如下:
如果 App 支持 TCP Tunnel for Hybrid,Hybrid 業務在發網路服務時,會通過 Hybrid 介面轉發至 App Native 層的 TCP 網路通訊層,該模塊會封裝這個 HTTP 請求,作為 TCP 網路服務的 Payload 轉發到 TCP Gateway;
TCP Gateway 會根據服務號判斷出是 Hybrid 轉發服務,解包後將 Payload 直接轉發至 HTTP Gateway,此 HTTP 請求對 HTTP Gateway 是透明的,HTTP Gateway 無需區分是 App 直接發來的還是 TCP Gateway 轉發來的 HTTP 請求;
後端業務服務處理完成後,HTTP 響應會經 HTTP Gateway 返回給 TCP Gateway,TCP Gateway 將此 HTTP 響應作為 Payload 返回給 App 的 TCP 網路通訊層;
TCP 網路通訊層會再將該 Payload 反序列化後返回給 Hybrid 框架,最終非同步回調給 Hybrid 業務調用方。整個過程對於 Hybrid 業務調用方也是透明的,它並不知道 TCP Tunnel 的存在。
採用該技術方案後,攜程 App 中 Hybrid 業務的網路服務成功率提升至 99% 以上,平均耗時下降了 30%。
海外網路服務優化
攜程目前沒有部署海外 IDC,海外用戶在使用 App 時需要訪問位於國內的 IDC,服務平均耗時明顯高於國內用戶。我們採用了名為『TCP Bypass for Oversea』的技術方案來優化海外網路服務性能,主要是使用了 Akamai 的海外專屬網路通道,同時在攜程國內 IDC 部署了局端設備,使用專用加速通道的方式來提升海外用戶體驗。
海外用戶啟動 App 後先通過 Akamai 定製域名獲取 Server IP,所有網路服務優先走 Akamai 通道;如果 Akamai 通道的網路服務失敗並且重試機制生效時,會改走傳統 Internet 通道進行重試。相比只用傳統 Internet 通道,在保持網路服務成功率不變的情況下,使用 Akamai 通道 Bypass 技術後平均服務耗時下降了 33%。
其他網路協議探討
過去兩年我們的網路服務優化工作都是基於 TCP 協議實現的,基本達到了優化目標。不過這兩年來新的應用層網路協議 SPDY 和 HTTP/2 逐步邁入主流,基於 UDP 的 QUIC 協議看起來也非常有趣,值得跟進調研。
SPDY & HTTP/2
SPDY 是 Google 基於 TCP 開發的網路應用層協議,目前已經停止開發,轉向支持基於 SPDY 成果設計的 HTTP/2 協議,HTTP/2 協議的核心改進其實就是針對 HTTP/1.x 中影響延遲性能的痛點進行優化:
Header 壓縮:壓縮冗餘的 HTTP 請求和響應 Header。
支持 Multiplexing:支持一個 TCP 連接上同時實現多個請求和響應。
保持長連接(比 HTTP/1.x 更徹底):減少網路連接時間。
支持推送:可以由服務端主動推送數據到客戶端。
官方性能測試結果顯示使用 SPDY 或者 HTTP/2 的頁面載入時間減少 30% 左右,不過這是針對網頁的測試結果,對於 App 中的網路服務,具體優化效果我們還在進行內部測試,不過其優化手段看和目前我們使用 TCP 協議的優化手段類似,因此性能優化效果可能不會很顯著。
QUIC
QUIC 是 Google 基於 UDP 開發的應用層協議,UDP 協議無需連接,不存在重傳機制,因此應用層需要保證服務的可靠性。目前國內騰訊有針對弱網路嘗試過 QUIC 協議,我們也在進行測試,最終是否會採用還需要看測試的結果。
綜述
技術只是手段,最終還是要反映在業務效果上。我們已經實現除靜態資源等需要訪問 CDN 的網路請求外,其他 App 網路服務使用統一的 TCP 通道,從而具備更好的性能調優和業務監控能力。攜程目前基於 TCP 協議的各種 App 網路服務優化,也是各種技術方案的平衡,雖然目前 HTTP/2 等新協議逐步成熟,但是 TCP 協議自身的靈活性支持有針對性的性能優化,還是具備其特別的優勢,希望我們的實踐總結能對國內無線技術從業者有一些借鑒價值。
❸ 手機用流量上網,網速很慢,怎麼讓網速變快
若使用vivo手機,使用數據網路上網速度慢可參考以下處理方法:
1、更換至網路環境較好的位拍鏈置使用或進入手機設置--移動網路/雙卡與移動網路--接入點--更改接入點試試(避免處於封閉的室內、周圍有高大的建築、網路信號覆蓋不良等環境);
2、切換至4G網路使用;
3、建議更換其他資源下載嘗試(因下載的網路資源缺少導致);
4、建議咐神更換時間段和使用不同軟體使用數據網對比觀察。
5、是否使用了金屬保護殼或者磁吸支架?如果有使用,建議取下使用查看。
6、系統新版本提升了兼容性和穩定性,優化了性能,請您進入設置--找到系統升級,查看系統版本信息。如果不是最新版本,建議升級體驗。
7、當流量使用總量達到一定數值後,運營商可能會限制網速或限制上網。請您咨詢運營商客服,查詢流量使用總量是否達到運營商限制。
若以上方法未改善,可攜帶手機、有效購機憑證去服務中心檢測處理,關注微信公眾號「vivo」或者「vivo客戶服務」進行查詢服務中心地址電話,建議去之前襲簡孫電話聯系,確保有工作人員接待再過去,避免耽誤寶貴時間白跑一趟。
❹ OPPO手機怎麼進行網路優化
OPPO手薯蔽機的網路智能優化是默認開啟的。
由於目前運營商的要求,手機出廠狀態下都是默認使用4G網路。
OPPO手機出廠時並沒有4G網路開關,需要自行開啟。
開啟方法如下:
1、進入設置,點擊數豎州雙卡與移動網路;
2、選擇電信;
3、點擊接入點名稱;
4、點擊頁面右上纖裂角的加號;
5、點擊名稱,輸入TMTDS並保存;
6、返回頁面,點擊APN,輸入cmtds保存即可。
❺ 中國移動的網速太慢了,怎樣才能讓手機網速變快
1、重啟信號
多數情況下,即使附近的信號更強,手機也總是連接某個特定的信號塔,這也許會影響手機信號,試著重啟信號,把手機調成飛行模式三秒左右,再調回來。
2、電池充電
一直在使用手機時,手機就會耗更多的電量去固定在一個信號塔上。但出於待機模式時,手機就會更省電量,這也許是手機不能及時更新的原因。所以說,一旦懷疑自己的信息延遲發送了,解決方法就是充電這么簡單。
3、換運營商
手機信號不好,很可能因為運營商的網路不覆蓋區域,上網對比一下其他網路的覆蓋區域。如果在「移不動」的死區里,也許「連不通」在所在區域的服務會更好些,所以換個運營商就好了。
4、重啟手機
如果SIM卡支持4G網路而又開通了4G網路,這種情況下如果用戶當地的4G信號覆蓋較小,也會造成信號不穩定的現象。因此,可以嘗試關閉4G網路並重啟手機看看能否解決。
5、換SIM卡
手機使用SIM卡有大中小卡三種,這就導致了多數正常的SIM卡必須通過剪卡的方式才能使用,而在剪卡的過程中如果操作不當,或者舊卡使用時間過長、有破損也會影響手機信號。這種情況下,建議到營業廳更換正規的新的SIM卡。
(5)手機移動網路優化方法擴展閱讀:
手機常見故障檢修:
故障現象:手機信號不好,無法載入圖片
1、查看手機網路是否穩定。若網路不穩定,可能會出現顯示圖片較慢或不顯示圖片的情況。
2、查看微信中的其他圖片是否可以正常讀取,排除是否為圖片問題。
3、若使用的是自帶的瀏覽制器,登錄網頁時不顯示圖片,建議查看圖像和文本是否正常,
4、有可能是微信數據錯誤導致,進入應用程序清除數據。
5、若使用的是第三方軟體,請查看該軟體設置中是否有對圖片方面的設置。
6、更新微信軟體版本嘗試,若依然無法查看微信中的圖片,建議下載其他版本微信軟體嘗試。
❻ 5g手機網速慢怎麼解決
1、手機不支持或未放置卡槽1。
——如是移動或電信的定製手機只能登陸2G/3G網路
——用戶未將聯通卡插入附卡槽1
2、手機及號卡上網功能未打開。
號卡:開通4G上網功能(5G雙模手機需開SA服務功能);
手機:蘋果:[設置]-[蜂窩移動網路]-[蜂窩移動數據選項]-[語音與數據]-啟動4G/5G;安卓:[設定]-[移動網路]-[移動數據]-啟用4G/5G。手機終端支持SA網路服務,終端需同步打開此功能。
3、網路未覆蓋或弱。