亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

分布式計(jì)算框架優(yōu)化實(shí)戰(zhàn):從瓶頸定位到數(shù)據(jù)傾斜調(diào)優(yōu)

分布式計(jì)算框架優(yōu)化實(shí)戰(zhàn):從瓶頸定位到數(shù)據(jù)傾斜調(diào)優(yōu) 1. 別急著調(diào)參先把瓶頸層次分清1.1 任務(wù)變慢首先要回答“慢在哪一層”做分布式計(jì)算框架優(yōu)化這幾年我見過一個(gè)非常普遍的現(xiàn)象任務(wù)一慢大家第一反應(yīng)就是調(diào)并行度、加內(nèi)存、改超時(shí)時(shí)間。結(jié)果參數(shù)改了一圈任務(wù)還是那個(gè)鳥樣甚至更慢了。分布式計(jì)算框架優(yōu)化這件事難點(diǎn)從來不在“調(diào)參數(shù)”本身而在于你怎么定位問題。一個(gè)跑得慢的分布式任務(wù)可能慢在四個(gè)完全不同的地方調(diào)度層、計(jì)算層、數(shù)據(jù)讀寫層、網(wǎng)絡(luò)傳輸層。不同層次的瓶頸對(duì)應(yīng)的優(yōu)化手段是完全不同甚至互相矛盾的。比如你盲目提高并行度如果是數(shù)據(jù)傾斜導(dǎo)致的慢任務(wù)數(shù)量越多長尾反而越明顯如果是小文件過多導(dǎo)致的慢并行度提上去之后文件碎片化只會(huì)更嚴(yán)重。所以我現(xiàn)在的習(xí)慣是先回答三個(gè)問題再動(dòng)手。第一任務(wù)慢是整個(gè)作業(yè)都慢還是只有某個(gè)階段慢如果整個(gè)作業(yè)都慢多半是資源總量不夠或者調(diào)度策略有問題如果只有特定階段慢那個(gè)階段內(nèi)部一定有異常。第二慢的階段是CPU密集、內(nèi)存密集還是網(wǎng)絡(luò)和磁盤密集這三個(gè)方向的優(yōu)化動(dòng)作完全不一樣。CPU密集要考慮簡(jiǎn)化計(jì)算邏輯、壓縮數(shù)據(jù)量內(nèi)存密集要查對(duì)象大小和GC情況網(wǎng)絡(luò)磁盤密集要重點(diǎn)看Shuffle讀寫量和數(shù)據(jù)本地性。第三任務(wù)運(yùn)行過程中有多少執(zhí)行單元是真正在干活的很多分布式任務(wù)出現(xiàn)性能問題的時(shí)候你會(huì)發(fā)現(xiàn)大量執(zhí)行單元處于空閑等待狀態(tài)只有少數(shù)幾個(gè)在拼命跑。這時(shí)候你再怎么加資源都沒有意義因?yàn)閱栴}不在資源總量而在數(shù)據(jù)分布。1.2 用一條流水線理解分布式作業(yè)的性能結(jié)構(gòu)我習(xí)慣把分布式計(jì)算框架比作一條多工位流水線數(shù)據(jù)是流水線上的物料每個(gè)執(zhí)行任務(wù)是一個(gè)工位框架的調(diào)度器就是工廠的排產(chǎn)系統(tǒng)。物料從上游流向下游經(jīng)過每個(gè)工位的處理最終產(chǎn)出結(jié)果。流水線有一個(gè)很直白的規(guī)律整條線的產(chǎn)出速度不由最快的工位決定而由最慢的工位決定。分布式計(jì)算框架里的“最慢工位”通常表現(xiàn)為兩類。一類是的確有個(gè)別工位處理的數(shù)據(jù)量特別大這就是數(shù)據(jù)傾斜另一類是工位本身不缺活干但物料傳輸太慢工位一直在空等數(shù)據(jù)這類問題常見于網(wǎng)絡(luò)擁塞、本地性差、序列化開銷高的場(chǎng)景。在動(dòng)手之前建議先打開框架自帶的執(zhí)行歷史頁面把每個(gè)階段的耗時(shí)分布圖看一遍。不管是什么框架只要是類MapReduce模型都會(huì)有類似的階段耗時(shí)視圖。你要找的是那些“尾巴”特別長的階段大部分任務(wù)幾秒鐘就跑完了但某個(gè)階段里有幾個(gè)任務(wù)跑了十幾分鐘甚至更長。這種長尾形態(tài)是最重要的線索??吹介L尾先別急著調(diào)參繼續(xù)往下定位大概率能發(fā)現(xiàn)問題本質(zhì)。2. 調(diào)度層優(yōu)化并行度、動(dòng)態(tài)分配與數(shù)據(jù)本地性2.1 并行度不是越大越好它有一個(gè)合理區(qū)間并行度是分布式計(jì)算框架里最常見的調(diào)整項(xiàng)但也是被誤解最多的一個(gè)參數(shù)。很多人認(rèn)為并行度開得越大任務(wù)跑得越快實(shí)際上并行度只是決定了任務(wù)被切成多少份來并行處理真正決定處理速度的是你有多少可用的CPU核心和內(nèi)存。最合理的并行度區(qū)間大致是集群可用CPU核心數(shù)的2到3倍。為什么不是1倍因?yàn)榉植际饺蝿?wù)的執(zhí)行階段之間有小幅波動(dòng)有的任務(wù)快有的任務(wù)慢留出一些余量可以讓執(zhí)行單元忙起來之后仍然有新任務(wù)可領(lǐng)。超過3倍之后收益就開始不明顯了反而會(huì)引入額外的調(diào)度開銷、序列化開銷和上下文切換開銷。反過來如果并行度小于核心數(shù)那么有大量CPU資源會(huì)被浪費(fèi)。舉個(gè)例子一個(gè)集群有32個(gè)執(zhí)行單元每個(gè)執(zhí)行單元2個(gè)核心那么可用核心數(shù)大約是64個(gè)并行度建議設(shè)定在128到192之間。我之前排查過一個(gè)任務(wù)并行度被人從200改成了2000結(jié)果單階段創(chuàng)建了兩千個(gè)小分區(qū)每個(gè)分區(qū)只裝了幾百條數(shù)據(jù)。執(zhí)行完一看絕大多數(shù)時(shí)間都花在任務(wù)的調(diào)度和元數(shù)據(jù)管理上真正計(jì)算的時(shí)間反而沒多少。把并行度調(diào)回256之后時(shí)間立刻降了一半還不止。并行度還有一個(gè)隱性作用它會(huì)影響Shuffle時(shí)生成的文件數(shù)量。并行度越高每個(gè)上游任務(wù)產(chǎn)生的輸出分區(qū)越多下游要拉取的數(shù)據(jù)塊就越碎。文件一多NameNode層面壓力大下游任務(wù)拉數(shù)據(jù)的次數(shù)也多。所以調(diào)整并行度的時(shí)候一定要同時(shí)關(guān)注Shuffle讀寫量和文件數(shù)量別只看任務(wù)跑完的時(shí)間。2.2 動(dòng)態(tài)資源分配什么時(shí)候開什么時(shí)候關(guān)動(dòng)態(tài)資源分配是一個(gè)很實(shí)用的調(diào)度層優(yōu)化手段。簡(jiǎn)單說就是框架根據(jù)當(dāng)前任務(wù)積壓情況動(dòng)態(tài)地向資源管理器申請(qǐng)或釋放執(zhí)行單元。任務(wù)多的時(shí)候就多申請(qǐng)幾個(gè)執(zhí)行單元任務(wù)少了就自動(dòng)回收避免資源閑著浪費(fèi)、忙時(shí)又不能用的尷尬局面。什么場(chǎng)景適合開動(dòng)態(tài)分配最典型的是混合負(fù)載的場(chǎng)景不同團(tuán)隊(duì)提交不同類型的作業(yè)作業(yè)到達(dá)時(shí)間不均勻有的凌晨跑批有的白天跑交互式查詢。這種場(chǎng)景下固定分配資源要么浪費(fèi)要么不夠用動(dòng)態(tài)分配能讓集群整體利用率上去不少。什么場(chǎng)景不適合開如果你的任務(wù)是分鐘級(jí)甚至秒級(jí)的短任務(wù)那動(dòng)態(tài)分配的收益就很小。因?yàn)槊總€(gè)任務(wù)的執(zhí)行時(shí)間本身就不長動(dòng)態(tài)申請(qǐng)資源也要花時(shí)間申請(qǐng)過程中任務(wù)可能已經(jīng)跑完了大半這反而拖慢了整體進(jìn)度。還有一種情況是任務(wù)本身對(duì)穩(wěn)定性要求極高比如核心鏈路的準(zhǔn)實(shí)時(shí)計(jì)算這種任務(wù)更推薦固定資源池保證資源隨時(shí)可用而不是和別的作業(yè)搶資源。如果決定開啟動(dòng)態(tài)分配有幾個(gè)參數(shù)值得注意。一個(gè)是執(zhí)行單元空閑回收的超時(shí)時(shí)間默認(rèn)值通常偏保守適合長任務(wù)如果你跑的是半小時(shí)以內(nèi)的短任務(wù)建議把回收時(shí)間調(diào)短一些讓資源能更快流轉(zhuǎn)給其他作業(yè)。另一個(gè)是同時(shí)運(yùn)行任務(wù)的并行度上限建議保留一個(gè)合理上限防止極端情況下資源被某個(gè)任務(wù)無限制地吞掉影響其他核心作業(yè)。2.3 數(shù)據(jù)本地性調(diào)度器最容易被忽視的一條規(guī)則調(diào)度器在給任務(wù)分配執(zhí)行單元的時(shí)候會(huì)盡量讓計(jì)算發(fā)生在數(shù)據(jù)所在的節(jié)點(diǎn)上。這樣任務(wù)可以直接讀取本機(jī)磁盤上的數(shù)據(jù)塊不用走網(wǎng)絡(luò)。數(shù)據(jù)本地性從好到差依次有四個(gè)級(jí)別進(jìn)程內(nèi)本地、節(jié)點(diǎn)內(nèi)本地、機(jī)架內(nèi)本地和跨機(jī)架讀取。級(jí)別每降一級(jí)網(wǎng)絡(luò)傳輸?shù)拈_銷就上一個(gè)臺(tái)階。在實(shí)踐里最容易出問題的不是本地性本身而是本地性“退化”。什么是退化本來任務(wù)應(yīng)該在本節(jié)點(diǎn)執(zhí)行但由于本節(jié)點(diǎn)的執(zhí)行單元不夠、節(jié)點(diǎn)負(fù)載過高、或者節(jié)點(diǎn)出了故障調(diào)度器等了一段時(shí)間之后發(fā)現(xiàn)本地執(zhí)行不了就會(huì)退而求其次把任務(wù)調(diào)度到別的節(jié)點(diǎn)上去讀遠(yuǎn)程數(shù)據(jù)。任務(wù)雖然跑起來了但代價(jià)是大量網(wǎng)絡(luò)IO。如何判斷本地性是否退化看執(zhí)行歷史里的本地性級(jí)別統(tǒng)計(jì)如果任務(wù)大量跑在“任意節(jié)點(diǎn)”級(jí)別而很少跑在“節(jié)點(diǎn)內(nèi)”級(jí)別那就要注意了。常見的修復(fù)方向有幾個(gè)檢查節(jié)點(diǎn)是否頻繁宕機(jī)或重啟、避免執(zhí)行單元數(shù)量被其他任務(wù)擠占、盡量讓任務(wù)隊(duì)列長度短一些。還有一個(gè)非常容易被忽略的原因數(shù)據(jù)文件放在外部存儲(chǔ)上每次讀取都要走網(wǎng)絡(luò)這時(shí)候本地性級(jí)別天然就不高優(yōu)化方向應(yīng)該是把熱數(shù)據(jù)預(yù)熱到本地緩存或者調(diào)整存儲(chǔ)掛載方式。3. 數(shù)據(jù)傾斜與Shuffle重分布默認(rèn)分區(qū)方案往往就是瓶頸3.1 從長尾任務(wù)到傾斜判定三步完成數(shù)據(jù)傾斜是分布式計(jì)算框架里最經(jīng)典也最讓人頭疼的問題。它的本質(zhì)是數(shù)據(jù)在分區(qū)之間分布不均勻某個(gè)分區(qū)處理的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于其他分區(qū)。判定數(shù)據(jù)傾斜我一般分三步。第一步看耗時(shí)分布。打開執(zhí)行歷史如果某個(gè)階段的大部分任務(wù)都在一分鐘內(nèi)跑完但有少量任務(wù)跑了十分鐘以上而且這類任務(wù)的耗時(shí)是正常任務(wù)的三五倍起步基本可以鎖定傾斜嫌疑。第二步看每個(gè)任務(wù)讀取的記錄數(shù)。不用精確到條數(shù)看大體的量級(jí)就行。正常情況下各個(gè)任務(wù)讀取的數(shù)據(jù)量應(yīng)該在差不多的量級(jí)如果個(gè)別任務(wù)讀取的數(shù)據(jù)量是其他任務(wù)的幾十倍那傾斜幾乎是可以確定的。第三步看GC和內(nèi)存表現(xiàn)。傾斜任務(wù)通常會(huì)因?yàn)樘幚頂?shù)據(jù)量過大出現(xiàn)頻繁的垃圾回收甚至直接內(nèi)存溢出。GC日志里面如果看到長暫停頻繁出現(xiàn)而其他任務(wù)沒有這個(gè)現(xiàn)象那基本可以實(shí)錘了。數(shù)據(jù)傾斜最常見的高發(fā)場(chǎng)景有兩個(gè)。一個(gè)是寬表關(guān)聯(lián)關(guān)聯(lián)鍵集中在少數(shù)幾個(gè)熱門值上比如一個(gè)訂單系統(tǒng)里某個(gè)大客戶貢獻(xiàn)了全站一半以上的訂單量按客戶ID關(guān)聯(lián)時(shí)這個(gè)客戶對(duì)應(yīng)的分區(qū)就會(huì)被打爆。另一個(gè)是分組聚合比如按城市維度做統(tǒng)計(jì)一線城市的數(shù)據(jù)量可能是四五線城市的幾十倍導(dǎo)致聚合任務(wù)嚴(yán)重不均。3.2 加鹽和廣播兩種最常用的處理手段處理傾斜沒有萬能方案要根據(jù)操作類型選擇手段。我做得最多的兩組組合是聚合場(chǎng)景用“加鹽兩階段聚合”關(guān)聯(lián)場(chǎng)景用“小表廣播”。加鹽的思路其實(shí)很樸素既然某個(gè)鍵的數(shù)據(jù)太多那就把這個(gè)鍵拆散。第一階段在鍵上附加一個(gè)隨機(jī)后綴把原鍵拆成多個(gè)子鍵這樣原本一個(gè)分區(qū)承受的壓力就被分散到多個(gè)分區(qū)上第一階段在子鍵層面上做局部聚合然后第二階段去掉后綴再對(duì)原始鍵做一次最終聚合。這里有個(gè)細(xì)節(jié)加鹽的核心是隨機(jī)后綴的基數(shù)基數(shù)太小起不到拆分效果基數(shù)太大又會(huì)在第二階段聚合時(shí)引入額外開銷。比較穩(wěn)妥的做法是結(jié)合集群核心數(shù)來設(shè)一般取核心數(shù)的1到2倍不要讓第一階段產(chǎn)生太多臨時(shí)分區(qū)。還有一個(gè)限制條件需要特別留意如果業(yè)務(wù)要求精確結(jié)果而且計(jì)算里有去重、排序這類不能被兩階段拆解的操作那加鹽方案就不合適了只能退而求其次把熱點(diǎn)鍵單獨(dú)抽出來處理其余鍵走正常流程。廣播適用于關(guān)聯(lián)場(chǎng)景邏輯也很直白如果一張表很小比如幾MB到幾十MB那就把它廣播到每個(gè)執(zhí)行單元上去每個(gè)任務(wù)都在本地內(nèi)存里維護(hù)這張表的查找結(jié)構(gòu)關(guān)聯(lián)的時(shí)候直接查內(nèi)存完全不需要走Shuffle。這個(gè)方案對(duì)分布式框架優(yōu)化的收益非常大因?yàn)樗苯訌臋C(jī)制上消滅了關(guān)聯(lián)操作里的網(wǎng)絡(luò)傳輸。但廣播也有邊界條件。首先小表大小必須可控一般控制在幾十MB以內(nèi)太大的表廣播一次就要占滿執(zhí)行單元內(nèi)存。其次要確認(rèn)小表的內(nèi)容相對(duì)穩(wěn)定如果關(guān)聯(lián)鍵經(jīng)常變化、小表頻繁更新廣播的成本就會(huì)升高。我在實(shí)際項(xiàng)目中見過有人把一張幾百M(fèi)B的維表強(qiáng)行廣播結(jié)果每個(gè)執(zhí)行單元多吃了兩百多MB內(nèi)存整個(gè)集群的GC時(shí)間直線上升反而比Shuffle Join還慢。3.3 Shuffle相關(guān)配置排序、壓縮和緩沖區(qū)的取舍Shuffle是分布式計(jì)算框架中成本最高的環(huán)節(jié)之一因?yàn)樗殡S大量磁盤讀寫和網(wǎng)絡(luò)傳輸。圍繞Shuffle的優(yōu)化本質(zhì)上就是在四個(gè)開銷之間做平衡CPU壓縮開銷、磁盤IO開銷、網(wǎng)絡(luò)傳輸開銷和內(nèi)存緩沖開銷。先說分區(qū)數(shù)。Shuffle的分區(qū)數(shù)決定了下游讀取數(shù)據(jù)時(shí)的并行度也決定了生成文件的數(shù)量。一個(gè)常見的錯(cuò)誤是Shuffle分區(qū)數(shù)設(shè)置得過大產(chǎn)生大量幾KB甚至幾百字節(jié)的小文件。這些小文件的元數(shù)據(jù)開銷比數(shù)據(jù)本身還大。比較穩(wěn)妥的做法是讓Shuffle后每個(gè)分區(qū)的數(shù)據(jù)量控制在50MB到200MB之間。如果一群小文件鋪面而來優(yōu)先考慮重分區(qū)合并或者調(diào)小分區(qū)數(shù)。再說壓縮。Shuffle數(shù)據(jù)寫入磁盤和網(wǎng)絡(luò)傳輸時(shí)默認(rèn)會(huì)做壓縮。壓縮能減少磁盤占用和網(wǎng)絡(luò)傳輸量但代價(jià)是CPU開銷。如果你的集群CPU很緊張而磁盤和網(wǎng)絡(luò)相對(duì)寬裕可以考慮關(guān)閉壓縮或者換更輕量的壓縮算法反過來如果磁盤帶寬或網(wǎng)絡(luò)帶寬是瓶頸那就開更高壓縮比的算法。這個(gè)選擇沒有絕對(duì)標(biāo)準(zhǔn)完全取決于你的集群到底缺什么資源。我見過一個(gè)任務(wù)開啟高壓縮比后網(wǎng)絡(luò)傳輸量降了70%但CPU使用率漲了快一倍最終任務(wù)時(shí)間幾乎沒變。所以在壓縮這件事上一定要實(shí)測(cè)之后再?zèng)Q定。還有緩沖區(qū)。Shuffle讀寫過程中數(shù)據(jù)會(huì)經(jīng)過內(nèi)存緩沖區(qū)。緩沖區(qū)太小數(shù)據(jù)就要頻繁刷盤磁盤IO次數(shù)激增緩沖區(qū)太大會(huì)擠占執(zhí)行單元堆內(nèi)存誘發(fā)GC壓力。比較合理的做法是給Shuffle緩沖區(qū)一個(gè)適中的默認(rèn)值然后重點(diǎn)觀察GC耗時(shí)和磁盤IO等待時(shí)間??吹紾C耗時(shí)占比過高就調(diào)小緩沖區(qū)或增加執(zhí)行單元內(nèi)存看到磁盤等待時(shí)間居高不下就適當(dāng)調(diào)大緩沖區(qū)。4. 序列化、緩存與算子鏈從傳輸和存儲(chǔ)里摳時(shí)間4.1 序列化器的選擇直接影響CPU和網(wǎng)絡(luò)占用分布式計(jì)算里數(shù)據(jù)經(jīng)常要在任務(wù)之間傳輸、在磁盤和內(nèi)存之間讀寫。每一次傳輸和落盤都要經(jīng)過序列化和反序列化。序列化器的好壞直接決定了兩件事一是傳輸數(shù)據(jù)體積的大小二是CPU消耗的多少。Java內(nèi)置的序列化機(jī)制雖然用起來方便但效果很差。它序列化出來的對(duì)象體積往往是緊湊二進(jìn)制的3到10倍而且序列化過程本身CPU開銷也很大。對(duì)分布式計(jì)算框架來說默認(rèn)的Java序列化幾乎算得上性能毒藥。換成高性能序列化框架之后效果通常立竿見影。具體做法一般就是注冊(cè)類、啟用相關(guān)配置、把序列化器指定為緊湊二進(jìn)制類型。有幾點(diǎn)要注意第一類注冊(cè)后如果類的字段結(jié)構(gòu)發(fā)生變化舊數(shù)據(jù)可能反序列化失敗所以升級(jí)類的時(shí)候要謹(jǐn)慎第二不要對(duì)無意義的類型啟用序列化保持對(duì)接類的規(guī)模穩(wěn)定第三泛型類型需要注冊(cè)為對(duì)應(yīng)的具體類型否則框架會(huì)回退到性能很差的Java默認(rèn)實(shí)現(xiàn)。有人會(huì)問序列化器優(yōu)化的收益能有多大我做一個(gè)實(shí)際的項(xiàng)目時(shí)曾把一個(gè)每天處理上億條數(shù)據(jù)的統(tǒng)計(jì)任務(wù)遷移到高性能序列化結(jié)果Shuffle數(shù)據(jù)量從800GB降到了190GB任務(wù)整體時(shí)間縮短了將近30%。這個(gè)提升完全不需要?jiǎng)訕I(yè)務(wù)邏輯只是換了一下序列化方式。4.2 緩存級(jí)別不是越強(qiáng)越好關(guān)鍵看數(shù)據(jù)復(fù)用度很多框架都支持對(duì)中間計(jì)算結(jié)果做緩存把數(shù)據(jù)駐留在內(nèi)存中后續(xù)階段直接復(fù)用。緩存是雙刃劍用得好少計(jì)算一次甚至少讀寫一輪磁盤用不好白占內(nèi)存不說還會(huì)頻繁觸發(fā)GC把其他正常計(jì)算拖下水。我先說什么時(shí)候該緩存。最典型的是迭代式計(jì)算任務(wù)比如多次迭代直到收斂的算法中間結(jié)果在每一輪迭代里都會(huì)被反復(fù)讀取這種情況下緩存收益極大。另一種場(chǎng)景是同一份數(shù)據(jù)集被多個(gè)下游任務(wù)復(fù)用比如一份基礎(chǔ)統(tǒng)計(jì)數(shù)據(jù)被三個(gè)報(bào)表任務(wù)共同使用那這份數(shù)據(jù)緩存一次三個(gè)任務(wù)都能受益。什么時(shí)候不該緩存數(shù)據(jù)只被計(jì)算一次、后續(xù)再也不會(huì)被使用的場(chǎng)景緩存純屬浪費(fèi)。很多新手犯的毛病是不分青紅皂白把所有中間結(jié)果都標(biāo)記成緩存結(jié)果緩存堆積執(zhí)行單元內(nèi)存被塞滿框架頻繁把緩存溢寫到磁盤任務(wù)到最后不比原來快反而多了大量磁盤IO和GC停頓。緩存級(jí)別的選擇也很有講究。純內(nèi)存緩存訪問最快但有一定丟失風(fēng)險(xiǎn)執(zhí)行單元崩潰后緩存數(shù)據(jù)需要重新計(jì)算內(nèi)存加磁盤備用的方式穩(wěn)妥一些但讀取時(shí)可能涉及到磁盤IO。我對(duì)緩存級(jí)別的建議是默認(rèn)優(yōu)先純內(nèi)存追求穩(wěn)定性再考慮磁盤備份版本如果有多個(gè)執(zhí)行單元要共享大體積緩存直接不緩存或者讓它按需重復(fù)計(jì)算因?yàn)榇篌w積緩存會(huì)占滿執(zhí)行單元大部分內(nèi)存空間拖垮整體并發(fā)能力。4.3 算子鏈與執(zhí)行計(jì)劃裁剪盡量少制造寬依賴分布式計(jì)算框架在執(zhí)行任務(wù)前會(huì)把用戶寫的一系列操作解析成一個(gè)計(jì)算圖。這個(gè)計(jì)算圖里有一條非常關(guān)鍵的判斷標(biāo)準(zhǔn)相鄰算子之間是窄依賴還是寬依賴。窄依賴指的是每個(gè)父分區(qū)只對(duì)應(yīng)一個(gè)子分區(qū)這種依賴可以在同一個(gè)執(zhí)行單元內(nèi)部直接串聯(lián)不需要移動(dòng)數(shù)據(jù)。寬依賴指的是一個(gè)父分區(qū)被多個(gè)子分區(qū)引用或者子分區(qū)需要從多個(gè)父分區(qū)拉數(shù)據(jù)這種依賴會(huì)引入Shuffle也就是重新分區(qū)和網(wǎng)絡(luò)傳輸。寬依賴的代價(jià)比窄依賴高出幾個(gè)數(shù)量級(jí)。所以優(yōu)化計(jì)算圖的核心思路就是盡可能減少寬依賴同時(shí)讓窄依賴算子盡量合并執(zhí)行。舉一個(gè)非常典型的例子。統(tǒng)計(jì)某張用戶表里最近七天內(nèi)活躍用戶的總量有人會(huì)把所有需要的數(shù)據(jù)全部讀出來然后做一次全量過濾再進(jìn)行嚴(yán)格關(guān)聯(lián)操作最后聚合。但更合理的順序是先做過濾再做關(guān)聯(lián)最后聚合。過濾這一步能極大減少后面節(jié)點(diǎn)的數(shù)據(jù)量。雖然這個(gè)順序看起來就是代碼里幾個(gè)操作的前后挪動(dòng)但實(shí)際執(zhí)行計(jì)劃的差別非常大。過濾提前Shuffle的數(shù)據(jù)量可能減少一個(gè)數(shù)量級(jí)任務(wù)耗時(shí)也會(huì)成倍下降。另一個(gè)常見優(yōu)化是把小數(shù)據(jù)集的多種處理合并到一起減少中間結(jié)果的落盤次數(shù)。比如對(duì)同一個(gè)維度表做多次轉(zhuǎn)換這些操作如果在同一個(gè)執(zhí)行階段內(nèi)完成就能避免多輪讀寫。暗含的一個(gè)原則是對(duì)數(shù)據(jù)流的每一步操作都要問一句“這步操作是否讓數(shù)據(jù)量變大了還是變小了”。盡量讓數(shù)據(jù)量大的計(jì)算往后排讓過濾、裁剪、字段精簡(jiǎn)這些縮小數(shù)據(jù)量的操作盡可能前置。5. 用監(jiān)控和復(fù)盤代替直覺一次長尾任務(wù)的完整定位記錄5.1 必看的監(jiān)控指標(biāo)清單調(diào)優(yōu)如果沒有數(shù)據(jù)支撐就和閉著眼睛開車差不多。做分布式計(jì)算框架優(yōu)化至少要看這些指標(biāo)我把它們整理成了我日常工作里必備的檢查清單指標(biāo)維度具體指標(biāo)正常表現(xiàn)異常信號(hào)作業(yè)總體總運(yùn)行時(shí)長、等待調(diào)度時(shí)長等待時(shí)長占比不超過總時(shí)長10%長時(shí)間處于等待資源狀態(tài)階段耗時(shí)每個(gè)階段的耗時(shí)分布各任務(wù)耗時(shí)差距在3倍以內(nèi)長尾明顯個(gè)別任務(wù)遠(yuǎn)超中位數(shù)計(jì)算資源執(zhí)行單元數(shù)量、CPU使用率CPU使用率整體平穩(wěn)大量執(zhí)行單元空閑或長時(shí)間滿載內(nèi)存GCGC次數(shù)、GC時(shí)長、堆內(nèi)存占用GC時(shí)間占比低于5%GC時(shí)間占比高老年代頻繁回收ShuffleShuffle寫數(shù)據(jù)量、讀數(shù)據(jù)量、文件數(shù)數(shù)據(jù)量符合預(yù)期且波動(dòng)不大某個(gè)階段讀寫量異常高小文件數(shù)量激增數(shù)據(jù)分布輸入數(shù)據(jù)量、分區(qū)大小分布各分區(qū)數(shù)據(jù)量大致均勻少量分區(qū)數(shù)據(jù)量遠(yuǎn)超均值這套指標(biāo)配合框架自帶的執(zhí)行歷史頁面來看效率非常高。執(zhí)行歷史頁面能看到每個(gè)階段的耗時(shí)、每條任務(wù)讀取的數(shù)據(jù)量、GC時(shí)間、Shuffle大小等信息基本覆蓋了上表的大部分指標(biāo)。我拿到一個(gè)慢任務(wù)第一步就是打開頁面截圖然后按這張表的順序逐項(xiàng)排查。5.2 一次長尾調(diào)優(yōu)的完整排查鏈路有一次我負(fù)責(zé)的一套離線統(tǒng)計(jì)作業(yè)里有一條報(bào)表任務(wù)最近跑得越來越慢從之前的大概18分鐘漲到了43分鐘。我打開執(zhí)行歷史頁面第一眼看到的是階段列表里某個(gè)關(guān)聯(lián)階段占了總耗時(shí)的近八成。再看這個(gè)階段的詳細(xì)列表一共101個(gè)并行任務(wù)其中99個(gè)任務(wù)都在兩分鐘內(nèi)跑完了剩下兩個(gè)任務(wù)一個(gè)跑了29分鐘一個(gè)跑了32分鐘。這個(gè)長尾形態(tài)非常典型不是整個(gè)階段都慢而是極少數(shù)任務(wù)拖住了整個(gè)階段。我隨后查看了這兩個(gè)任務(wù)各自處理的數(shù)據(jù)量其中一個(gè)任務(wù)讀取的記錄數(shù)接近全階段均值的35倍。到這里數(shù)據(jù)傾斜的判定基本成立。至于傾斜的鍵是哪一種我看了一眼關(guān)聯(lián)條件這個(gè)階段是按訂單歸屬機(jī)構(gòu)的編號(hào)做的關(guān)聯(lián)報(bào)表里某個(gè)大機(jī)構(gòu)的數(shù)據(jù)量明顯遠(yuǎn)高于其他小機(jī)構(gòu)。修復(fù)方案很簡(jiǎn)單兩步走。第一步針對(duì)這個(gè)大機(jī)構(gòu)對(duì)應(yīng)的訂單數(shù)據(jù)和訂單明細(xì)之間不加鹽直接關(guān)聯(lián)第二步把第二步之后的維表數(shù)據(jù)量很小適合做廣播。同時(shí)把關(guān)聯(lián)階段原本的1000個(gè)分區(qū)降到200個(gè)減少小文件數(shù)量。改動(dòng)之后重新跑任務(wù)總耗時(shí)從43分鐘降到了15分鐘關(guān)聯(lián)階段從30多分鐘縮短到不足6分鐘。在這個(gè)例子里我沒有改任何業(yè)務(wù)邏輯沒有增加一臺(tái)機(jī)器全靠定位和選區(qū)得當(dāng)。這件事給我一個(gè)很深的印象分布式框架優(yōu)化里很多問題本質(zhì)是數(shù)據(jù)分布問題不是資源問題。5.3 三個(gè)常見的負(fù)優(yōu)化案例負(fù)優(yōu)化就是我說的“越調(diào)越慢”相信不少人經(jīng)歷過。舉三個(gè)我實(shí)際遇到過的典型案例。第一個(gè)是把并行度盲目調(diào)大。有人覺得任務(wù)慢一定是并行度不夠于是一步到位調(diào)成原來的三倍。結(jié)果任務(wù)被切成了幾萬個(gè)微小的分區(qū)每個(gè)分區(qū)的數(shù)據(jù)量只有幾百條調(diào)度開銷和序列化開銷反而成了大頭最終任務(wù)時(shí)間翻倍。負(fù)優(yōu)化的原因很簡(jiǎn)單并行度不是資源只是一個(gè)切分維度維度太細(xì)了反而增加管理成本。第二個(gè)是緩存所有中間結(jié)果。有人給計(jì)算鏈路里每一個(gè)Dataset都加了緩存標(biāo)記結(jié)果是執(zhí)行單元內(nèi)存被巨量緩存占滿GC連續(xù)不斷任務(wù)還沒跑完一半就頻繁觸發(fā)老年代回收整個(gè)過程比不緩存還慢。負(fù)優(yōu)化的原因是把緩存當(dāng)成免費(fèi)午餐沒有考慮緩存本身也是有成本和生命周期的。第三個(gè)是統(tǒng)一開啟壓縮和高壓縮比。壓縮確實(shí)能減少數(shù)據(jù)傳輸量但如果集群CPU已經(jīng)吃緊開高壓縮比只會(huì)讓計(jì)算速度更慢。壓縮、序列化、緩存這些配置項(xiàng)都存在明顯的資源置換關(guān)系最忌諱的就是“一把梭”地全局開啟。6. 工程化收尾把優(yōu)化變成可回歸、可驗(yàn)證的過程6.1 建立基準(zhǔn)任務(wù)集一次只改一個(gè)變量我做分布式計(jì)算框架優(yōu)化到了一定階段后最大的體會(huì)是優(yōu)化本身并不難難的是讓優(yōu)化結(jié)果可復(fù)現(xiàn)、可對(duì)比、可回歸。建議你在自己的環(huán)境里固化一組“基準(zhǔn)任務(wù)集”。這組任務(wù)要能代表線上大部分作業(yè)的特征有計(jì)算密集型的有Shuffle密集型的有數(shù)據(jù)傾斜傾向的。每次調(diào)整配置之前先用這組基準(zhǔn)任務(wù)跑一遍記錄每個(gè)任務(wù)的耗時(shí)、資源消耗、Shuffle數(shù)據(jù)量。改完配置之后再跑一遍直接對(duì)比變化。這里有一個(gè)非常重要的實(shí)驗(yàn)紀(jì)律一次只改一個(gè)變量。并行度、序列化器、緩存級(jí)別、分區(qū)數(shù)這些參數(shù)之間常常有相互影響如果同時(shí)改兩個(gè)以上出問題了都不知道是誰的問題調(diào)優(yōu)變成了瞎猜。先改一個(gè)記錄結(jié)果再改下一個(gè)調(diào)優(yōu)才是可控的。另外要強(qiáng)調(diào)一點(diǎn)參數(shù)調(diào)優(yōu)的結(jié)果并不具備普適性。同一個(gè)并行度設(shè)置在一個(gè)集群上很好用在另一個(gè)集群上可能就很差。因?yàn)閳?zhí)行單元的核心數(shù)、內(nèi)存大小、任務(wù)特征都不一樣。所以不要照抄別人的配置一定要基于自己的基準(zhǔn)任務(wù)集得出自己的參數(shù)組合。6.2 把“數(shù)據(jù)健康”納入日常監(jiān)控最后再說一個(gè)容易被忽視的工程化習(xí)慣不僅監(jiān)控任務(wù)的運(yùn)行狀態(tài)還要監(jiān)控輸入數(shù)據(jù)本身的健康度。數(shù)據(jù)健康度主要看三個(gè)維度分區(qū)大小是否均勻、文件數(shù)量是否合理、字段取值分布是否發(fā)生了劇烈變化。很多傾斜問題的根因都是上游數(shù)據(jù)分布發(fā)生了變化。比如某個(gè)關(guān)聯(lián)鍵的取值從過去占比5%突然漲到30%你昨天還跑得好好的任務(wù)今天就慢如蝸牛。這種變化靠參數(shù)調(diào)整是沒法根治的必須回溯到數(shù)據(jù)鏈路里找到數(shù)據(jù)分布突變的原因。所以我現(xiàn)在會(huì)為關(guān)鍵任務(wù)配套一個(gè)數(shù)據(jù)分布檢查在任務(wù)啟動(dòng)前先對(duì)最耗時(shí)的關(guān)聯(lián)鍵做一次取樣統(tǒng)計(jì)。如果發(fā)現(xiàn)取值分布有明顯長尾就提前觸發(fā)傾斜優(yōu)化邏輯。這個(gè)做法看起來多花了一點(diǎn)時(shí)間但能避免大量任務(wù)跑到一半才發(fā)現(xiàn)傾斜、然后再白跑一遍的情況。做分布式計(jì)算框架優(yōu)化這么多年我最大的體會(huì)是通用配置永遠(yuǎn)只存在于文檔里不存在于你的集群里。每次手癢想調(diào)參之前先回答三個(gè)問題慢在哪一層數(shù)據(jù)分布怎么樣這次改動(dòng)能否被下一次任務(wù)驗(yàn)證這三句話幫我少走了很多彎路也分享給你。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲欧洲日韩天堂av| 小说区 图片区色 综合区| 91操操| 强上我不卡卡| 国产高清MV操逼视频| 日本人妻最新在线中| 久久大线蕉一区| 国产一区二区在线看| 人妻激情在线视频| 久久久爆乳翘臀一线天伦理视频| 60秒免费小视频| 免费观看的av| 丁香婷婷激情五月天无毒不卡 | 国产精品不卡av免费在线观看| 快播电影网日韩新片| 日韩在线76| 国产女人视频三四五区| 后入式999| 99热导航| 天美精品一区二区三区四区在线观看| 亚洲欧美一区二区不卡视频播放| www久久精品| 色麻豆AV| 大香蕉久| 日本免费一级AAA大片器| 九九九九热| 成人精品在线免费视频| 亚州免费啪啪视频| 国产高清MV操逼视频| 99热精品在线| 91Chinese在线| 欧美91精彩| 91人妻中文| 色狠人在线99| 免费成人在线熟妇网| 久久区| 98精品国产乱码久久久久久| 亚洲性综合| 欧美97日韩| 6080YYY午夜理论片在线观看| 人人操人人摸人人看人人插| 粉嫩av平台| 欧美综合骚| 九九成人精品| 少妇激情一区二区三区视频| av橘色网站| 天天综合中文字幕 91| 欧美激情一区| 麻豆天美国美国产| 欧美色综合| 在线天堂999| se吧提供国产乱老熟视频胖女人| 26uuu欧美日韩| 18一区二区三区| 成人精品欧洲亚洲| 日本免费中文字幕在线 | 操婢日韩| 亚洲欧美中文日韩视频中国语| 4399成人黄A片| 婷婷激情丁香| 吻戏激情性巴克| 国产色图乱伦| 免费观看日本操逼视频| 亚洲国产欧美一区二区潘金莲 | 老鸭窝日丰县女人| 91在线欧美| 午夜福利区| 中文字幕国产在线天堂| 岛国视频一二三区| 超碰亚洲欧美日韩无| 亚洲经典啪啪| 欧洲亚洲人人爽爽视频| 亚洲AV无码国产精品久久久久 | 人妻人人澡人人爽人人| 女人的天堂大香蕉网| 家庭乱伦性爱av| 极品色| 亚洲欧美日韩国产丝袜自拍中文| 国产免费久久久久| 欧美性爱免费短视频| 欧美在线第五页| 日韩影片中文字幕一区二区三区| 天天看特黄的免费网站| 乱论91| 1769一区| 葡萄牙性视频一二区| 操屄不卡视频| 亚洲中文字幕精品一区| 伦理第一页| 中文字幕精品一区二区精| 日本三级一区二区 在线| 亚洲av噜噜噜噜噜噜| 大香蕉伊人75| 伊人欧美大香蕉视频| 草B在线| 台湾大香蕉99热| 国产SV一线| 欧美性天天影视| 欧美日本视频一区| 91在线免费观看处女| 人妻少妇蜜桃视频欧美一区| 色播五月丁香| 亚洲天堂中文字幕无码男同| 加勒比大香蕉视频在线| 狠狠爱综合| 玖色AV| 国产传媒美日韩av| 福利在线观看一区二区| 精品无码产区一区二| 日本高清加勒比| 夫妻AV网站| 96久久久久| 国产兽交视频在线播放| 任我爽在线视频免费观看| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 麻豆性爱视频在线播放| 中文字幕五月婷婷免费| 伊人五月天激情| 激情小说亚洲| 99性爱视频| 日本高清视频xxxx| 超碰色中文| 97 国产精品| 精品国产乱码久久| 蜜桃传媒一区二区亚洲| 一起草高清无码| 男人天堂欧美| 情色av电影| 免费亚洲国产精品久久一区| 久久久亚洲熟妇资源| 国产综合日韩伦理| 国产综合操逼高清| 伊人久久综合精品欧美| 人人天天干干| 久久一二三四不卡 | 久一区久久蜜桃| 久久国产免费激情视频| 超碰免费人妻人人| 免费一级毛片在线视频观看| 日韩精品9999| 日韩射精| 少妇一线天久久久久久| 91网站18+| 草久在线| 日韩精品人妻| 日本亚洲vr欧美不卡高清专区| 亚洲交换| 亚洲自拍偷拍视频在线| 国内毛片欧美香蕉精品| 超碰97色色| 最新亚洲黄色免费电影| 国产不卡中文字幕免费avi| 天天夜夜久久| 激情丁香五月| 女同性恋久久| 久草婷婷| 人妻AV 中文字幕的| 久久区| 久草色悠悠在线视频| 97在线精品观看视频| 男女香蕉一区二区| 91精品成人www| 成年人黄色视频免费| 嗯,啊。舔我逼| 欧美精品999| 三男一女不戴套的A片| 99热免费精品| 亚洲男人天堂Av| Sekablack无码一区| 淫色网综合| 97最新在线播放视频| 男人午夜天堂| 亚洲春色欧美| 欧美日韩大陆黑人少妇99| 五月天偷拍| 欧美亚洲另类在线蜜桃| 大JI巴好深好爽又大又粗视频| 色香在线| 天堂麻豆天美| 欧美亚洲影视| 96AV精品| 久久99久久99精品免视看婷婷| 国产亚洲精品A在线观看下载| 一卡二卡三卡| 99热这里都是精品| 久艹伊人精品综合在线| 91狠狠综合久久久久久| 黄网色一区二区三区四区精品| 色97国产69香蕉| 欧美97日韩| 91超碰人人| 久久免费精彩视频| 亚洲天堂 视频你懂的| 黄色大片免费在线| 国语av狠狠色丁香婷婷综合激情| 水多多映视AV| 神马久久久久久伦理片| 精品毛片av一区二区| 天天伊人| 欧美第二页| 国产区在线| 精品久久久一本一道| 免费超碰97久久| 日日干男人的天堂| 一区二区视频你懂的| 中 文字幕一区二区三四 五 区日 日 骚| 99热欧美| 五月丁香六月| av大香蕉网站| 男人天堂日日夜夜| 96久久久精品| 伊人久久亚洲色欲综合网站 | 欧美色图中文字幕| 亚洲色资源| 一区二区 电影 亚洲| 亚洲熟妇乱女区二区三区| 天天摸,夜夜摸| 91久久99久久91熟女精品| 亚洲国产成人精品久久久国产成人一区二区 | 精品丰满熟妇人妻一区| 日本三级日本三级99| 欧美国产成人在线| 亚洲限制级| 影音先锋日本一区二区| 在线岛| 欧美真人抽搐一进一出gif| 国产精品久久| 久久超碰国产一区二区三区| 中文一区二区三区影院| 日本欧美韩国国产在线| 国产亚洲日本精品在线| 激情丁香五月婷婷| 蜜臀av中字字幕网站| 欧美亚洲丝袜美女电影| 9长久久精品| 97久久超碰日韩精品| 91精品网站| 密臀国产在线| 熟女人妻一区二区三区免费看| 青青草毛片| 成 人 A V免费视频在线观看| 国产亚洲精品无码三区| 柠檬AV导航| 亚洲美乱| 91国产丝袜美女| 一级AAA片一区二区三区| 俄罗斯及免费在线看| 久操操AV电影| 九月婷婷综合| 美女黑人91神马| 亚洲九九视频| 国产91av在线播放| 老色69| 欧美青青视频| 国语对白露脸XXXXXX| 蜜桃无码AV一区二区| 欧美熟爽综合| 欧美人妻熟女在线| 激情五月天插| 大香蕉手机在线视频| 欧美色色人| 大香蕉99999| 亚洲熟女性高潮久久久| 欧美精品人妻视频| 欧美日韩人妻精品一区二区三区| 色色色日本| 99久视频| 精品少妇人妻| 日日日日做夜夜夜夜无码| 欧美日综合| 色天堂综合| 久久六六| 久久99热这里只频精品6学生| 男人把坤坤插入女人的下体| 男人天堂网址 | 1769一区二区| 国产精品色色| 女人香蕉久久毛毛片精品| 欧美18 在线观看| 99热在线观看| 国产sv美女内射| 围产精品一区二区三区视频播放| 精品一久久久| 9国产超碰| 99热精品青草在线 | 久久久97| 久久精品无码熟妇一区二区三区视频导航| 777AV电影| 第45页一区二区| 亚洲性网| 精品人妻一区二区三区-国产精品| 99久久久| 女人天堂AV五区在线| 男人的天堂1024| 久久久精品成人国产| 日本免费一区二区不卡 | 成人久久精品| 亚洲另类小说卡通动漫| 亚洲色资源| 6080YYY午夜理论片在线观看| 免費人妻夜夜爽天天爽爽一区| 少妇蹲下露出大唇5| 十八禁啪啦拍视频无遮挡| 亚洲天天精品| 91在线无码精品秘 软件| 亚洲熟女偷拍在线观看| 中文字幕av亚洲在线| 人妻大香蕉| 成人性爱高清视频免费看| 日韩精品国模| 丁香成人五月天| 啊啊啊水好多| 99热超碰| 视频国产精品未满十八禁止在线观看| www.男人天堂| 色五月婷婷色| 日韩视频中文字幕| 北京美女一区二区| 色久桃花影院在线观看| 日日干夜夜欢| 国产九月婷婷| 免费观看国产不卡av| 久久久一区二区| 色婷久久| 国产女同视频在线播放| 亚洲欧美综合网站| 97视频网站在线观看| 欧美真人抽搐一进一出gif| 亚洲日韩乱码中文无码蜜桃臀网站| 国产一级不卡在线观看| 久久久久久无码人妻中文字幕| 久久人人看| 人妻夜夜爽天天爽三区麻豆AV网站| 日韩精品高清资源在线| 国产中文精品一区二区在线观看| 亚洲国产97在线精品一区| 91蜜臀在线久久久久| 午夜乱轮操逼视频免费看| 伊人国产AV| 人妻夜夜爽天天爽麻豆三区网站| 搞中出久久| 97色欧洲| 国产精彩女在线观看视频| 婷婷成人五月天| 成人激情无码在线视频| 91天天| 欧美女同在线| 久偷拍| 日韩三级一区 | 久久本道| 亚洲成人久久美女| 亚洲精品人妻在线| 秋霞午夜成人福利片片| 啊啊啊啊免费视频| 色偷综合| 鸥美插入视频| 九九毛片这里只有精品| 思思热免费视频观看| 国产肏逼网站| 淫淫综合网| 中文字幕一区二区三四五区日日骚| 综合色图亚洲欧美| 1024人妻| 国产一级αv免费看片| 亚洲欧美国产va在线播放频| 一本色道人妻久久| 蜜桃天美传媒AV一区二区三区| 自拍视频大全亚洲专媒视频/一区二区三区| 午夜男女爽爽爽在线视频 | 尤物视频偷拍免费| 九色婷婷| 成人三一级一片aaa| 狠狠爱大香蕉| 亚洲欧美校园| 精品制服美女中文一区二区三区| 手机久操欧美综合色码| 人妻少妇三级| 亚州色国| a人片中文字幕一区二区| 热久久91婷婷| 热久久精品| 99re视频在线观看这里只有精品| 欧美v亚洲v日韩v最新在线二区| 大香蕉黄色一级片免费看| 少妇厨房愉情理伦片bd在线观看| 秋霞怕怕片| 青娱乐淫乱1314| 加勒比综合网| 日韩三级在线观看网站| 中文字幕AV乱伦| 精品国产一区二区三区在线播出| 欧亚性爱在线视频| 欧美成人A天堂片在线观看| 日婷婷| 伊人网免费视频| 一级黄色性爱裸体视频| 天天噜| 中文字幕蜜乳av| 我要去看2个日本美女.com曹逼| 污色区网站| 国产成人拍国产亚洲精品| 欧美日韩插逼视频| 中文一区在线视频| 日日爽夜夜爽| 香港成人一级视频在线青青草| 玖玖综合色| 秋霞午夜视频一区二区| 欲女人妻性色av| 中文字幕精品专区搜索结果91| 久久99精品九九久久久婷婷| 欧美国产操逼| 久久99国产精品| 尤物网站91| 97超碰人人操人人操| 一级性爱视频免费在线| 无码操逼网| 激情啪啪拍91| 精品久久久av| 国产情色第一第二页在线观看| 国产少妇内射| 欧美乱伦专区| 久久久久国产精品喷潮免费观看臀| 人人摸人人摸人人干| 色爱国产| 人人综合| 97欧美资源| 日韩免费簧片| 超碰在线成人| 91国产美女丝袜足交精品视频 | 97视频新免费| 天天草天天日| 被体育老师抱着c到高潮| 麻豆黄色五月天| 精品人妻视频一区二区在线播放| 成人日本片久久久蜜桃| 日本一区二区亚洲综合| 国产成人自拍视频在线| 日韩精品熟妇| 熟妇人妻丰满久久久久久久无码| 国产美女销魂在线观看不卡| 大香蕉亚洲中文| AV中文字幕剧情1区2区3| 97国产|免费| 国产亚洲欧美每日在线| 伊人网av| 天天操福利视频综合网站| 张柏芝国产一区在线观看| 人看人人摸人人操| 东北女人| 国产偷拍网站| 久久久9品一区二区三区| 东京热AV男人的天堂| 久久久精品中文字幕爱豆| 99热精品在线观看| 久久久精选| 国产女生在线| 激情五月天校园春色网| 日韩熟女乱伦中出| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 91殴美大片| 欧美97超碰| 国内精品久久久久影院亚洲| 欧美大片一区二区三区| 国产午夜在线观看视频| 亚洲欧美日韩有码| 免费a级毛片av无码久久精品中文字幕| 超碰狠狠操| 青青草一本道福利视频| 五月婷婷性爱| 久久啊啊| 禁片 高清 在线观看视频网站| 天天射天天色成人| 日本高清久久| 999热这里只有精品| 日韩中文字幕在线视频观看| 国产AV天美传媒一区二区三区| 91高清无码下载| 99精品久久久久久| 国产一区二区三区影片| 探花一区在线| 欧美骚少妇| 中国探花熟女| 欧美性色网| 日本久操视频| 看免费的黄片| 久久精品电影| 丁香五月久久| 91精品国产91综合久久蜜臀| 无码heyzo高清一区| 精品亚洲成人免费在线| 日本不卡二三区| 亚乱色| 日本久久久久久久久久| 无码99| 日韩熟女操逼| 台湾佬中文娱乐网久久久久久久久久com | 欧美综合天天| 六月婷婷一区二区三区| 欧美做爰无码A片视频| 欧美激情精品久久久久久| 9九九九九视频在线观看| 久久精品国产精品一区| 天天躁狠狠躁av| 大香蕉综合| 在线日韩精品一区二区三区| 麻豆国产成人精品| 99自拍视频在线观看| 亚洲综合电影| 啊嗯嗯啊好大好爽| 99久久久无码| 日本在线激情一区二区三区| 欧美操人视频| 天堂av最新电影网| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 啊啊啊啊啊好舒服视频| 九九久久精品| 久久男人精品| 国产精品96| 伊人96在线| 成人AV素股で擦久久| 日韩国产成人自拍视频| a片自拍直播视频| 久久精品女同亚洲女同13| 99热精品青草在线| 99激情| 天天搞在线综合网| 国产偷人伦激情在线观看| 麻花传媒免费网站在线观看| 91久久婷婷| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 91在线色| 日本三级韩三级99久久| 亚洲天堂无码| 免费一级黄色录像影片| 欧美v日韩v亚洲v最新在线| 91网站18+| 久久久久9999妇女| 无码欧美有限公司| 大奶啊啊好爽| 九九香蕉网| 久久精品高清AV| 午夜男女爽爽大片免费观看| 欧美色视| 欧美性夜| 国产精品97视频| 久噜噜| 碰超人人在线一区二区三区| 婷婷伊人| 婷婷91| ?亚洲伊人伊成久久人综合网| CCYY草草影院地址入口| 欧美高清无码免费视频高清版| 久久99九九九九6666免费观看软件| 国产人妻精品一区二区三区秋霞| AV99热18这里只有精品| 亚州色图欧美| 亚洲日韩视频二区| 中国乱伦一区二区| 无码高清少妇久久| 精品无码欧美三级| 成人性爱免费播放| 操逼视频国产无套| 精品成人无码| 国产精品久久久久久照片| www.久久制服糖| 色屁屁影院www国产| 日韩操p| 性色生活片久久毛片婬片免费放女人一级毛片 | 91精品在线播放| 亚洲色图第四色| 人人九九精| 日韩精品人妻中文字幕不卡乱码| 久久精品操| 性91| 日婷婷| 在线一道啪| 传媒免费一区二区三区| 风月影院男女十八禁| 操淫穴亚洲五月丁香 | 国产搭汕a级片| 伊人超碰97| 欧洲黄色网| 亚洲图片婷婷五月天| 艹少妇网站| 久热超碰| 色大师网站www永久网站视频| 国产性爱欧美性爱在线| 91综合天天| 国产精品视频内谢女人| 自拍视频一区在线观看| 99久久99久久综合| 色婷婷蜜臀av| 性欧美第一页| 四虎午夜影院| 立川理惠无码一区二区| 美女露胸露屁股| 久草精品视频| 蜜臀久久99精品久久久久久婷婷| 日韩熟女操逼| 东京热免费视频| 人妻无码后入| 欧美激情区| 亚洲一曲日韩精品| 95人妻爽爽人人做人人澡 | 日韩免费a级毛片无码a∨| 欧美精品日韩久久久九| 1024日韩| 亚洲精品不卡一二三区| 99av| 亚洲砖码砖专无区2023| 97视频在线免费看| av2014 日韩在线中文字幕| 26UUU欧美日本| 乱老女人一区二区视频| 欧美色图下一页| 外国91| av凤凰久久久| 亚洲综合射| 日韩一级二级三级免费看完整版| 午夜精品探花| 小明看看网址| 亚洲**2021在线观看| 亚洲无码99| 久久久91福利姬| 久久久久亚洲三级电影| 鲁鲁色综合网| 超碰在线成人| 亚洲AV资源| 日本在线伊人啪啪| 亚洲91射| 好湿好紧视频| 岛国天天午夜影院传媒网| 欧美一级专区免费大片 | AV一起草在线| 男女激情中文字幕| 在线 制服丝袜中出 人妻| 国内伊人久久久久久网站视频| 91麻豆天美国产欧美日| 九久久九精品视频| 人妻丰满熟妇av无码区蜜桃| 天美传媒AV在线播放| 97色97干| 亚洲古典另类欧美在线| 国产精品自在线发布| 99e久久国产精品| 亚洲伊人久久综合97| 91操操| 精品人妻一区二区三区四区| 97视频在线免费看| 狠狠操,使劲操| 色999人与兽| 精品妇女一区二区三区| 国产11页| 嗯嗯啊啊好疼| 夜夜无码| 国产亚洲深夜激情| 久久久久国产一区二| 久久久久人妻| 久操网在线| 风韵犹存大大大大香蕉 | 国产乱伦亚洲| 六月天婷婷| 四虎免费看黄| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 先锋激情∨在线视频播放| 综合网97| 在线 亚洲 网爆 自拍| 国产丝袜高跟美女av免费观看| 久久久久久999| 亚洲系列第一页| 一区中文字幕二区日韩| 国产精品乱码久久久久久久久| 97无码视频在线播放| 久久久网站| nuu12国产麻豆精品| 日本天天干天天日一区| 亚洲成人在线播放| 91人妻视频在线| 最新一二三区视频| 猛交交| 中文字幕中文字幕一区二区| 色诱avtt| 日韩无码一级黄色av片| 91人妻丝袜无码| 易易A毛视频| 99久久精品无码一区二区| 99∨VTV| 日韩精品人妻中文字幕久久久| 一区二区久久天天干狠狠| 久久久久13| 日本一片一区| 自拍偷拍草一草| 四季AV综合网址| 欧美特大AA级黄片| 91草草草| 精品一区二区人妖| 97久久久网站| 九九热精品在线| 中文字幕人成乱码熟女香港| 亚洲熟女综合| 黄片com.| 男人的天堂va| 夜夜操av亚洲一区二区| 久久久久久日韩| 黄页网站成人免费| 九九九久千久久激情蜜桃在线看| 一区二区免费电影久久| 色偷偷综合91久久噜噜| 97香焦色区| 2019久久久久久久久福利| 亚洲精品97p| 日本999精品视频| av婷婷色婷婷色六月| 国产高清自拍| 夜夜夜夜爽| 日韩精品人妻中文字幕有码午| 十八禁成人网站在线观看| AV女优男人的天堂| 97av,com| 久久这里精品国产99丫e6| 五十路三级片| 日韩免费簧片| 嗯嗯啊啊啊好爽| 91 国产丝袜在线播放-百度| 青青操97| 亚州色图第三区| 天天综合91| 国产视频第2页| 国产免a费看黄片在线| 欧美日日网| 亚洲97超碰| 色五月首页| 制服乱伦| 狠狠操一区二区| 国产av热热色| 啊啊啊啊啊好大好舒服想要| 精品十三区| 国产一区二区三区中文字幕| 91足交| 性爱综合一区二区| 久久99干一本高清| 亚洲国产成人精品999| 欧美色图另类图片| 亚洲欧美啪啪| 亚洲高清欧美总合| 久久99九九九九6666免费观看软件| 欧美色蜜桃97| 亚洲开心网| 欧差乱伦二三| 中文字幕91页| 蜜桃无码AV一区二区| 极品极品色影院| 久久久亚洲精品电影免费看| 99999精品成人| 免费97视频| 91网站18| 九九干| 超碰在线91| 欧美78| 麻豆91熟妇人妻中文字幕茄子| 人人妻人人爱人人玩| 干干干天天| 超碰av人人人| 操淫穴亚洲五月丁香 | 俺去久久| 日韩大香蕉精品在线视频| 99热一区二区三区四区| 欧美性爱18观看| 五月综合久久| 97碰碰日本乱偷人妻中文的| 亚洲中文丝袜美腿诱惑字幕| 久久免费99精品久久久久久| 日韩欧美经典在线观看| 91精品成人| 91久久久久久久久18| 欧美日韩中文亚洲v在线综合| 九九九午夜| 男人天堂欧美| 人妻22p| 久男人久久| 亚洲资源吧| 天天综合网站| 精品久久久久av影院| 秋霞一集毛片观看| 78超碰| 久热精品在线| 久久国产视频性吧 | 无码人妻一区二区三区色欲aⅴ| 另类一区| 毛片99-全集电影手机免费观看完整-B029AV| 久操com| 人妻在线臀日韩| 97操碰| 亚洲av国产av综合av卡| 婷婷五月天激情网| 蜜臀AV成人精品蜜臀AV久久| 亚欧操逼片在线观看 | 六月丁香五月婷婷| 亚洲精品1区| 国产v亚洲v日韩v欧美v片另类| 人妻 中文 日韩| 人妻久热在线| 日韩欧美中文字幕搭讪巨乳美人妻视频| 激情五月综合开心五月| 婷婷久久五月天| 超碰伊人在线| 欧美激情视频在线一区| 亚洲天堂男人在线| 亚洲AV永久无码精品成人调教| 亚洲欧美精品国产一区二区| 玖玖视频在线资源一区二区三区| 奇米狠999| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 97操97干| 国产精品无套内谢| 久插综合| 蜜臀无码视频在线观看| 日日干日日| 老色鬼成人精品视频下载大在线观看| 五十路六十路七十路熟婆| 96精品在线| 亚洲精品91| 99天堂网| 91亚洲最新在线| 国产色呦呦| 日韩色女精品| 成年女人黄网站| 神马久久久久久久久久| 青娱乐福利99| 久久熟妇五十路一区| 中文字幕99999| 超碰97起碰| 色图综合| 神马久久久久眼| 亚州一区二区| 国产九九久久久精品| 久久久久久久9| 亚洲日韩AV视色| 屁股久久久久久久久久| 白嫩嫩一区| 亚洲男人天堂AV| 日本熟妇一区二区三区| 超碰97丝袜| 殴美,日韩国产伦精品| 爱爱动态60秒| 91偷拍欧美亚洲| 日韩免费高清大片在线| 97国产天堂岛| 国产操逼逼网| 91中出在线| 超踫中文字幕| 天天做天天爱夜夜爽毛片试看| 日本999精品视频| 强奸乱伦AV网站| 久久精品男人的天堂| 日本在线不卡一二区| 91美女片在线| 日韩伦理久 久久 清纯| 亚洲阿v天堂无码z2018| 国产后入清纯| 狠狠穞A片一區二區三區| 色姑娘综合网| 欧美日韩青操| 91久操| 国产粉嫩蜜臀av一区二区三区| 久偷拍| 欧日a| 东北女人操逼| 欧美玖玖爱免费玖玖| 1240青青草一区二区三区视频天爱| AV综合中文字幕干| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 精品中文字幕第一页| 在线亚洲精品久久久| 一起草日韩| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美日韩国产在线| 久久久久九九九九| 国产五码丝袜屁眼| 丁香五月天激情网站| 久久久亚洲| 美美91成人国产精品欧美精品久久久久久久| 成人午夜小视频手机在线看| 婷婷午夜清品久久久久久久性色视频观| 精品一区二区三区最新| 九色在线熟女国产黑人| 熟女人妻一区二区三区免费看 | 五月天久久综合网| 黑人性暴力毛片| 很黄很污的免费网站| 少妇高潮对白在线观看| 97视频在线看| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久精品国产Aⅴ| 91久久久久久久| 大鸡巴久久久| 爱媛媛久久国产福利| 国产91影院| 后入综合久久| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 婷婷五月天成人| 综合av社区| 91bbbbbb| 男人的天堂日韩| 啊啊啊好湿国产一二| 九九黄色视频在线观看| 人人操人人干xxx| 992视频一区| 天天日美女的B| 色九月综合| 内射日韩大臀美女| 9999亚洲电影| 污啪啪啪视频| 一级啊性爱在线视频| 波多野42部激情无码喷潮| 婷婷国产精品一区二区| 激情综合网一盗摄| 日韩钢筋无码高清啾啾啾| 992这里有精品| 国产 丝袜 欧美中文 另类| 欧美一区二区福利在线| 亚洲精品一区二区日本| 天天综合网在线观看| 欧美日韩国产精品久久色婷婷| 欧美午夜视频| 亚洲中文字幕日产无码久久| 日本不卡卡一区| 97日本超碰综合| 又黑又大又粗| 狠狠中文字幕| 啊啊啊啊啊啊啊国| 91oumei| 亚洲夜色在线| 日韩乱码Av| 欧美亚性天堂| 蜜臀久久久久久999| 一色网男人的天堂| 青青11操操操操操操操操| 最新加勒比丝袜在线| 玖玖97综合| 欧美色九九九| 欧美性爱一区| 中文字幕女同在线| 97伦乱| 欧美97网| 天天拍夜夜| 97在线免费观看视频| 欧洲特黄毛片免费看欧洲毛片| 久久六六| 香伊人在线| 亚洲精品xxx| 亚洲图片欧洲图片aⅴ| 国产女人成人精品视频| 少妇超碰在线| 欧美午夜色妇色鬼| 男人把坤坤插入女人的下体| 大香蕉伊然在亚洲91| 人人操超碰在线| 久久久久99999| 夜夜草天天| 色色香蕉| 啪啪啪综合网| 天天干一区二区| 亚洲综合九| 天天影视综合色| 久久精品一区二区三区四区五区| 内射老妇BBWX0C0CK| 强奸乱伦Av网| 丁香六月天| 天天看特黄的免费网站| 久9久9久9久9久9久9| 国产精品熟女一区二区三区| 无码直播久久久| 久久久免费一级黄片| 中文字暮97| 加勒比人妻综合| 蜜臀久久99精品久久久久久| 日韩av电影成人在线| 黄aaaaaaaaaaaaaaaaaa色网站| 日日干日日| www.男人天堂| 99999精品| 粉嫩不卡一区二区性爱| 亚码激情| 精品一区99999| 91在线免费精品视频| 国产第25页在线观看| 蜜色网色哟哟| 日韩欧美久久婷婷网站| 永久免费av无码网站国产app| 亚卅熟女乱色| 男人天堂综合| 91日韩| 精品一区二区成人动漫| 欧美se亚洲| 久久久555| 亚洲精品影视老司机| 久久久久免费少妇| Aa东京男人的天堂| 亚洲无码99| 九久久精| 国产精品探花色| 色色色综合| 超碰是碰在线观看| 国内毛片无遮挡国产| 五月天激情网站| 午夜精品久久久99热蜜桃的功能特点| 国产操逼网站亚洲一级黄色| 日本黄 R色 成 人网站| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 欧美色图亚洲色,麻豆| 精品国产无码中文| 色性荡荡荡荡视频| 亚洲高清91| www.激情| 尤物视频偷拍免费| 国产亚洲中文不卡二区| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 我想要啊 啊 啊| 日韩欧美成人性爱在线| 哈哈操电影AV| 国产偷拍网站| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩乱插| 中字一区| 日本一级二级三级网站| 久久人妻无码毛片A片麻豆| 亚洲成人精品在线一区| 内射中出日韩在线观看视频| 超碰97中文| 欧美制服另类丝袜| 久久久久久久人妻丝袜| 花野真衣| 精品一级毛片在线观看| 偷拍网站久久男女男| 久久精品一区二区三区四区五区| 理论久久婷婷网 8| 综合色一区三区二区| 97人人干| 中文久久久| 岛国小电影| 亚洲一区操| 少妇极品熟妇人妻无码| 天天躁日日躁AAAAXXXX国产| 日夜久久久九九九久| 亚洲成aⅴ人片不卡无码| 国产乱弄免费在线视频。 | 麻豆久久久一区二区| 蜜臀久久99精品久久久久久婷婷 | 人人妻人人澡人人爽久久av| 五月天伊人| 狠狠操使劲操| 亚洲 欧美 小说| 黄色一区二区秘书性感| 国产AV线| 日本三级大片| 五月亭亭六月丁香| 啊啊啊不要啊啊受不了了视频在线| 国产美女裸体秘 永久无遮挡| 91色色综合| 香蕉久久国产AV一区二区| 91亚洲综合在线| 欧美18禁91| 欧美,日韩综合久久| 91亚.色| 91 刺激在线| 亚川综合视频| 91痴汉| 天天干天天日天天射黄色| 岛国激情视频在线观看| 国产久9| 97国产色综合| 成人精品一区二区91毛片不卡| 久久久久幕乱码| 国产欧美美女免费观看视频| 岛国在线免费视频| 色噜噜人妻av中文字幕| 免费看美国人人爽,人人操| av天堂精品久久| 色五月综合| 永久免费观看的毛片的网站| 香蕉免费一区二区三区不读| 九九AV| 亚洲三区视频| 蜜臀久久99精品久久久久久-DVD| 精品国产91久久久久久一区黄无| 69精品久久久久中文字幕| 日本不卡一区| 亚洲性综合11| 中文字幕免费观看| 99热在线观看| 密乳AV免费观看| 人妻天堂三区| 精品人妻少妇| 影音先锋每日最新资源在线观看 | 欧美真人抽搐一进一出gif| 人妻少妇久久中文| 99热免费| 偷拍网站久久男女男| 蜜臀久久99精品久久久久久无删减 | 欧美天堂日韩三级国产传媒| 亚洲欧美日韩精品久| 夜夜草天天| 亚洲女人91| 中文字幕免费看| 嗯嗯啊啊亚欧精品| 国产嫩草精品A88AV| 欧洲熟妇xxXx欧美老妇裸体| 精品亚洲国产成人精品| 欧美欧美少妇| 综合网97| 久久超碰97中文字幕| 亚洲人妻一区二区三区| 人人干人人搞人人摸| 69av一区二区三区| 亚洲黑人在线| 国产精品一区二区密臀| 嗯嗯啊啊啊啊轻点视频| 精品国产91久久久久久一区黄无| 色色热| 久久亚洲婷婷| 国产美女高潮叫床视频| 日本免费中文字幕在线 | 婷色五月天| 日本操BAV| 自拍偷拍 高清无码| 国模私拍一区二区三区神乳| 不卡日本一区二区| 大香蕉狠狠爱| 欧美高清91| 国产午夜福利合集| 破处bbq| 天天天操天天天爱| 精彩久久中文| 国产精品国产| 亚洲AV在线资源| 98超碰日本| 青青欧美| 91精品免费| 少妇人妻激情四射| 亚洲性感丝袜诱惑在线观看| 欧美色图人妻| 日韩人妻精品| 哑洲在线| 一区二区无码视频| 亚洲操操操无码| 深爱伊人影院| 精品1区2区3区| 青草精品视频日本久久久久网站在线| 这里只有97精品| 久久 精品| 亚洲中字幕日本一区二区三区| 亚洲国产美女久久久久| 51国产午夜精品视频| 蜜乳AV.COM| 欧美日韩国产中文精品字幕自在自线 | 超碰在线91| 日韩三四五区| 午夜精品久久久久久久99热影院 | 亚洲国产麻豆一区二区三区|