App的網(wǎng)絡(luò)環(huán)境測試和性能問題

從測試的角度,應(yīng)該建立實(shí)時(shí)監(jiān)控的web portal条摸。其實(shí)測試的目的除了保證產(chǎn)品發(fā)布的質(zhì)量悦污。更重要的是為優(yōu)化提供依據(jù)铸屉,所以report最后一部分都是issue list 和optmize advice钉蒲,當(dāng)然測試最難的部分也是優(yōu)化

移動網(wǎng)絡(luò)和傳統(tǒng)網(wǎng)絡(luò)另一個很大的區(qū)別是Connection Migration問題。定義一個Socket連接是四元組(客戶端IP彻坛,客戶端Port顷啼,服務(wù)端IP踏枣,服務(wù)端Port),當(dāng)用戶的網(wǎng)絡(luò)在WIFI/4G/3G/2G類型中切換時(shí)钙蒙,其客戶端IP會發(fā)生變化茵瀑,如果此時(shí)正在進(jìn)行網(wǎng)絡(luò)服務(wù)通訊,那么Socket連接自身已經(jīng)失效躬厌,最終也會導(dǎo)致網(wǎng)絡(luò)服務(wù)失敗马昨。

常見的網(wǎng)絡(luò)性能問題有如下幾種:

問題一:DNS問題

DNS出問題的概率其實(shí)比大家感覺的要大,首先是DNS被劫持或者失效扛施,2015年初業(yè)內(nèi)比較知名的就有Apple內(nèi)部DNS問題導(dǎo)致App Store鸿捧、iTunes Connect賬戶無法登錄;京東因?yàn)镃DN域名付費(fèi)問題導(dǎo)致服務(wù)停擺疙渣。攜程在去年11月也遇到過DNS問題匙奴,主域名被國外服務(wù)商誤列入黑名單,導(dǎo)致主站和H5等所有站點(diǎn)無法訪問妄荔,但是App客戶端的Native服務(wù)都正常泼菌,原因后面介紹。

另一個常見問題就是DNS解析慢或者失敗啦租,例如國內(nèi)中國運(yùn)營商網(wǎng)絡(luò)的DNS就很慢哗伯,一次DNS查詢的耗時(shí)甚至都能趕上一次連接的耗時(shí),尤其2G網(wǎng)絡(luò)情況下刷钢,DNS解析失敗是很常見的笋颤。因此如果直接使用DNS,對于首次網(wǎng)絡(luò)服務(wù)請求耗時(shí)和整體服務(wù)成功率都有非常大的影響内地。

問題二:TCP連接問題

DNS成功后拿到IP伴澄,便可以發(fā)起TCP連接。HTTP協(xié)議的網(wǎng)絡(luò)層也是TCP連接阱缓,因此TCP連接的成功和耗時(shí)也成為網(wǎng)絡(luò)性能的一個因素非凌。我們發(fā)現(xiàn)常見的問題有TCP端口被封(例如上海長寬對非HTTP常見端口80、8080荆针、443的封鎖)敞嗡,以及TCP連接超時(shí)時(shí)長問題。端口被封航背,直接導(dǎo)致無法連接喉悴;連接超時(shí)時(shí)長過短,在低速網(wǎng)絡(luò)上可能總是無法連接成果玖媚;連接超時(shí)過長箕肃,又有可能導(dǎo)致用戶長時(shí)間等待,用戶體驗(yàn)差今魔。很多時(shí)候盡快失敗重新發(fā)起一次連接會很快勺像,這也是移動網(wǎng)絡(luò)帶寬不穩(wěn)定情況下的一個常見情況障贸。

問題三:Write/Read問題

DNS Lookup和TCP連接成功后,就會開始發(fā)送Request吟宦,服務(wù)端處理后返回Response篮洁,如果是HTTP連接,業(yè)內(nèi)大部分App是使用第三方SDK或者系統(tǒng)提供的API來實(shí)現(xiàn)殃姓,那么只能設(shè)置些緩存策略和超時(shí)時(shí)間袁波。iOS上的NSURLConnection超時(shí)時(shí)間在不同版本上還有不同的定義,很多時(shí)候需要自己設(shè)置Timer來實(shí)現(xiàn)蜗侈;如果是直接使用TCP連接實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)锋叨,就要自己對讀寫超時(shí)時(shí)間負(fù)責(zé),與網(wǎng)絡(luò)連接超時(shí)時(shí)長參數(shù)類似宛篇,太小了在低速網(wǎng)絡(luò)很容易讀寫失敗娃磺,太大了又可能影響用戶體驗(yàn),因此需要非常小心地處理叫倍。

我們還遇到另一類問題偷卧,某些酒店Wi-Fi對使用非80、8080和443等常見HTTP端口的服務(wù)進(jìn)行了限制吆倦,即使發(fā)送Request是正常的听诸,服務(wù)端能夠正常收到,但是Response卻被酒店網(wǎng)絡(luò)proxy或防火墻攔截蚕泽,客戶端最終會等待讀取超時(shí)晌梨。

問題四:傳輸Payload過大

傳的多就傳的慢,如果沒做過特別優(yōu)化须妻,傳輸Payload可能會比實(shí)際所需要的大很多仔蝌,那么對于整體網(wǎng)絡(luò)服務(wù)耗時(shí)影響非常大。

問題五:復(fù)雜的國內(nèi)外網(wǎng)絡(luò)情況

國內(nèi)運(yùn)營商互聯(lián)和海外訪問國內(nèi)帶寬低傳輸慢的問題也令人難非常頭疼荒吏。

TestBird

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末敛惊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绰更,更是在濱河造成了極大的恐慌瞧挤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儡湾,死亡現(xiàn)場離奇詭異特恬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)徐钠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門癌刽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事妒穴。” “怎么了摊崭?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵讼油,是天一觀的道長。 經(jīng)常有香客問我呢簸,道長矮台,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任根时,我火速辦了婚禮瘦赫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛤迎。我一直安慰自己确虱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布替裆。 她就那樣靜靜地躺著校辩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辆童。 梳的紋絲不亂的頭發(fā)上宜咒,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音把鉴,去河邊找鬼故黑。 笑死,一個胖子當(dāng)著我的面吹牛庭砍,可吹牛的內(nèi)容都是我干的场晶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼怠缸,長吁一口氣:“原來是場噩夢啊……” “哼峰搪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凯旭,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤概耻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后罐呼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞠柄,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年嫉柴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厌杜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夯尽,靈堂內(nèi)的尸體忽然破棺而出瞧壮,到底是詐尸還是另有隱情,我是刑警寧澤匙握,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布咆槽,位于F島的核電站,受9級特大地震影響圈纺,放射性物質(zhì)發(fā)生泄漏秦忿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一蛾娶、第九天 我趴在偏房一處隱蔽的房頂上張望灯谣。 院中可真熱鬧,春花似錦蛔琅、人聲如沸胎许。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呐萨。三九已至,卻和暖如春莽囤,著一層夾襖步出監(jiān)牢的瞬間谬擦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工朽缎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惨远,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓话肖,卻偏偏與公主長得像北秽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子最筒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 18.1 引言 TCP是一個面向連接的協(xié)議贺氓。無論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接床蜘。本章將...
    張芳濤閱讀 3,383評論 0 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理辙培,服務(wù)發(fā)現(xiàn),斷路器邢锯,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 個人認(rèn)為扬蕊,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評論 0 8
  • 他打了一場敗仗 今日晌午 詩人潰逃時(shí)還緊握他的筆 想它像槍桿一般 橫掃敵方萬馬千軍 山巒推他出懷抱 送他顛沛流離的...
    柏舟何往閱讀 249評論 1 0
  • 回首2016年丹擎,想說心酸尾抑,可又不知道為什么心酸呢歇父?想說失敗,可還是不知道錯在哪兒再愈?想說憋屈榜苫,這是真憋屈,實(shí)...
    培培de小事閱讀 308評論 2 0