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