SGNetworkTest測速是一款測速的工具,能夠幫助用戶進行速度上面的測試,隨時在你的手機上面進行相關(guān)速度的測試,軟件的界面看起來比較的高端,直接以代碼的方式來進行呈現(xiàn),目前軟件還在TestFlight上面進行測試,需要的話就快來西西下載SGNetworkTest測速!
SGNetworkTest測速
SGNetworkTest 是一款由 Surge 發(fā)布的開源網(wǎng)絡(luò)延遲測速工具,主要用來「評估 Surge 是否按預期正常工作,也可使用該工具與協(xié)議的官方客戶端進行對比,確認 Surge 對代理協(xié)議的實現(xiàn)是否達到最優(yōu)」,為測速黨提供了一個對比評測的新工具。
軟件功能
工具完全開源,代碼非常簡單,可自行編譯使用
該工具使用 NSURLSession 模擬一般應(yīng)用,并發(fā)執(zhí)行 5 個 HTTP/HTTPS 請求,使用 HEAD 方法。NSURLSession 是系統(tǒng)提供的 HTTP Client,幾乎所有 iOS App 均使用該類庫進行網(wǎng)絡(luò)請求。
測試程序內(nèi)含兩組測試服務(wù)器:中國(如 taobao.com)和全球(如 twitter.com),具體測試目標會在日志中輸出。
每次測試會進行 11 輪,第一輪作為預熱不計入結(jié)果,用于去除 DNS 查詢延遲等不確定因素。最終結(jié)果將選擇后 10 輪中最優(yōu)的 5 輪數(shù)據(jù)取平均值。(因為網(wǎng)絡(luò)肯定會存在波動導致延遲不斷變化,而由代理工具所引入的額外開銷通常是固定的,所以以這樣的方式去處理數(shù)據(jù)以減少網(wǎng)絡(luò)波動的影響)
每輪測試結(jié)束后使用 [NSURLSession invalidateAndCancel] 保證下一輪測試重新進行連接。
相關(guān)介紹
Surge 在延遲方面做了非常多的架構(gòu)和細節(jié)優(yōu)化,確保在由 Surge 進行請求轉(zhuǎn)發(fā)時盡量降低延遲損耗。通常來說,開啟 Surge 使用 Direct Outbound 模式,測試結(jié)果應(yīng)與不開啟 Surge 直接測試相差在 5ms 以內(nèi)。若使用規(guī)則模式進行測試,可能再額外產(chǎn)生個位數(shù) ms 的開銷。
該工具可用于評估 Surge 是否按預期正常工作,也可使用該工具與協(xié)議的官方客戶端進行對比,確認 Surge 對代理協(xié)議的實現(xiàn)是否達到最優(yōu)。