www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號(hào)精選 > CPP開發(fā)者
[導(dǎo)讀]在后端接口性能指標(biāo)中一類重要的指標(biāo)就是接口耗時(shí)。具體包括平均響應(yīng)時(shí)間TP90、TP99耗時(shí)值等。這些值越低越好,一般來說是幾毫秒,或者是幾十毫秒。如果響應(yīng)時(shí)間一旦過長(zhǎng),比如超過了1秒,在用戶側(cè)就能感覺到非常明顯的卡頓。如果長(zhǎng)此以往,用戶可能就直接用腳投票,卸載我們的App了。在正...


在后端接口性能指標(biāo)中一類重要的指標(biāo)就是接口耗時(shí)。具體包括平均響應(yīng)時(shí)間 TP90、TP99 耗時(shí)值等。這些值越低越好,一般來說是幾毫秒,或者是幾十毫秒。如果響應(yīng)時(shí)間一旦過長(zhǎng),比如超過了 1 秒,在用戶側(cè)就能感覺到非常明顯的卡頓。如果長(zhǎng)此以往,用戶可能就直接用腳投票,卸載我們的 App 了。

在正常情況下一次 TCP 連接耗時(shí)也就大約是一次 RTT 多一點(diǎn)。但事情不一定總是這么美好,總會(huì)有意外發(fā)生。在某些情況下,可能會(huì)導(dǎo)致連接耗時(shí)上漲、CPU 處理開銷增加、甚至是超時(shí)失敗。

今天飛哥就來說一下我在線上遇到過的那些 TCP 握手相關(guān)的各種異常情況。

一、客戶端 connect 異常

端口號(hào)和 CPU 消耗這二者聽起來感覺沒啥太大聯(lián)系。但我卻遭遇過因?yàn)槎丝谔?hào)不足導(dǎo)致 CPU 消耗大幅上漲的情況。來聽飛哥分析分析為啥會(huì)出現(xiàn)這種問題!

客戶端在發(fā)起 connect 系統(tǒng)調(diào)用的時(shí)候,主要工作就是端口選擇(參見TCP連接中客戶端的端口號(hào)是如何確定的?)。

在選擇的過程中,有個(gè)大循環(huán),從 ip_local_port_range 的一個(gè)隨機(jī)位置開始把這個(gè)范圍遍歷一遍,找到可用端口則退出循環(huán)。如果端口很充足,那么循環(huán)只需要執(zhí)行少數(shù)幾次就可以退出。但假設(shè)說端口消耗掉很多已經(jīng)不充足,或者干脆就沒有可用的了。那么這個(gè)循環(huán)就得執(zhí)行很多遍。我們來看下詳細(xì)的代碼。

//file:net/ipv4/inet_hashtables.c
int?__inet_hash_connect(...)
{
?inet_get_local_port_range(
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉