Flink:背壓梭灿,busy time和延遲之間的關系探究

1. Back Pressure(背壓)在算子層面上很好理解堡妒,背壓的出現(xiàn)代表下游的消費者的消費速度小于上游生產者的生產速度皮迟;但實際上在Flink的runtime中伏尼,每個算子由subtask組成爆阶,背壓更多是一個subtask層面的概念辨图。

提問:在Flink中back pressure的定義故河,以及和busy time這一指標的關系如何忧勿?

Subtask-level的相關metrics包括:backPressureTimeMsPerSecond,?idleTimeMsPerSecond速勇,busyTimeMsPerSecond烦磁,三者之和等于1000(ms)呕乎;具體來說猬仁,當一個task沒有可用的output buffers湿刽,就處于背壓時間诈闺,而在有output buffers的情況下雅镊,處于busy或者idle時間(flink doc)漓穿。

更具體地來說晃危,當一個subtask消費速率低于上游的生產僚饭,這個subtask的InputChannel buffer會被撐滿鳍鸵,然后上游subtask的負責轉發(fā)數(shù)據(jù)的nettyServer會收到消息击罪,停止發(fā)送數(shù)據(jù)媳禁,直到上游subtask的ResultPartition撐滿竣稽,上游的算子就被背壓了(追源索驥6.3)毫别。

這樣來說岛宦,一個subtask/算子是否背壓和他本身的處理情況沒有直接關系恋博,而是取決于下游是否有subtask的處理速度一直低于輸入速率债沮;換言之取決于下游算子的busy time疫衩。同時闷煤,如果我們想了解一個subtask的真實處理速率假褪,一個比較好的辦法是看他在(接近)滿busy time的情況下的處理速率生音。

2. 在流處理任務中缀遍,我們很難直接定義和估計一個任務的latency域醇,F(xiàn)link中的end2end-latency metrics用LatencyMarker衡量的更多是通訊和排隊的成本譬挚,而不包含和實際數(shù)據(jù)處理過程相關的延遲信息(bypass)殴瘦。

提問:在Flink中busy time和latency之間的關系如何?

對于一個subtask,我們考慮用和他相關的local buffer pool usage信息來衡量他的input隊列,從而考量lag latency晓勇。

Buffer首先是TaskManager層面的概念绑咱,TM的NetworkBufferPool工廠類管理內存片描融,然后分配給每個subtask私有的LocalBufferPool窿克;上游subtask的output buffer在邏輯上會先進入ResultPartition中的子分區(qū),然后按照一定的頻率flush給下游算子的InputChannel(追源索驥6.2)玻募。所以本質上Task之間的通訊是TM之間的通訊。

Metrics:InPoolUsage =?floatingBuffersUsage+exclusiveBuffersUsage啸蜜,衡量local buffer pools中已使用buffer的數(shù)量占比衬横,另外像*QueueLength等不被推薦使用;然而InPoolUsage只計算RemoteInputChannel噪叙,忽略了LocalInputChannel(flink doc)睁蕾。

提問:如果下游算子的某一個subtask的處理速率過低瀑凝,具體會如何影響上游算子粤咪?

回顧數(shù)據(jù)從上游到下游的過程(上游算子準備好了之后放進ResultPartition寥枝,通知job master囊拜,master通知下游算子比搭,下游算子向上游算子請求數(shù)據(jù));那么如果下游算子的某一個subtask處理速率過低,在InputChannel對應的內存空間占滿后怠苔,他將過少地向上游的所有生產者subtasks請求輸入數(shù)據(jù)柑司,從而導致這些subtask的ResultPartiton占據(jù)內存空間攒驰,導致無法有效處理輸入,進而被背壓劲室,并且將背壓向前傳遞很洋。

提問:一個subtask的背壓對(1)和他處于同一個TM上的其他subtasks喉磁,以及(2)sharing同一個slot的其他subtasks會如何產生影響线定?

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市搀缠,隨后出現(xiàn)的幾起案子艺普,更是在濱河造成了極大的恐慌歧譬,老刑警劉巖盖桥,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藐握,死亡現(xiàn)場離奇詭異猾普,居然都是意外死亡初家,警方通過查閱死者的電腦和手機溜在,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門掖肋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人志笼,你說我怎么就攤上這事⊙В” “怎么了紊浩?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵疗锐,是天一觀的道長费彼。 經(jīng)常有香客問我,道長简珠,這世上最難降的妖魔是什么虹钮? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮祭玉,結果婚禮上脱货,老公的妹妹穿的比我還像新娘律姨。我一直安慰自己,他們只是感情好择份,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布荣赶。 她就那樣靜靜地躺著,像睡著了一般拔创。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慢逾,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天灭红,我揣著相機與錄音,去河邊找鬼。 笑死疆导,一個胖子當著我的面吹牛,可吹牛的內容都是我干的悠菜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摩窃,長吁一口氣:“原來是場噩夢啊……” “哼芬骄!你這毒婦竟也來了?” 一聲冷哼從身側響起账阻,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤淘太,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后撇贺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冰抢,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年喘蟆,在試婚紗的時候發(fā)現(xiàn)自己被綠了鼓鲁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡橙弱,死狀恐怖燥狰,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情龙致,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布屈梁,位于F島的核電站,受9級特大地震影響煞抬,放射性物質發(fā)生泄漏构哺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一残拐、第九天 我趴在偏房一處隱蔽的房頂上張望旗扑。 院中可真熱鬧,春花似錦臀防、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辐益,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間智政,已是汗流浹背箱蝠。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留牙瓢,地道東北人间校。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像胁附,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汉嗽,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容