精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一次內(nèi)核問(wèn)題引起的 Kubernetes 節(jié)點(diǎn)故障解決紀(jì)實(shí)

開(kāi)發(fā) 前端
在線上環(huán)境中的某個(gè)應(yīng)用出現(xiàn)了接口緩慢的問(wèn)題!!就憑這個(gè)現(xiàn)象, 能列出來(lái)的原因數(shù)不勝數(shù). 本篇博客主要敘述一下幾次排查以及最后如何確定原因的過(guò)程, 可能不一定適用于其他集群, 就當(dāng)是提供一個(gè)參考吧.

1 具體現(xiàn)象

在線上環(huán)境中的某個(gè)應(yīng)用出現(xiàn)了接口緩慢的問(wèn)題!!

就憑這個(gè)現(xiàn)象, 能列出來(lái)的原因數(shù)不勝數(shù). 本篇博客主要敘述一下幾次排查以及最后如何確定原因的過(guò)程, 可能不一定適用于其他集群, 就當(dāng)是提供一個(gè)參考吧. 排查過(guò)程比較冗長(zhǎng), 過(guò)去太久了, 我也不太可能回憶出所有細(xì)節(jié), 希望大家見(jiàn)諒.

2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

網(wǎng)絡(luò)請(qǐng)求流入集群時(shí), 對(duì)于我們集群的結(jié)構(gòu):

  1. 用戶請(qǐng)求=>Nginx=>Ingress =>uwsgi 

不要問(wèn)為什么有了 Ingress 還有 Nginx. 這是歷史原因, 有些工作暫時(shí)需要由 Nginx 承擔(dān).

3 初次定位

請(qǐng)求變慢一般馬上就會(huì)考慮, 程序是不是變慢了, 所以在發(fā)現(xiàn)問(wèn)題后, 首先在 uwsgi 中增加 簡(jiǎn)單的小接口, 這個(gè)接口是處理快并且馬上返回?cái)?shù)據(jù), 然后定時(shí)請(qǐng)求該接口. 在運(yùn)行幾天之后, 確認(rèn)到該接口的訪問(wèn)速度也很慢, 排除程序中的問(wèn)題, 準(zhǔn)備在鏈路中查找原因.

4 再次定位 – 簡(jiǎn)單的全鏈路數(shù)據(jù)統(tǒng)計(jì)

由于我們的 Nginx 有 2 層, 需要針對(duì)它們分別確認(rèn), 看看究竟是哪一層慢了. 請(qǐng)求量是比較大的, 如果針對(duì)每個(gè)請(qǐng)求去查看, 效率不高, 而且有可能掩蓋真正原因, 所以這個(gè)過(guò)程采用統(tǒng)計(jì)的方式. 統(tǒng)計(jì)的方式是分別查看兩層 Nginx 的日志情況. 由于我們已經(jīng)在 elk 上接入了日志. elk 中篩選數(shù)據(jù)的腳本簡(jiǎn)單如下:

  1.   "bool": { 
  2.     "must": [ 
  3.       { 
  4.         "match_all": {} 
  5.       }, 
  6.       { 
  7.         "match_phrase": { 
  8.           "app_name": { 
  9.             "query""xxxx" 
  10.           } 
  11.         } 
  12.       }, 
  13.       { 
  14.         "match_phrase": { 
  15.           "path": { 
  16.             "query""/app/v1/user/ping" 
  17.           } 
  18.         } 
  19.       }, 
  20.       { 
  21.         "range": { 
  22.           "request_time": { 
  23.             "gte": 1, 
  24.             "lt": 10 
  25.           } 
  26.         } 
  27.       }, 
  28.       { 
  29.         "range": { 
  30.           "@timestamp": { 
  31.             "gt""2020-11-09 00:00:00"
  32.             "lte""2020-11-12 00:00:00"
  33.             "format""yyyy-MM-dd HH:mm:ss"
  34.             "time_zone""+08:00" 
  35.           } 
  36.         } 
  37.       } 
  38.     ] 
  39.   } 

數(shù)據(jù)處理方案

根據(jù) trace_id 可以獲取到 Nignx 日志以及 Ingress 日志, 通過(guò) elk 的 api 獲得.

  1. # 這個(gè)數(shù)據(jù)結(jié)構(gòu)用來(lái)記錄統(tǒng)計(jì)結(jié)果, 
  2. # [[0, 0.1], 3]表示 落在 0~0.1區(qū)間的有3條記錄 
  3. # 因?yàn)樾?shù)的比較和區(qū)間比較麻煩, 所以采用整數(shù), 這里的0~35其實(shí)是0~3.5s區(qū)間 
  4. # ingress_cal_map = [ 
  5. #     [[0, 0.1], 0], 
  6. #     [[0.1, 0.2], 0], 
  7. #     [[0.2, 0.3], 0], 
  8. #     [[0.3, 0.4], 0], 
  9. #     [[0.4, 0.5], 0], 
  10. #     [[0.5, 1], 0], 
  11. # ] 
  12. ingress_cal_map = [] 
  13. for x in range(0, 35, 1): 
  14.     ingress_cal_map.append( 
  15.         [[x, (x+1)], 0] 
  16.     ) 
  17. nginx_cal_map = copy.deepcopy(ingress_cal_map) 
  18. nginx_ingress_gap = copy.deepcopy(ingress_cal_map) 
  19. ingress_upstream_gap = copy.deepcopy(ingress_cal_map) 
  20.  
  21.  
  22. def trace_statisics(): 
  23.     trace_ids = [] 
  24.     # 這里的trace_id是提前查找過(guò), 那些響應(yīng)時(shí)間比較久的請(qǐng)求所對(duì)應(yīng)的trace_id 
  25.     with open(trace_id_file) as f: 
  26.         data = f.readlines() 
  27.         for d in data: 
  28.             trace_ids.append(d.strip()) 
  29.  
  30.     cnt = 0 
  31.     for trace_id in trace_ids: 
  32.         try: 
  33.             access_data, ingress_data = get_igor_trace(trace_id) 
  34.         except TypeError as e: 
  35.             # 繼續(xù)嘗試一次 
  36.             try: 
  37.                 access_data, ingress_data = get_igor_trace.force_refresh(trace_id) 
  38.             except TypeError as e: 
  39.                 print("Can't process trace {}: {}".format(trace_id, e)) 
  40.                 continue 
  41.         if access_data['path'] != "/app/v1/user/ping":  # 過(guò)濾臟數(shù)據(jù) 
  42.             continue 
  43.         if 'request_time' not in ingress_data: 
  44.             continue 
  45.  
  46.         def get_int_num(data):  # 數(shù)據(jù)統(tǒng)一做*10處理 
  47.             return int(float(data) * 10) 
  48.  
  49.         # 針對(duì)每個(gè)區(qū)間段進(jìn)行數(shù)據(jù)統(tǒng)計(jì), 可能有點(diǎn)羅嗦和重復(fù), 我當(dāng)時(shí)做統(tǒng)計(jì)夠用了 
  50.         ingress_req_time = get_int_num(ingress_data['request_time']) 
  51.         ingress_upstream_time = get_int_num(ingress_data['upstream_response_time']) 
  52.         for cal in ingress_cal_map: 
  53.             if ingress_req_time >= cal[0][0] and ingress_req_time < cal[0][1]: 
  54.                 cal[1] += 1 
  55.                 break 
  56.  
  57.         nginx_req_time = get_int_num(access_data['request_time']) 
  58.         for cal in nginx_cal_map: 
  59.             if nginx_req_time >= cal[0][0] and nginx_req_time < cal[0][1]: 
  60.                 cal[1] += 1 
  61.                 break 
  62.  
  63.         gap = nginx_req_time - ingress_req_time 
  64.         for cal in nginx_ingress_gap: 
  65.             if gap >= cal[0][0] and gap <= cal[0][1]: 
  66.                 cal[1] += 1 
  67.                 break 
  68.  
  69.         gap = ingress_req_time - ingress_upstream_time 
  70.         for cal in ingress_upstream_gap: 
  71.             if gap >= cal[0][0] and gap <= cal[0][1]: 
  72.                 cal[1] += 1 
  73.                 break 

我分別針對(duì) request_time(nginx) , request_time(ingress) , 以及 requet_time(nginx) - request_time(ingress) ,做了統(tǒng)計(jì).

最后的統(tǒng)計(jì)結(jié)果大概如下: 

Nginx響應(yīng)時(shí)間

Ingress響應(yīng)時(shí)間

Nginx-Ingress響應(yīng)時(shí)間 

結(jié)果分析

我們總共有約 3000 條數(shù)據(jù)!

  • 圖一: 超過(guò)半數(shù)的請(qǐng)求落在 1 1.1s 區(qū)間, 1s 2s 的請(qǐng)求比較均勻, 之后越來(lái)越少了.
  • 圖二: 大約 1/4 的請(qǐng)求其實(shí)已經(jīng)在 0.1s 內(nèi)返回了, 但是 1~1.1s 也有 1/4 的請(qǐng)求落上去了, 隨后的結(jié)果與圖一類似.

從圖 1 圖 2 結(jié)合來(lái)看, 部分請(qǐng)求在 Ingress 側(cè)處理的時(shí)間其實(shí)比較短的,

  • 圖三: 比較明顯了, 2/3 的請(qǐng)求在響應(yīng)時(shí)間方面能夠保持一致, 1/3 的請(qǐng)求會(huì)有 1s 左右的延遲.

總結(jié)

從統(tǒng)計(jì)結(jié)果來(lái)看, Nginx => Ingress 以及 Ingress => upstream, 都存在不同程度的延遲, 超過(guò) 1s 的應(yīng)用, 大約有 2/3 的延遲來(lái)自 Ingress=>upstream, 1/3 的延遲來(lái)自 Nginx=>Ingress.

5 再深入調(diào)查 - 抓包處理

抓包調(diào)查主要針對(duì) Ingress=>uwsgi , 由于數(shù)據(jù)包延遲的情況只是偶發(fā)性現(xiàn)象, 所以需要抓取所有的數(shù)據(jù)包再進(jìn)行過(guò)濾… 這是一條請(qǐng)求時(shí)間較長(zhǎng)的數(shù)據(jù), 本身這個(gè)接口返回應(yīng)該很快.

  1.   "_source": { 
  2.     "INDEX""51"
  3.     "path""/app/v1/media/"
  4.     "referer"""
  5.     "user_agent""okhttp/4.8.1"
  6.     "upstream_connect_time""1.288"
  7.     "upstream_response_time""1.400"
  8.     "TIMESTAMP""1605776490465"
  9.     "request""POST /app/v1/media/ HTTP/1.0"
  10.     "status""200"
  11.     "proxy_upstream_name""default-prod-XXX-80"
  12.     "response_size""68"
  13.     "client_ip""XXXXX"
  14.     "upstream_addr""172.32.18.194:6000"
  15.     "request_size""1661"
  16.     "@source""XXXX"
  17.     "domain""XXX"
  18.     "upstream_status""200"
  19.     "@version""1"
  20.     "request_time""1.403"
  21.     "protocol""HTTP/1.0"
  22.     "tags": ["_dateparsefailure"], 
  23.     "@timestamp""2020-11-19T09:01:29.000Z"
  24.     "request_method""POST"
  25.     "trace_id""87bad3cf9d184df0:87bad3cf9d184df0:0:1" 
  26.   } 

Ingress側(cè)數(shù)據(jù)包

uwsgi側(cè)數(shù)據(jù)包

數(shù)據(jù)包流轉(zhuǎn)情況

回顧一下TCP三次握手:

首先從Ingress側(cè)查看, 連接在21.585446開(kāi)始, 22.588023時(shí), 進(jìn)行了數(shù)據(jù)包重新發(fā)送的操作。

從Node側(cè)查看, node在ingress數(shù)據(jù)包發(fā)出后不久馬上就收到了syn, 也立刻進(jìn)行了syn的返回, 但是不知為何1s后才出現(xiàn)在ingress處。 

有一點(diǎn)比較令人在意, 即便是數(shù)據(jù)包發(fā)生了重傳, 但是也沒(méi)有出現(xiàn)丟包的問(wèn)題, 從兩臺(tái)機(jī)器數(shù)據(jù)包的流轉(zhuǎn)來(lái)看, 此次請(qǐng)求中, 大部分的時(shí)間是因?yàn)閿?shù)據(jù)包的延遲到達(dá)造成的, 重傳只是表面現(xiàn)象, 真正的問(wèn)題是發(fā)生了數(shù)據(jù)包的延遲.

不止是ack數(shù)據(jù)包發(fā)生了延遲

從隨機(jī)抓包的情況來(lái)看, 不止是 SYN ACK 發(fā)生了重傳:

有些 FIN ACK 也會(huì), 數(shù)據(jù)包的延遲是有概率的行為!!!

總結(jié)

單單看這個(gè)抓包可能只能確認(rèn)是發(fā)生了丟包, 但是如果結(jié)合Ingress與Nginx的日志請(qǐng)求來(lái)看, 如果丟包發(fā)生在tcp連接階段, 那么在Ingress中, 我們就可以查看 upstream_connect_time 這個(gè)值來(lái)大致估計(jì)下超時(shí)情況. 當(dāng)時(shí)是這么整理的記錄:

我初步猜測(cè)這部分時(shí)間主要消耗在了 TCP 連接建立時(shí), 因?yàn)榻⑦B接的操作在兩次 Nginx 轉(zhuǎn)發(fā)時(shí)都存在, 而我們的鏈路全部使用了短連接, 下一步我準(zhǔn)備增加 $upstream_connect_time 變量, 記錄建立連接花費(fèi)的時(shí)間. http://nginx.org/en/docs/http/ngx_http_upstream_module.html

后續(xù)工作

既然可以了解到tcp連接的建立時(shí)間比較久, 我們可以用它來(lái)作為一個(gè)衡量指標(biāo), 我把wrk也修改了下, 增加了對(duì)于連接時(shí)間的測(cè)量, 具體的PR見(jiàn)這里(https://github.com/wg/wrk/pull/447), 我們可以利用這一項(xiàng)指標(biāo)衡量后端的服務(wù)情況.

6 尋找大佬, 看看是否遇到類似問(wèn)題

上面的工作前前后后我進(jìn)行了幾次, 也沒(méi)有什么頭緒, 遂找到公司的其他K8S大佬咨詢問(wèn)題, 大佬提供了一個(gè)思路:

宿主機(jī)延遲也高的話,那就暫時(shí)排除宿主機(jī)到容器這條路徑。我們這邊此前排查過(guò)一個(gè)延遲問(wèn)題, 是由于 k8s 的監(jiān)控工具定期 cat proc 系統(tǒng)下的 cgroup 統(tǒng)計(jì)信息, 但由于 docker 頻繁銷毀重建以及內(nèi)核 cache 機(jī)制,使得每次 cat 時(shí)間很長(zhǎng)占用內(nèi)核導(dǎo)致網(wǎng)絡(luò)延遲, 可否排查一下你們的宿主機(jī)是否有類似情形?不一定是 cgroup,其他需要頻繁陷入到內(nèi)核的操作都可能導(dǎo)致延遲很高

這個(gè)跟我們排查的 cgroup 太像了,宿主機(jī)上有一些周期性任務(wù),隨著執(zhí)行次數(shù)增多,占用的內(nèi)核資源越來(lái)越多,達(dá)到一定程度就影響了網(wǎng)絡(luò)延遲

大佬們也提供了一個(gè)內(nèi)核檢查工具(可以追蹤和定位中斷或者軟中斷關(guān)閉的時(shí)間):

https://github.com/bytedance/trace-irqoff

有問(wèn)題的ingress機(jī)器 的latency特別多,好多都是這樣的報(bào)錯(cuò), 其他機(jī)器沒(méi)有這個(gè)日志: 

而后, 我針對(duì)機(jī)器中的kubelet進(jìn)行了一次追蹤, 從火焰圖中可以確認(rèn), 大量的時(shí)間耗費(fèi)在了讀取內(nèi)核信息中。

其中具體的代碼如下:

總結(jié)

根據(jù)大佬所給的方向, 基本能夠確定問(wèn)題發(fā)生的真正原因: 機(jī)器上定時(shí)任務(wù)的執(zhí)行過(guò)多, 內(nèi)核緩存一直增加, 導(dǎo)致內(nèi)核速度變慢了. 它一變慢, 引發(fā)了tcp握手時(shí)間變長(zhǎng), 最后造成用戶體驗(yàn)下降. 既然發(fā)現(xiàn)了問(wèn)題, 解決方案也比較容易搜索到了, 增加任務(wù), 檢查內(nèi)核是否變慢, 慢了的話就清理一次:

  1. sync && echo 3 > /proc/sys/vm/drop_caches 

7 總結(jié)

這次的排查過(guò)程是由于應(yīng)用層出現(xiàn)了影響用戶體驗(yàn)的問(wèn)題后, 進(jìn)一步延伸到了網(wǎng)絡(luò)層, 其中經(jīng)歷了漫長(zhǎng)的抓包過(guò)程, 也增加了自己的腳本用于指標(biāo)衡量, 隨后又通過(guò)內(nèi)核工具定位到了具體應(yīng)用, 最后再根據(jù)應(yīng)用的 pprof 工具制作出的火焰圖定位到了更加精確的異常位置, 期間自己一個(gè)人沒(méi)法處理問(wèn)題, 遂請(qǐng)其他大佬來(lái)幫忙, 大佬們見(jiàn)多識(shí)廣, 可以給出一些可能性的猜想, 還是很有幫助的.

當(dāng)你發(fā)現(xiàn)某臺(tái)機(jī)器無(wú)論做什么都慢, 而cpu和內(nèi)核卻不是瓶頸的時(shí)候, 那有可能是內(nèi)核慢了.

希望本文能對(duì)大家未來(lái)排查集群?jiǎn)栴}時(shí)有所幫助.

本文轉(zhuǎn)載自:「k8s技術(shù)圈」,原文:https://tinyurl.com/y5wx3m5x,版權(quán)歸原作者所有。

 

責(zé)任編輯:未麗燕 來(lái)源: Docker中文社區(qū)
相關(guān)推薦

2021-03-29 12:35:04

Kubernetes環(huán)境TCP

2024-03-18 09:10:00

死鎖日志binlog

2021-12-02 07:50:30

NFS故障內(nèi)存

2022-11-03 16:10:29

groovyfullGC

2011-05-06 10:32:06

硬盤鍵盤

2020-08-19 11:02:39

系統(tǒng)ssh登錄

2021-05-26 11:06:06

Kubernetes網(wǎng)絡(luò)故障集群節(jié)點(diǎn)

2018-05-30 11:09:41

memcache服務(wù)器故障

2021-11-02 09:55:57

Linux內(nèi)核內(nèi)存

2018-12-07 11:12:16

Linux運(yùn)維內(nèi)核

2021-11-11 16:14:04

Kubernetes

2010-07-30 16:10:45

UPS設(shè)備燒毀故障分析

2021-12-12 18:12:13

Hbase線上問(wèn)題

2019-12-27 10:43:48

磁盤數(shù)據(jù)庫(kù)死鎖

2019-04-18 10:55:00

故障演練流量

2019-11-04 10:37:53

MongoDB宕機(jī)日志

2020-09-16 08:26:18

圖像定位尺寸

2021-02-11 14:06:38

Linux內(nèi)核內(nèi)存

2021-01-08 13:52:15

Consul微服務(wù)服務(wù)注冊(cè)中心

2016-11-16 09:25:15

WindowsWindow 8Windows 10
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

麻豆国产精品视频| 日本久久成人网| 亚洲人成人一区二区在线观看| 久久6精品影院| 99re久久精品国产| 欧美最新精品| 26uuu精品一区二区| 国产精品久久av| 麻豆疯狂做受xxxx高潮视频| 色婷婷狠狠五月综合天色拍 | 午夜国产精品一区| 日韩欧美一区二区三区四区 | 国产亚洲福利| 日韩视频一区在线| 成人乱码一区二区三区av| 大胆国模一区二区三区| 日韩欧美一区视频| 成年人视频大全| 3d成人动漫在线| 99久久国产综合精品色伊| 成人免费淫片视频软件| 黑人巨大精品一区二区在线| 国产精品探花在线观看| 精品国产电影一区二区| 可以看污的网站| 在线最新版中文在线| 亚洲女人的天堂| 粉嫩av免费一区二区三区| 男女视频免费看| 欧美美女在线| 亚洲国产日韩欧美在线图片| 欧美激情第四页| 久草综合在线| 欧美在线影院一区二区| 日本xxx免费| 在线免费看黄| 国产农村妇女精品| 青娱乐一区二区| 国产乱淫a∨片免费视频| 日日骚欧美日韩| 欧美做受高潮电影o| 九九热精品免费视频| 中文字幕日韩一区二区不卡| 最近2019年中文视频免费在线观看 | 91九色精品视频| 性色av一区二区三区四区| 国产精品一级| 青青草成人在线| 精品国产精品国产精品| 999视频精品| 神马久久久久久| 中文字幕精品亚洲| 91亚洲一区| 久久亚洲国产精品| 蜜桃av免费看| 精品国产乱码久久久久久1区2匹| 欧美一区二区国产| 99视频在线观看视频| 亚洲综合资源| 日韩欧美美女一区二区三区| 青青草原播放器| 深夜福利一区| 亚洲成成品网站| 国产精品无码网站| 免费成人av| 一色桃子一区二区| 国产又黄又粗又猛又爽的| 99热精品久久| 欧美理论片在线观看| 国产一级在线视频| 国产精品久久久久久影院8一贰佰| 亚洲精品一区二区在线| 中文字幕在线视频一区二区三区 | 欧美激情一级欧美精品| 国产精品1000| 天使萌一区二区三区免费观看| 欧美激情视频在线观看| 四虎永久在线精品| 首页亚洲欧美制服丝腿| 国产在线播放不卡| 国产18精品乱码免费看| 久久综合狠狠综合久久激情| 亚洲欧美一区二区原创| 91高清在线观看视频| 欧美日韩国产精品一区二区不卡中文| 欧美人与动牲交xxxxbbbb| 九色porny自拍视频在线观看| 一区二区三区久久久| 日韩激情免费视频| 亚洲精品无播放器在线播放| 精品对白一区国产伦| 超碰在线超碰在线| 亚洲资源网站| 欧美成人精品xxx| 日本中文在线视频| 亚洲专区在线| 91色视频在线观看| 色综合888| 亚洲嫩草精品久久| 日韩av资源在线| 九九99久久精品在免费线bt| 精品视频—区二区三区免费| 日本xxx在线播放| 91日韩欧美| 日本成人免费在线| 亚洲成人777777| 国产精品系列在线| 鲁一鲁一鲁一鲁一澡| 无码小电影在线观看网站免费| 狠狠躁18三区二区一区| 久久成年人网站| 亚洲+小说+欧美+激情+另类| 欧美另类69精品久久久久9999| 亚洲熟女www一区二区三区| 久久国产99| 国产精品三区www17con| 麻豆网站在线| 亚洲一区二区三区在线看| 亚洲欧美日韩一级| 国产一区二区三区视频在线| 亚洲色图激情小说| 日韩成人免费观看| 国产传媒久久文化传媒| 一本色道久久综合亚洲精品婷婷| 国产秀色在线www免费观看| 色播五月激情综合网| 欧美xxxxx精品| 欧美日韩国产欧| 成人在线一区二区| 91精品国产91久久久久游泳池| 亚洲欧美日韩国产成人精品影院 | 日韩免费一区二区三区在线播放| 国产草草浮力影院| 今天的高清视频免费播放成人| 8090成年在线看片午夜| 老熟妇高潮一区二区高清视频| 91麻豆6部合集magnet| a级免费在线观看| 亚洲无线观看| 九九精品在线视频| 国产成人精品毛片| 亚洲乱码国产乱码精品精可以看| 精品视频免费在线播放| 亚洲电影有码| 精品日韩欧美在线| 久艹视频在线观看| 国v精品久久久网| 国产成人永久免费视频| h1515四虎成人| 尤物九九久久国产精品的分类| 久久久夜色精品| 成人免费毛片高清视频| 97在线国产视频| 激情小说亚洲图片| 91精品国产精品| 青春有你2免费观看完整版在线播放高清| 国产精品国产三级国产有无不卡| 欧美精品一区免费| 杨幂一区二区三区免费看视频| 日韩视频一区在线| 午夜久久久久久噜噜噜噜| 亚洲一区二区视频在线| 污片免费在线观看| 午夜欧美精品| 国产精品一区电影| www黄色网址| 亚洲成av人影院在线观看网| 久久人人爽人人爽人人片| 久久国产精品99国产| 亚洲国产精品综合| 嫩呦国产一区二区三区av| 国内精品久久影院| 国产一级在线| 精品免费在线视频| www.99热| 精品一区二区三区在线播放| 国产成人亚洲综合无码| 国产激情欧美| 欧美不卡视频一区发布| 欧美一级在线免费观看| 91极品美女在线| 杨钰莹一级淫片aaaaaa播放| av在线一区二区三区| 国产综合免费视频| 夜间精品视频| 蜜桃传媒一区二区| 99er精品视频| 欧美在线一区二区三区四| 淫片在线观看| 日韩美女av在线| 国产美女精品视频国产| 疯狂欧美牲乱大交777| 亚洲欧洲综合网| av亚洲精华国产精华精| 在线观看免费成人av| 亚洲视频中文| 日本一区二区三区四区在线观看| 成人性生交大片免费观看网站| 国产视频自拍一区| va婷婷在线免费观看| 色婷婷综合五月| 久久久久无码精品国产| 日本一区二区视频在线| 国产av一区二区三区传媒| 日本欧洲一区二区| 欧美成人免费在线观看视频| 国产精品精品| 欧美日韩高清免费| 成人涩涩网站| 成人国产精品久久久| 国产成人无吗| 伊人久久久久久久久久久久久| 亚洲天堂2021av| 欧美日韩国产色| 免费人成视频在线| 亚洲欧洲在线观看av| 成人午夜剧场视频网站| 成人天堂资源www在线| 天天操天天干天天做| 欧美日韩hd| 中文字幕一区二区三区四区五区人| 欧美影院精品| 国产伦精品一区二区三区精品视频| 在线激情网站| 亚洲一区二区福利| 欧美在线一卡| 亚洲精品国产综合区久久久久久久 | 一本精品一区二区三区| 91免费视频网站| 色8久久影院午夜场| 韩国美女主播一区| 美足av综合网| 亚洲视频自拍偷拍| 视频国产在线观看| 日韩成人在线观看| 一级片视频网站| 亚洲一区二区视频在线| 亚洲国产美女视频| 亚洲日本va在线观看| 国产又粗又长又黄的视频| 国产偷国产偷亚洲高清人白洁| 午夜av中文字幕| 国产婷婷精品| 国产男女在线观看| 亚洲综合电影一区二区三区| 激情深爱综合网| 9色精品在线| 欧美精品99久久| 奶水喷射视频一区| 日韩av资源在线| 奇米色一区二区三区四区| 免费黄色一级网站| 免费成人在线视频观看| 午夜免费看视频| 国产精品久久久久久模特| 国产精品又粗又长| 2023国产精品久久久精品双| 日韩最新中文字幕| 精品少妇av| 亚洲午夜精品福利| 色天天色综合| 日韩电影免费观看在| 日韩三级在线| 欧美精品亚洲精品| 日本欧美国产| 男同互操gay射视频在线看| 欧美日本免费| 黑人糟蹋人妻hd中文字幕| 丝袜a∨在线一区二区三区不卡 | 日韩黄色影院| 久久五月情影视| 好久没做在线观看| 国产91免费观看| 亚洲免费资源| 国产尤物99| blacked蜜桃精品一区| 国产在线一区二区三区欧美 | 久久国产精品 国产精品| 一区二区三区韩国免费中文网站| 国产乱子伦精品| 精品一区二区三区中文字幕老牛| 欧美日韩一区在线播放| 欧美3p在线观看| 一卡二卡三卡视频| 你懂的国产精品| 热久久最新网址| 久久xxxx精品视频| 国产精品嫩草影视| 26uuu精品一区二区| 成人无码www在线看免费| 国产精品久久久久7777按摩| 国产性生活网站| 亚洲午夜免费福利视频| 国产精品午夜一区二区| 欧美va亚洲va在线观看蝴蝶网| 成人高潮片免费视频| 亚洲欧美日韩综合| 午夜小视频福利在线观看| 久久久999精品| 中文av在线全新| 国产va免费精品高清在线观看| 欧亚一区二区| 国产精品免费一区二区三区四区| 乱中年女人伦av一区二区| 亚洲一区二区三区色| 另类图片国产| 日韩综合第一页| ㊣最新国产の精品bt伙计久久| 免费三级在线观看| 欧美中文字幕一区二区三区| 日韩性xxxx| 欧美精品在线免费| 91成人抖音| 欧美lavv| 99re国产精品| 26uuu国产| 亚洲婷婷综合久久一本伊一区| 激情五月婷婷在线| 欧美日韩国产成人在线91| 日韩大片b站免费观看直播| 欧美激情videoshd| 精品一区二区三区亚洲| 亚洲激情电影在线| 日本伊人色综合网| 日韩精品无码一区二区三区久久久 | 国产精品久久波多野结衣| 欧美精品密入口播放| 男人的天堂avav| 精品无人码麻豆乱码1区2区 | 中文字幕日韩一区二区三区| 久久久久国产一区二区| 在线观看国产免费视频| 国产欧美日产一区| 精品一区二区三区人妻| 欧美一区二区三区在线视频| 亚洲成人三级| 成人www视频在线观看| 日韩不卡一区| 一区二区三区免费播放| 国产日韩欧美激情| 亚洲午夜无码久久久久| 一区二区三区天堂av| 搞黄网站在线看| 国产美女精品久久久| 136国产福利精品导航网址| 国产精品日日摸夜夜爽| 一个色在线综合| 中文字幕人妻互换av久久| 精品国产乱码久久久久久牛牛| 成人高清在线| 国产精品专区一| 精品中文字幕一区二区三区av| www.亚洲一区二区| 国产二区国产一区在线观看| 国产免费无码一区二区视频| 日韩欧美色综合网站| 麻豆av在线播放| 久久大香伊蕉在人线观看热2| 亚洲女同一区| 日批免费观看视频| 欧美性xxxx在线播放| 国产69久久| 91人人爽人人爽人人精88v| 欧美日韩专区| 女同毛片一区二区三区| 日本黄色一区二区| 日本私人网站在线观看| 国产精品第七影院| 亚洲天天影视网| 800av在线播放| 亚洲国产欧美一区二区三区丁香婷| 国产精品特级毛片一区二区三区| 亚洲网站在线播放| 99久久99九九99九九九| 亚洲国产日韩综合一区| 国产美女精品一区二区三区| 久久中文字幕精品| 在线免费观看日本欧美| 噜噜噜在线观看播放视频| 国产精品丝袜一区二区三区| 中文字幕一区二区三区在线视频| 国产一伦一伦一伦| 亚洲妇女屁股眼交7| 国产精品四虎| 成人免费在线一区二区三区| 久久久精品五月天| 在线看的片片片免费| 91精品中文字幕一区二区三区| 久久99精品久久久久久野外| 国产一区免费在线| 久久精品国产99国产| 亚洲国产精一区二区三区性色| 亚洲第一天堂无码专区| 秋霞国产精品| 久久99中文字幕| 亚洲欧美日韩电影| 激情小视频在线| 国产精品视频久久久久| 亚洲国产日韩在线| 精品无码一区二区三区蜜臀|