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

聊聊K8s的 Nginx Ingress 調優

開發 前端
Nginx Ingress Controller 基于 Nginx 實現了 Kubernetes Ingress API,Nginx 是公認的高性能網關,但如果不對其進行一些參數調優,就不能充分發揮出高性能的優勢。

概述

Nginx Ingress Controller 基于 Nginx 實現了 Kubernetes Ingress API,Nginx 是公認的高性能網關,但如果不對其進行一些參數調優,就不能充分發揮出高性能的優勢。Nginx Ingress工作原理:

內核參數調優

我們先看看通過內核的哪些參數能夠提高Ingress的性能。保證在高并發環境下,發揮Ingress的最大性能。

調大全連接隊列的大小

TCP 全連接隊列的最大值取決于 somaxconn 和 backlog 之間的最小值,也就是 min(somaxconn, backlog)。在高并發環境下,如果隊列過小,可能導致隊列溢出,使得連接部分連接無法建立。要調大 Nginx Ingress 的連接隊列,只需要調整 somaxconn 內核參數的值即可,但我想跟你分享下這背后的相關原理。Nginx 監聽 socket 時沒有讀取 somaxconn,而是有自己單獨的參數配置。在 nginx.conf 中 listen 端口的位置,還有個叫 backlog 參數可以設置,它會決定 nginx listen 的端口的連接隊列大小。

  1. server { 
  2.     listen  80  backlog=1024; 
  3.     ... 

backlog 是 listen(int sockfd, int backlog) 函數中的 backlog 大小,Nginx 默認值是 511,可以通過修改配置文件設置其長度;還有 Go 程序標準庫在 listen 時,默認直接讀取 somaxconn 作為隊列大小。就是說,即便你的 somaxconn 配的很高,nginx 所監聽端口的連接隊列最大卻也只有 511,高并發場景下可能導致連接隊列溢出。所以在這個在 Nginx Ingress 中, Nginx Ingress Controller 會自動讀取 somaxconn 的值作為 backlog 參數寫到生成的 nginx.conf 中: https://github.com/kubernetes/ingress-nginx/blob/controller-v0.34.1/internal/ingress/controller/nginx.go#L592 也就是說,Nginx Ingress 的連接隊列大小只取決于 somaxconn 的大小,這個值在 Nginx Ingress 默認為 4096,建議給 Nginx Ingress 設為 65535:

  1. sysctl -w net.core.somaxconn=65535 

擴大源端口范圍

根據《linux中TCP三次握手與四次揮手介紹及調優》的介紹,我們知道客戶端會占用端口。在高并發場景會導致 Nginx Ingress 使用大量源端口與upstream建立連接。源端口范圍是在內核參數 net.ipv4.ip_local_port_range 中調整的。在高并發環境下,端口范圍過小容易導致源端口耗盡,使得部分連接異常。Nginx Ingress 創建的 Pod 源端口范圍默認是 32768-60999,建議將其擴大,調整為 1024-65535:

  1. sysctl -w net.ipv4.ip_local_port_range="1024 65535" 

TIME_WAIT

根據《linux中TCP三次握手與四次揮手介紹及調優》的介紹,我們知道客戶端會占用端口。當在 netns 中 TIME_WAIT 狀態的連接就比較多的時候,源端口就會被長時間占用。因為而 TIME_WAIT 連接默認要等 2MSL 時長才釋放,當這種狀態連接數量累積到超過一定量之后可能會導致無法新建連接。所以建議給 Nginx Ingress 開啟 TIME_WAIT 復用,即允許將 TIME_WAIT 連接重新用于新的 TCP 連接:

  1. sysctl -w net.ipv4.tcp_tw_reuse=1 

減小FIN_WAIT2狀態的參數 net.ipv4.tcp_fin_timeout 的時間和減小TIME_WAIT 狀態的參數net.netfilter.nf_conntrack_tcp_timeout_time_wait的時間 ,讓系統盡快釋放它們所占用的資源。

  1. sysctl -w net.ipv4.tcp_fin_timeout=15 
  2. sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=30 

調大增大處于 TIME_WAIT 狀態的連接數

Nginx一定要關注這個值,因為它對你的系統起到一個保護的作用,一旦端口全部被占用,服務就異常了。tcp_max_tw_buckets 能幫你降低這種情況的發生概率,爭取補救時間。在只有 60000 多個端口可用的情況下,配置為:

  1. sysctl -w net.ipv4.tcp_max_tw_buckets = 55000 

調大最大文件句柄數

Nginx 作為反向代理,對于每個請求,它會與 client 和 upstream server 分別建立一個連接,即占據兩個文件句柄,所以理論上來說 Nginx 能同時處理的連接數最多是系統最大文件句柄數限制的一半。系統最大文件句柄數由 fs.file-max 這個內核參數來控制,默認值為 838860,建議調大:

  1. sysctl -w fs.file-max=1048576 

配置示例

給 Nginx Ingress Controller 的 Pod 添加 initContainers 來設置內核參數:

  1. initContainers: 
  2.       - name: setsysctl 
  3.         image: busybox 
  4.         securityContext: 
  5.           privileged: true 
  6.         command: 
  7.         - sh 
  8.         - -c 
  9.         - | 
  10.           sysctl -w net.core.somaxconn=65535 
  11.           sysctl -w net.ipv4.ip_local_port_range="1024 65535" 
  12.           sysctl -w net.ipv4.tcp_max_tw_buckets = 55000 
  13.           sysctl -w net.ipv4.tcp_tw_reuse=1 
  14.           sysctl -w fs.file-max=1048576 
  15.           sysctl -w net.ipv4.tcp_fin_timeout=15 
  16.           sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=30 

應用層配置調優

除了內核參數需要調優,Nginx 本身的一些配置也需要進行調優,下面我們來詳細看下。

調高 keepalive 連接最大請求數

keepalive_requests指令用于設置一個keep-alive連接上可以服務的請求的最大數量,當最大請求數量達到時,連接被關閉。默認是100。這個參數的真實含義,是指一個keep alive建立之后,nginx就會為這個連接設置一個計數器,記錄這個keep alive的長連接上已經接收并處理的客戶端請求的數量。如果達到這個參數設置的最大值時,則nginx會強行關閉這個長連接,逼迫客戶端不得不重新建立新的長連接。

簡單解釋一下:QPS=10000時,客戶端每秒發送10000個請求(通常建立有多個長連接),每個連接只能最多跑100次請求,意味著平均每秒鐘就會有100個長連接因此被nginx關閉。同樣意味著為了保持QPS,客戶端不得不每秒重新新建100個連接。因此,就會發現有大量的TIME_WAIT的socket連接(即使此時keep alive已經在client和nginx之間生效)。因此對于QPS較高的場景,非常有必要加大這個參數,以避免出現大量連接被生成再拋棄的情況,減少TIME_WAIT。

如果是內網 Ingress,單個 client 的 QPS 可能較大,比如達到 10000 QPS,Nginx 就可能頻繁斷開跟 client 建立的 keepalive 連接,然后就會產生大量 TIME_WAIT 狀態連接。我們應該盡量避免產生大量 TIME_WAIT 連接,所以,建議這種高并發場景應該增大 Nginx 與 client 的 keepalive 連接的最大請求數量,在 Nginx Ingress 的配置對應 keep-alive-requests,可以設置為 10000,參考: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#keep-alive-requests 同樣的,Nginx 與 upstream 的 keepalive 連接的請求數量的配置是 upstream-keepalive-requests,參考: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#upstream-keepalive-requests

但是,一般情況應該不必配此參數,如果將其調高,可能導致負載不均,因為 Nginx 與 upstream 保持的 keepalive 連接過久,導致連接發生調度的次數就少了,連接就過于 "固化",使得流量的負載不均衡。

調高 keepalive 最大空閑連接數

Nginx 針對 upstream 有個叫 keepalive 的配置,它不是 keepalive 超時時間,也不是 keepalive 最大連接數,而是 keepalive 最大空閑連接數。當這個數量被突破時,最近使用最少的連接將被關閉。

簡單解釋一下:有一個HTTP服務,作為upstream服務器接收請求,響應時間為100毫秒。如果要達到10000 QPS的性能,就需要在nginx和upstream服務器之間建立大約1000條HTTP連接。nginx為此建立連接池,然后請求過來時為每個請求分配一個連接,請求結束時回收連接放入連接池中,連接的狀態也就更改為idle。我們再假設這個upstream服務器的keepalive參數設置比較小,比如常見的10. A、假設請求和響應是均勻而平穩的,那么這1000條連接應該都是一放回連接池就立即被后續請求申請使用,線程池中的idle線程會非常的少,趨近于零,不會造成連接數量反復震蕩。B、顯示中請求和響應不可能平穩,我們以10毫秒為一個單位,來看連接的情況(注意場景是1000個線程+100毫秒響應時間,每秒有10000個請求完成),我們假設應答始終都是平穩的,只是請求不平穩,第一個10毫秒只有50,第二個10毫秒有150:

  1. 下一個10毫秒,有100個連接結束請求回收連接到連接池,但是假設此時請求不均勻10毫秒內沒有預計的100個請求進來,而是只有50個請求。注意此時連接池回收了100個連接又分配出去50個連接,因此連接池內有50個空閑連接。
  2. 然后注意看keepalive=10的設置,這意味著連接池中最多容許保留有10個空閑連接。因此nginx不得不將這50個空閑連接中的40個關閉,只留下10個。
  3. 再下一個10個毫秒,有150個請求進來,有100個請求結束任務釋放連接。150 - 100 = 50,空缺了50個連接,減掉前面連接池保留的10個空閑連接,nginx不得不新建40個新連接來滿足要求。

C、同樣,如果假設相應不均衡也會出現上面的連接數波動情況。

它的默認值為 32,在高并發下場景下會產生大量請求和連接,而現實世界中請求并不是完全均勻的,有些建立的連接可能會短暫空閑,而空閑連接數多了之后關閉空閑連接,就可能導致 Nginx 與 upstream 頻繁斷連和建連,引發 TIME_WAIT 飆升。在高并發場景下可以調到 1000,參考: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#upstream-keepalive-connections

網關超時

ingress nginx 與 upstream pod 建立 TCP 連接并進行通信,其中涉及 3 個超時配置,我們也相應進行調優。proxy-connect-timeout 選項 設置 nginx 與 upstream pod 連接建立的超時時間,ingress nginx 默認設置為 5s,由于在nginx 和業務均在內網同機房通信,我們將此超時時間縮短一些,比如3秒。參考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-connect-timeout

proxy-read-timeout 選項設置 nginx 與 upstream pod 之間讀操作的超時時間,ingress nginx 默認設置為 60s,當業務方服務異常導致響應耗時飆漲時,異常請求會長時間夯住 ingress 網關,我們在拉取所有服務正常請求的 P99.99 耗時之后,將網關與 upstream pod 之間讀寫超時均縮短到 3s,使得 nginx 可以及時掐斷異常請求,避免長時間被夯住。參考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-read-timeout

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-send-timeout

調高單個 worker 最大連接數

max-worker-connections 控制每個 worker 進程可以打開的最大連接數,默認配置是 16384。在高并發環境建議調高,比如設置到 65536,這樣可以讓 nginx 擁有處理更多連接的能力,參考: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#max-worker-connections

優化重試機制

nginx 提供了默認的 upstream 請求重試機制,默認情況下,當 upstream 服務返回 error 或者超時,nginx 會自動重試異常請求,并且沒有重試次數限制。由于接入層 nginx 和 ingress nginx 本質都是 nginx,兩層 nginx 都啟用了默認的重試機制,異常請求時會出現大量重試,最差情況下會導致集群網關雪崩。接入層 nginx 一起解決了這個問題:接入層 nginx 必須使用 proxy_next_upstream_tries 嚴格限制重試次數,ingress nginx 則使用 proxy-next-upstream="off"直接關閉默認的重試機制。參考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-next-upstream

開啟 brotli 壓縮

參考: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#enable-brotli

壓縮是時間換空間的通用方法。用cpu時間來換取大量的網絡帶寬,增大吞吐量。Brotli是Google開發的一種壓縮方法,于2015年發布。我們常用的壓縮算法是 gzip(Ingress-nginx也是默認使用gzip),據說brotli要比gzip高出20%至30%的壓縮率。默認的壓縮算法是gzip,壓縮級別為1,如需要啟用brotli,需要配置以下三個參數:

  • enable-brotli: true 或 false,是否啟用brotli壓縮算法
  • brotli-level: 壓縮級別,范圍1~11,默認為4,級別越高,越消耗CPU性能。
  • brotli-types: 由brotli即時壓縮的MIME類型

配置示例

Nginx 全局配置通過 configmap 配置(Nginx Ingress Controller 會 watch 并自動 reload 配置):

  1. apiVersion: v1 
  2. kind: ConfigMap 
  3. metadata: 
  4.   name: nginx-ingress-controller 
  5. data: 
  6.   keep-alive-requests: "10000" 
  7.   upstream-keepalive-connections: "200" 
  8.   max-worker-connections: "65536" 
  9.   proxy-connect-timeout: "3" 
  10.   proxy-read-timeout: "3" 
  11.   proxy-send-timeout: "3" 
  12.   proxy-next-upstream: "off" 
  13.   enable-brotli: "true" 
  14.   brotli-level"6" 
  15.   brotli-types: "text/xml image/svg+xml application/x-font-ttf image/vnd.microsoft.icon application/x-font-opentype application/json font/eot application/vnd.ms-fontobject application/javascript font/otf application/xml application/xhtml+xml text/javascript application/x-javascript text/plain application/x-font-truetype application/xml+rss image/x-icon font/opentype text/css image/x-win-bitmap" 

參考資料

優化nginx-ingress-controller并發性能:

https://cloud.tencent.com/developer/article/1537695

Nginx Ingress 配置參考:

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/

Tuning NGINX for Performance:

https://www.nginx.com/blog/tuning-nginx/

ngx_http_upstream_module 官方文檔:

http://nginx.org/en/docs/http/ngx_http_upstream_module.html

本文轉載自微信公眾號「運維開發故事」,可以通過以下二維碼關注。轉載本文請聯系運維開發故事公眾號。

 

責任編輯:姜華 來源: 運維開發故事
相關推薦

2023-09-15 08:00:20

Ingress網關Istio

2025-03-05 08:33:56

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2023-04-24 14:54:09

JVM性能調優

2020-11-30 11:40:35

NginxLinux性能調優

2021-09-26 07:43:08

KongKongaK8s

2023-09-06 08:12:04

k8s云原生

2024-01-26 14:35:03

鑒權K8sNode

2021-12-06 11:03:57

JVM性能調優

2025-03-10 08:00:05

2024-10-15 08:37:08

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標簽

2022-04-29 10:40:38

技術服務端K8s

2023-08-03 08:36:30

Service服務架構

2023-08-04 08:19:02

2023-05-25 21:38:30

2022-01-07 08:23:38

k8s AnnotationNginx

2024-07-22 13:43:31

Kubernetes容器
點贊
收藏

51CTO技術棧公眾號

亚洲激情自拍偷拍| 欧美bbbbb| 精品性高朝久久久久久久| 成人在线免费在线观看| 超碰在线影院| 9999在线精品视频| 亚洲激情图片一区| 玖玖玖精品中文字幕| 中文字幕人妻精品一区| 欧美日韩亚洲一区| 国产午夜精品一区二区三区| 肉色超薄丝袜脚交| 东京一区二区| 樱桃国产成人精品视频| 欧美日韩在线一区二区三区| 97视频免费在线| 色婷婷av一区二区三区丝袜美腿| 欧美色图一区二区三区| 日韩精品在线视频免费观看| av在线日韩国产精品| 成人av免费观看| 国产一区二区在线播放| 中国一级特黄毛片| 亚洲精品国产偷自在线观看| 欧美色国产精品| 大胆欧美熟妇xx| 成a人v在线播放| 成人三级在线视频| 国产精品视频99| 日韩一区二区视频在线| 欧美一区在线看| 一区二区三区视频在线| 黄色一级二级三级| 川上优的av在线一区二区| 丁香六月久久综合狠狠色| 国产精品视频资源| 特级做a爱片免费69| 狠狠色丁香久久综合频道| 精品国内亚洲在观看18黄 | 天天成人综合网| 日韩av免费观影| 成人免费高清视频| 成人黄动漫网站免费| 强行糟蹋人妻hd中文| 欧美hd在线| 国产一区二区三区在线视频| 成人无码www在线看免费| 亚洲三级av| 欧美日韩免费观看中文| 日本精品福利视频| 黄色网址在线免费观看| 中文字幕在线不卡视频| 一区二区三区欧美在线| 一广人看www在线观看免费视频| 久久久国际精品| 欧美在线播放一区| 玖玖综合伊人| 欧美精彩视频一区二区三区| 欧美日韩中文国产一区发布| 国产精品久久一区二区三区不卡 | 欧美18—19性高清hd4k| 国产videos久久| 亚洲天堂av在线免费| mm131美女视频| av伊人久久| 色小说视频一区| 韩国一级黄色录像| 欧美影视一区| 91精品国产高清久久久久久| 国产微拍精品一区| 久久久久久色| 国产伦精品一区二区三区精品视频| 一区二区三区在线免费观看视频| 久久99久久久久| 99re在线观看| 污视频网站免费观看| 国产色91在线| 一区二区在线不卡| 69xxx在线| 好吊成人免视频| 天天综合网日韩| 日本免费一区二区视频| 色美美综合视频| 爱情岛论坛vip永久入口| 日韩久久一区| 欧美精品一区二区三区四区| 极品粉嫩小仙女高潮喷水久久| 蜜桃一区二区三区| 按摩亚洲人久久| 天堂资源在线播放| 日日夜夜精品视频免费| 91老司机在线| 亚洲人成色777777老人头| 国产亚洲欧美色| 青青草原国产免费| 美女高潮视频在线看| 欧洲亚洲精品在线| 国产乱国产乱老熟300部视频| 亚洲精品国模| 免费成人高清视频| 日韩一区二区三区四区视频| 综合天堂av久久久久久久| 国产91|九色| 国产男男gay体育生白袜| 26uuu国产电影一区二区| 伊人久久大香线蕉午夜av| 超碰在线网站| 欧美女孩性生活视频| 中文成人无字幕乱码精品区| 亚洲澳门在线| 欧美一乱一性一交一视频| 国产精品亚洲欧美在线播放| 91碰在线视频| 日本天堂免费a| 国产精品久久久久久久久久齐齐| 精品国产乱码91久久久久久网站| 天天操天天舔天天射| 亚洲区一区二| 97在线精品视频| 一区二区三区精| 久久天天做天天爱综合色| 国产精品igao激情视频| 久久天天久久| 亚洲人午夜精品免费| 国产在线视频第一页| 久久se精品一区二区| 日本一区二区三不卡| av丝袜在线| 日韩欧美高清一区| 国产高清视频免费在线观看| 青青草成人在线观看| 久久国产精品一区二区三区四区| 日韩特级毛片| 日韩一区二区麻豆国产| 色婷婷粉嫩av| 看国产成人h片视频| 欧美在线激情| 3d性欧美动漫精品xxxx软件| 精品视频—区二区三区免费| 久久久全国免费视频| 国产成人一级电影| 国产高清不卡无码视频| 亚洲一区二区电影| 色综合视频一区中文字幕| 精品国产伦一区二区三| 一区二区高清免费观看影视大全| 欧洲在线免费视频| 91精品一区国产高清在线gif| 国产精品专区h在线观看| lutube成人福利在线观看| 91成人在线免费观看| 免费在线观看你懂的| 午夜综合激情| 日产精品一线二线三线芒果| 亚洲一区二区三区四区| 国产一区二区久久精品| 伊人免费在线观看高清版| 中文字幕乱码一区二区免费| 无码内射中文字幕岛国片| 成人国产精品一级毛片视频| 国产精品日韩在线一区| 欧美日本一道| 日韩区在线观看| 国产性猛交普通话对白| www.亚洲在线| 欧美日韩第二页| 成人激情在线| 91九色综合久久| 麻豆福利在线观看| 日韩精品免费看| 中文字幕久久久久| 亚洲美女屁股眼交| 你懂的在线观看网站| 久久精品官网| 中文字幕av导航| 国产精品香蕉| 日韩中文在线观看| 国产巨乳在线观看| 亚洲国产一区二区a毛片| 国产肉体xxxx裸体784大胆| 日韩国产欧美在线播放| 久久免费视频2| 国内毛片久久| 国产精品海角社区在线观看| 国产鲁鲁视频在线观看特色| 日韩精品一区二区三区视频| 欧美激情黑白配| 国产精品福利电影一区二区三区四区| 久久久久久久久久久影视| 日韩视频一区| 中文字幕在线亚洲精品| 福利在线一区| 国产精品嫩草影院一区二区| 日本电影在线观看| 夜夜嗨av一区二区三区四区| 囯产精品一品二区三区| 在线视频国产一区| 精品一级少妇久久久久久久| 国产欧美一区二区三区鸳鸯浴| 一级日本黄色片| 男人的天堂成人在线| 永久免费在线看片视频| 精品盗摄女厕tp美女嘘嘘| 成人精品在线视频| 欧美成人精品三级网站| 久久免费观看视频| 看黄网站在线| 国产小视频国产精品| 亚洲精品久久久久久无码色欲四季| 91九色02白丝porn| 韩国av免费观看| 成人免费毛片高清视频| 国产色视频在线播放| 欧美肉体xxxx裸体137大胆| 成人区精品一区二区| 国产精品诱惑| 清纯唯美日韩制服另类| 性国产高清在线观看| 中文字幕亚洲欧美在线| 国产精品无码在线播放| 色综合久久88色综合天天免费| 亚洲成人生活片| 国产精品久久久久一区二区三区共| 国产精品300页| 国产福利一区二区三区视频在线| 爱情岛论坛亚洲首页入口章节| 国产精品久久777777毛茸茸| 欧美狂野激情性xxxx在线观| 大片免费播放在线视频| 亚洲人挤奶视频| 91在线看www| 国产成人免费| 国产精品扒开腿爽爽爽视频| 秋霞伦理一区| 国外成人性视频| 狂野欧美激情性xxxx欧美| 久久久久99精品久久久久| 91亚洲欧美| 在线电影中文日韩| 国内三级在线观看| 亚洲欧洲日产国产网站| 天天av综合网| 欧美日韩人人澡狠狠躁视频| 九九九免费视频| 亚洲九九爱视频| 欧美日韩黄色网| 日韩美女精品在线| 欧美成人777| 亚洲女人****多毛耸耸8| 我要看黄色一级片| 亚洲精品免费视频| 国产97免费视频| 一区二区三区四区av| 妺妺窝人体色www婷婷| 亚洲最大成人综合| 中文在线观看免费网站| 国产日韩欧美精品电影三级在线| 久久丫精品国产亚洲av不卡| 久久女同精品一区二区| 亚洲成人黄色av| 中文字幕av在线一区二区三区| 免费看的黄色录像| 国产精品成人一区二区三区夜夜夜| 国产精品久久久免费看| 综合久久给合久久狠狠狠97色| 成熟的女同志hd| 亚洲国产日日夜夜| 99精品在线播放| 在线视频你懂得一区二区三区| 伊人久久亚洲综合| 欧美成人猛片aaaaaaa| 无码免费一区二区三区| 在线观看精品一区| 91亚洲视频在线观看| 日韩欧美成人一区二区| 天天干天天舔天天射| 91精品在线一区二区| av网站在线观看免费| 亚洲成人精品av| 国产毛片在线看| 日韩有码在线观看| 国产三线在线| 国产精品av电影| 999色成人| 久久天天狠狠| 国产精品毛片一区二区在线看| 69精品丰满人妻无码视频a片| 国产欧美69| 亚洲欧美日韩三级| 99久久精品免费| 精品女人久久久| 亚洲不卡av一区二区三区| 免费在线不卡av| 日韩免费在线观看| 国产福利片在线| 欧美激情在线狂野欧美精品| 日韩成人动漫| 99久久99| 成人久久综合| 免费毛片网站在线观看| 久久精品免费看| 亚洲 欧美 日韩在线| 国产精品久久久久久亚洲毛片| 国产无套内射又大又猛又粗又爽| 欧美日韩在线一区二区| 色wwwwww| 欧美成人精品一区二区三区| 日本免费一区二区三区四区| 国产精品三区www17con| 99久久激情| 久久精品免费一区二区| 精品亚洲国内自在自线福利| 波多野结衣 在线| 亚洲国产精品久久久久婷婷884 | 91九色精品视频| 欧美欧美黄在线二区| 日本熟妇人妻xxxx| 国内不卡的二区三区中文字幕| 国产成人精品无码免费看夜聊软件| 艳妇臀荡乳欲伦亚洲一区| 夜夜躁很很躁日日躁麻豆| 精品亚洲va在线va天堂资源站| 国产乱码在线| 亚洲www在线| 三上亚洲一区二区| 欧美成人黑人猛交| 91一区二区在线| 久久久久久久久久久久国产| 777xxx欧美| 免费大片在线观看www| 国产成人精品视| 亚洲男人都懂第一日本| 日本福利视频在线| 成人精品一区二区三区四区 | 亚洲韩国精品一区| 国产三级漂亮女教师| www.日韩免费| 欧美性生活一级| 一个色的综合| 麻豆精品在线播放| 女教师淫辱の教室蜜臀av软件| 色八戒一区二区三区| 青青草视频免费在线观看| 97国产精品免费视频| 高清日韩欧美| 久草免费福利在线| 成人午夜又粗又硬又大| www.youjizz.com亚洲| 日韩你懂的电影在线观看| 久久久123| av一区观看| 在线成人欧美| 亚洲天堂资源在线| 色偷偷成人一区二区三区91| 欧美成人片在线| 国产精品扒开腿做| 色男人天堂综合再现| 国产永久免费网站| 成人综合激情网| 成人免费看片98| 日韩高清不卡av| 怡红院成人在线| 亚洲激情图片| 精品在线免费视频| 欧美日韩在线观看成人| 精品sm捆绑视频| 欧美xxxhd| 视频一区免费观看| 欧美另类亚洲| 涩视频在线观看| 狠狠躁夜夜躁人人爽超碰91| 巨骚激情综合| 成人免费看片视频| 激情成人亚洲| 美女100%无挡| 欧美男生操女生| sm久久捆绑调教精品一区| 日韩av在线一区二区三区| 久久国产欧美日韩精品| 麻豆成人在线视频| 亚洲欧美日韩一区二区在线| 九七电影院97理论片久久tvb| 国产av不卡一区二区| 成人激情视频网站| 超碰在线97观看| 久青草国产97香蕉在线视频| caoporn成人| 三级视频中文字幕| 亚洲国产视频一区| 成人在线免费公开观看视频| 亚洲一区二区三区久久| 亚洲一卡久久| 国产精品视频一区二区三| 国产视频亚洲视频| 成人自拍视频| 黄色国产小视频| 亚洲午夜影视影院在线观看| 第一福利在线| 国产亚洲情侣一区二区无| 麻豆国产一区二区|