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

Linux高性能網絡編程十談 | 性能優化(網絡)

系統 Linux
上一篇文章講了《性能優化(CPU和內存)》,這一節我們主要是聊聊網絡優化。

上一篇文章講了《性能優化(CPU和內存)》,這一節我們主要是聊聊網絡優化。

第一部分:網絡性能度量

1、設備度量

設備主要是指塊設備,由于我們在開發過程中,需要磁盤操作,比如寫日志等,所以對于塊設備的I/O對于我們需要度量性能的一個重要指標。

(1)I/O等待

CPU等待I/O操作發生的時間,較高和持續的值很多時候表明IO有瓶頸,一般通過iostat -x命令查看:

[root@VM-0-11-centos ~]# iostat -x
Linux 3.10.0-1127.19.1.el7.x86_64 (VM-0-11-centos)  2023年09月23日  _x86_64_ (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.40    0.00    0.41    0.25    0.00   98.93

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00    10.12    0.08   10.13     1.82    85.81    17.16     0.02    2.03    9.06    1.97   0.36   0.37
scd0              0.00     0.00    0.00    0.00     0.00     0.00     7.14     0.00    0.27    0.27    0.00   0.27   0.00

其中avgqu-sz,avgrq-sz,await,iowait,svctm等這些都需要關注,其含義如下:

  • avgqu-sz是平均每次IO操作的數據量(扇區數為單位)
  • avgrq-sz是平均等待處理的IO請求隊列長度
  • await是平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位)
  • svctm平均每次IO請求的處理時間(毫秒為單位)
  • iowait等待磁盤io所消耗的cpu比例

(2)平均隊列長度

未完成的I/O請求數量,一般情況下,小于3個是合理的,如果超過表示I/O存儲瓶頸,具體可以通過上面的iostat -x命令查看。

(3)平均等待時間

服務I/O請求所測量的平均時間,等待時間不能過長,如果平均等待過長,說明I/O繁忙,具體可以通過上面的iostat -x命令查看。

(4)每秒傳輸

描述每秒讀寫的性能,塊設備的讀寫性能隨著型號或者調度算法的不同存在比較大的差異,比如使用iostat -x可以看到rkB/s,wkB/s,rrqm/s,r/s和w/s,對于I/0滿載的情況下,這些值越大越好。

  • rrqm/s是每秒對該設備的讀請求被合并次數,文件系統會對讀取同塊(block)的請求進行合并
  • wrqm/s是每秒對該設備的寫請求被合并次數
  • r/s是每秒完成的讀次數
  • w/s是每秒完成的寫次數
  • rkB/s是每秒讀數據量(kB為單位)
  • wkB/s是每秒寫數據量(kB為單位)

2、網絡度量

高性能編程一般都離不開網絡收發,對于RPC Server的開發,我們希望的收發和處理越快越好,那具體指標有哪些?

(1)接收和發送的數據包和字節

網絡接口性能可以按照數據包或者字節大小來決定, TODO:

(2)丟包

丟包是指被內核丟棄的數據包,丟棄的原因如下:

  • 連接隊列滿了
  • 收發緩沖區滿了
  • TCP底層重傳次數超過設置
  • 開啟了sync cookie等配置,阻止了一些攻擊包
  • 防火墻設置等

查看丟包是否增長可以通過netstat -s|grep drop命令查看:

[root@VM-0-11-centos ~]# netstat -s|grep drop
    40 dropped because of missing route
    10 SYNs to LISTEN sockets dropped

(3)連接隊列

這里連接隊列是指TCP的三次握手連接隊列(SYN半連接隊列和ACCEPT連接隊列),網絡接收隊列和網路發送隊列。

我們通過netstat -s | grep "SYNs to LISTEN"查看:

[root@VM-0-11-centos ~]# netstat -s | grep "SYNs to LISTEN"
    11 SYNs to LISTEN sockets dropped

或者通過ss -lt查看:

[root@VM-0-11-centos ~]# ss -lt
State      Recv-Q Send-Q                    Local Address:Port                                     Peer Address:Port
LISTEN     0      128                                   *:ssh
  • Recv-Q:表示收到的數據在接收隊列中,但是還有多少沒有被進程取走(非LISTEN的句柄),如果接收隊列一直處于阻塞狀態(這個值很高),可能緩存區太小了或者發包太快;
  • Send-Q:表示發送的數據在發送隊列中未確認的字節數(非LISTEN的句柄),如果發送隊列Send-Q不能很快的清零,可能是有應用向外發送數據包過快,或者是對方接收數據包不夠快;

(4)其他異常

除了上述度量還有其他一些異常度量,比如大量reset包,大量重傳包錯誤,或者能發包,但是不能收包等,網絡相關的度量和排查其實相對復雜,如果大家有興趣可以讀讀《Wireshark網絡分析就這么簡單》,可以通過自己抓包具體分析。

第二部分:網絡層優化

1、零拷貝

在《Linux高性能網絡編程十談|系統調用》一文中,當時介紹了網絡收發包需要經過多次系統調用和內存拷貝:

sendfilesendfile

為了高性能,Linux底層提供了一些零拷貝的系統調用如sendfile,以減少用戶態和內核態的切換,原理是什么呢?

如果內核在讀取文件后,直接把PageCache中的內容拷貝到socket緩沖區,待到網卡發送完畢后,再通知進程,這樣就只有2次上下文切換,和3次內存拷貝;

如果網卡支持SG-DMA(The Scatter-Gather Direct Memory Access)技術,還可以再去除socket緩沖區的拷貝,這樣一共只有2次內存拷貝;

除了上述說的sendfile這種零拷貝可以減少用戶態到內核態切換和拷貝(因為網絡調用),還有一種DirectIO,這種常用于大文件讀寫(比如FTP Server或者其他CDN下載服務器),原因是由于大文件拷貝難以命中PageCache,導致額外的內存拷貝,如果用DirectIO就可以直接操作磁盤,開發者自己控制緩存。

2、解決C1000K

在早期的服務器開發,從C10K(服務器同時處理1萬個TCP連接),C100K(服務器同時處理10萬個TCP連接)到C1000K(服務器同時處理100萬TCP連接),其實原理上還是使用前面說的方式:事件驅動,異步IO或者協程等,具體的原理在《IO復用和模式》《協程》這兩篇文章已經介紹了,如果有興趣可以再回顧一下。而這里我們討論一下可能面臨的幾個場景如何解決:

遇到計算任務,雖然內存、CPU 的速度很快,然而循環執行也可能耗時達到秒級,所以,如果一定要引入需要密集計算才能完成的請求,為了不阻礙其他事件的處理,要么把這樣的請求放在獨立的線程中完成,要么把請求的處理過程拆分成多段,確保每段能夠快速執行完,同時每段執行完都要均等地處理其他事件,這樣通過放慢該請求的處理時間,就保障了其他請求的及時處理,比如像Nginx;

讀寫文件,充分利用PageCache,小文件通過mmap加載到內存,而大文件拆分多個小文件處理;

所有socket操作全部都改為非阻塞,通過epoll或者kqueue來監聽讀寫事件,并將事件拆分給對應的線程處理;

3、提升TCP握手和揮手性能

我們在前面網絡篇中已經清楚了講解了三次握手和四次揮手的流程,但是實際由于TCP的握手協議和揮手協議交互流程過多,會導致一些性能問題,該如何解決?

(1)優化握手參數

正常情況下,握手環節客戶端發送SYN開啟握手,服務器會在幾毫秒內返回ACK,但如果客戶端遲遲沒有收到ACK會怎么樣呢?客戶端會重發SYN,重試的次數由tcp_syn_retries參數控制,默認是6次:

net.ipv4.tcp_syn_retries = 6

同時每次傳輸時間是按照倍數遞增(1,2,4,8,32,64 ... 秒),所以在網絡繁忙情況下或者在業務明確不能太多超時情況下,調整這個時間到net.ipv4.tcp_syn_retries = 3,這樣能減少服務端在網絡繁忙情況下的連鎖反應。

上述是客戶端側調整,而服務端可能會出現半連接隊列滿了的場景,控制半連接隊列是net.ipv4.tcp_max_syn_backlog = 1024內核參數,可以適當的調大取值;同樣服務端在從半連接隊列轉換到ESTABLISHED,也需要確認客戶端回復的確認ACK,如果沒有收到也會重發SYN+ACK,所以這里Linux也提供調整的參數net.ipv4.tcp_synack_retries = 5,減少重傳次數,降低加劇的風險;

除了以上的調整,減少握手的RTT也是一種優化手段 —— TOF(TCP fast open),TFO到底怎樣達成這一目的呢?它把通訊分為兩個階段,第一階段為首次建立連接,這時走正常的三次握手,但在客戶端的SYN報文會明確地告訴服務器它想使用TFO功能,這樣服務器會把客戶端IP地址用只有自己知道的密鑰加密,作為Cookie攜帶在返回的SYN+ACK報文中,客戶端收到后會將Cookie緩存在本地;

第二階段就是每次TCP底層的報文都會帶上Cookie,只要帶上了Cookie的請求,服務端不需要收到客戶端的確認包,就可以直接傳輸數據了,這樣就減少了RTT;設置參數可以通過net.ipv4.tcp_fastopen = 3;

(2)優化揮手參數

握手優化有一些相應的方法,那揮手階段是否也可以優化呢?我們應該在開發中經常遇到是TIME_WAIT狀態,估計踩過坑的應該不少,TIME_WAIT過多會消耗系統資源,端口耗盡導致想新建連接失敗,觸發Linux內核查找可用端口導致循環問題等。如何解決?設置tcp_max_tw_buckets參數,當TIME_WAIT的連接數量超過該參數時,新關閉的連接就不再經歷TIME_WAIT而直接關閉;或者快速復用端口tcp_tw_reuse,在安全條件下使用TIME_WAIT狀態下的端口。

在回顧一下TCP揮手的圖,被調方會有CLOSE_WAIT,如果在我們服務中有大量的CLOSE_WAIT時候,我們就得注意:

  • 是否在處理完調用方的時候后,忘記關閉連接
  • 服務負載太高,導致close調用被延時
  • 處理進程處于Pending狀態,導致不能及時關閉連接

4、一些網絡內核參數

"提升TCP握手和揮手性能"已經提到了一些優化參數,除了這些參數外還有一些對性能有幫助的參數:

  • net.ipv4.tcp_syncookies = 1減少SYN泛洪攻擊
  • net.ipv4.tcp_abort_on_overflow = 1快速回復RST包,減緩accept隊列滿的情況
  • net.ipv4.tcp_orphan_retries = 5如果FIN_WAIT1狀態連接有很多,考慮調小該值
  • net.ipv4.tcp_fin_timeout = 60調整該值可以減少FIN的確認時間
  • net.ipv4.tcp_window_scaling = 1調整滑動窗口的指數
  • net.ipv4.tcp_wmem = 4096 16384 4194304調整寫緩沖區大小
  • net.ipv4.tcp_rmem = 4096 87380 6291456調整讀緩沖區大小
  • net.ipv4.tcp_congestion_control = cubic調整擁塞控制的算法,可以分析具體網絡場景,通過設置擁塞控制算法提升發包的效率

5、DPDK

在C1000K問題中,各種軟件、硬件的優化很可能都已經做到頭了,無論怎么調試參數,提升性能能力已經有限,根本的問題是,LINUX網絡協議棧做了太多太繁重的工作。

于是英特爾公司的網絡通信部門2008年提出DPDK,提供豐富、完整的框架,讓CPU快速實現數據平面應用的數據包處理,高效完成網絡轉發等工作,具體細節大家可以查閱資料,這里我整理了DPDK高性能的大概原理:

跳過內核協議棧,直接由用戶態進程通過輪詢的方式,來處理網絡接收,在PPS非常高的場景中,查詢時間比實際工作時間少了很多,絕大部分時間都在處理網絡包,而跳過內核協議棧后,就省去了繁雜的硬中斷、軟中斷再到 Linux 網絡協議棧逐層處理的過程,應用程序可以針對應用的實際場景,有針對性地優化網絡包的處理邏輯,而不需要關注所有的細節;

通過大頁、CPU 綁定、內存對齊、流水線并發等多種機制,優化網絡包的處理效率;

DPDK網絡圖DPDK網絡圖

第三部分:應用層協議優化

網絡編程中除了設計一個好的底層server和調整內核參數外,其實應用層的協議選型和設計也很重要,那本小節討論一下當前的優化方案。

1、HTTP/1.1

從互聯網發展到現在,HTTP/1.1一直是最廣泛使用的應用層協議,主要是使用簡單,方便,但是缺點也很明顯:HTTP頭部使用 ASCII編碼,信息冗余,協議濫用等,導致對其的優化都集中在業務層。那有哪些優化,我這里總結一些:

1.充分利用緩存

  • 客戶端緩存:利用Cache-control,Expires,etags等HTTP/1.1特性,減少重復請求的次數;
  • CDN緩存:靜態資源優先考慮使用CDN服務,本身CDN是邊緣節點,同時已經充分考慮HTTP/1.1一些性能加速策略;
  • 3XX狀態碼:返回3XX狀態碼,讓客戶端根據狀態碼使用緩存策略

2.合并請求

  • 當多個訪問小文件的請求被合并為一個訪問大文件的請求時,這樣雖然傳輸的總資源體積未變,但減少請求就意味著減少了重復發送的HTTP頭部,同時也減少了TCP連接的數量,因而省去了TCP握手和慢啟動過程消耗的時間
  • 由于瀏覽器限制同一個域名下并發請求數(如Chrome是6個),所以我們優先加載客戶端急需的數據,其他數據可以懶加載

3.使用壓縮算法

  • 利用HTTP的Accept-Encoding頭部字段,讓服務端知道客戶端的壓縮算法然后返回壓縮后的數據給客戶端
  • 對于圖片請求,可以考慮使用webp,svg等格式,這些圖片壓縮后的數據較小

4.優化HTTPS

  • 優先使用TLS1.3,減少RTT次數
  • 明確某些靜態資源不需要加密,或者可以自己通過預埋加密協議的,改為HTTP請求,減少握手次數
  • 使用長連接,緩解每次請求都需要走TLS的握手協議

2、HTTP/2


現在使用HTTP/2的服務越來越多了,包括gRPC框架的默認協議就是HTTP/2,對比HTTP/1,HTTP/2性能非常大的提升,可以從上圖看出:

  • 圖1 中HTTP/2使用的流式傳輸,在一條連接上可以有多個數據幀,這樣就不需要再像HTTP/1一個請求需要新建一個連接了;
  • 圖2 中HTTP/2使用HTTP Header靜態和動態編碼表的方式,這樣每次請求不需要傳遞重復或者通用的一些Header信息,減少了包體的大小;

HTTP/1.1 不支持服務器主動推送消息,因此當客戶端需要獲取通知時,只能通過定時器不斷地拉取消息,而HTTP/2的消息可以主動推送,可以節省大量帶寬和服務器資源;

3、HTTP/3

HTTP3圖3 HTTP3圖3

上面介紹的HTTP/2雖然已經提升很多性能,減少了網絡請求,但是底層使用TCP,避免不了握手,慢啟動和擁塞控制等問題,于是HTTP/3通過使用UDP繞過這些限制來優化性能。

  • HTTP/3可以實現0 RTT建立連接,HTTP/2的連接建立需要3 RTT,如果考慮會話復用,即把第一次握手計算出來的對稱密鑰緩存起來,那也需要2 RTT,更進一步的,如果TLS升級到1.3,那么HTTP/2連接需要2 RTT,考慮會話復用需要1 RTT。而HTTP/3首次連接只需要1 RTT, 后面的鏈接只需要0 RTT,其原理和cookie類似,維持conntion id,實現連接遷移。
  • 解決隊頭阻塞,在HTTP/2中雖然是TCP多路復用,但是TCP的包確是順序的,所以如果一個連接上的包在TCP層沒有被確認,這個連接上HTTP/2請求都會被卡住,但是HTTP/3基于UDP就可以不存在這個問題,Packet可以發送給服務端,服務端根據需要自己組裝包順序,即使Packet丟了,可以重傳當前Packet即可;

上述都是HTTP/3對比HTTP/2改進的地方,但是從目前看全面使用還是有一些局限,比如:防火墻對UDP包限制,連接遷移特性使情況變得更加復雜等問題,有興趣的可以在客戶端嘗試,但是估計會要踩比較多的坑。

4、RPC協議

RPC協議包括很多(如HTTP JSON,XML,ProtoBuf等),框架也比較多(gRPC,Thrift,Brpc,Spring Cloud),隨著微服務的架構被大家熟知,內網的RPC協議設計往往是網絡框架的重要部分。當然RPC框架底層的架構還是前面介紹的異步,多路復用,多線程等設計,但是上層我們要考慮高性能,更多要解決如下問題:

  • 根據業務場景設計不同的協議,比如采用ProtoBuf能壓縮編碼,采用HTTP JSON協議方便支持各個客戶端對接;
  • 報文的格式設計,好的報文格式能提升編碼和解碼效率;
  • 降低開發成本,考慮注冊中心和負載均衡,讓框架和RPC緊密結合,減少業務層的開發負擔;
  • 充分考慮分布式場景,比如事務超時,消息冪等等等問題;

之前在業務中也開發了一些RPC框架,以上便是我對RPC協議的簡單總結,不過RPC框架對于性能的考慮可能不是那么重要,更多的是考慮便利性,我們只需要把底層網絡框架設計的足夠高性能,并且選擇與業務匹配的網絡協議,這樣基本能滿足大部分業務需求。

責任編輯:華軒 來源: 周末程序猿
相關推薦

2024-03-18 13:43:20

Linux架構

2023-11-01 10:38:46

Linux高性能網絡編程

2023-11-01 11:51:08

Linux性能優化

2023-11-01 11:40:46

Linux高性能網絡編程工具

2023-11-01 10:58:31

系統調用高性能網絡編程Linux

2023-11-01 11:27:10

Linux協程

2023-11-01 11:07:05

Linux高性能網絡編程線程

2023-11-01 11:20:57

2023-11-01 11:13:58

Linux信號處理定時器

2023-11-01 10:43:31

Linux高性能網絡編程

2025-06-26 01:27:00

2020-11-06 18:51:17

LinuxTCP服務器

2024-10-06 14:37:52

2024-08-06 08:22:18

2024-09-03 09:15:37

2017-03-29 14:44:20

網絡性能優化

2024-10-16 11:03:30

Linux高性能編程

2010-12-20 10:56:32

Linux網絡性能優化

2025-01-06 00:00:10

2022-02-16 14:10:51

服務器性能優化Linux
點贊
收藏

51CTO技術棧公眾號

美女视频免费一区| 亚洲精品进入| 亚洲v中文字幕| 欧美中日韩一区二区三区| 在线观看毛片av| 欧美日韩精品| 一夜七次郎国产精品亚洲| www.偷拍.com| 巨胸喷奶水www久久久免费动漫| 亚洲图片欧美激情| 免费国产一区二区| 97在线公开视频| 亚洲日韩视频| 久久精品视频亚洲| 精品久久久久久中文字幕人妻最新| 日本一区二区电影| 精品久久久久久中文字幕| 亚洲最大色综合成人av| 无码国产色欲xxxx视频| 国内精品免费**视频| 88国产精品欧美一区二区三区| 国产精品视频看看| 女优一区二区三区| 精品欧美一区二区久久| 伊人网在线综合| av日韩电影| 亚洲一区二区在线播放相泽 | 一级片免费观看视频| 亚洲第一区色| 精品中文字幕在线| 亚洲色图27p| 成人一级毛片| 亚洲男人天堂2023| 亚州av综合色区无码一区| 精品国产伦一区二区三区观看说明| 色欧美片视频在线观看| 1024av视频| av伦理在线| 一区二区免费看| 免费成人进口网站| 麻豆传媒在线免费看| 国产免费成人在线视频| 欧美激情www| 亚洲色图狠狠干| av一区二区三区| 国产欧美日韩一区| 高潮一区二区三区乱码| 成人激情免费电影网址| 99一区二区三区| www.我爱av| 国产精品亚洲人在线观看| 成人激情电影一区二区| 国产口爆吞精一区二区| 韩国午夜理伦三级不卡影院| 成人羞羞国产免费| 精品人妻aV中文字幕乱码色欲| 精品一区二区久久久| 国产日韩欧美成人| 97精品人妻一区二区三区在线| 麻豆成人久久精品二区三区小说| 国产精品视频网站| 国产精品永久久久久久久久久| 激情国产一区二区| 91一区二区三区| 日韩中文字幕影院| 毛片基地在线观看| 国产午夜一区| 在线精品国产欧美| 疯狂撞击丝袜人妻| 欧美欧美全黄| 97超碰国产精品女人人人爽 | 91福利视频导航| 性生活视频软件| 成人高清免费观看| 久久精品国产美女| 成人影视在线播放| 亚洲精品国产第一综合99久久 | 麻豆成人综合网| 成人黄色短视频在线观看| 国产免费av观看| 成人国产精品免费观看视频| 青青成人在线| 国产成人l区| 亚洲成人免费在线| 手机在线看福利| 日本精品国产| 亚洲性无码av在线| 欧美精品久久久久性色| 国产精品久久久久9999高清| 国产精品精品一区二区三区午夜版 | 久久日免费视频| 中文字幕一区二区av| 97婷婷涩涩精品一区| 欧美日韩在线视频播放| 国产精品羞羞答答xxdd| 蜜桃成人在线| 成视频免费观看在线看| 欧美日韩国内自拍| 老司机久久精品| 西瓜成人精品人成网站| 久久深夜福利免费观看| 亚欧视频在线观看| 久久成人精品无人区| 精品国产aⅴ麻豆| 欧美激情二区| 一本色道久久加勒比精品 | 91丨九色丨黑人外教| 中文字幕精品一区日韩| 色偷偷偷在线视频播放| 欧美一区二区三区四区高清| 婷婷色一区二区三区| 亚洲私拍自拍| 92裸体在线视频网站| 成人欧美亚洲| 欧美日在线观看| 性生交大片免费看l| 久久精品高清| 日本欧美黄网站| 六月婷婷综合网| 亚洲人妖av一区二区| 久久久久久三级| 欧美一区自拍| 欧美国产乱视频| 国产女人18毛片水18精| 欧美国产视频在线| 国产男女无遮挡| 久久精品色播| 国模私拍一区二区三区| www.国产麻豆| 亚洲欧美日韩国产成人精品影院| www.色就是色| 亚洲桃色综合影院| 91精品91久久久久久| 亚洲黄色片视频| 亚洲男人的天堂在线观看| 69久久久久久| 青青草国产免费一区二区下载| 欧美尤物巨大精品爽| 图片区 小说区 区 亚洲五月| 一卡二卡欧美日韩| 欧美熟妇另类久久久久久多毛| 色琪琪久久se色| 国产精品久久久久99| 美女欧美视频在线观看免费 | 亚洲伊人久久综合| 国产精品va在线观看视色| 91麻豆精品91久久久久久清纯| 女人裸体性做爰全过| 日韩av一区二区在线影视| 日韩成人av电影在线| 亚洲mmav| 日韩最新免费不卡| 欧美人xxxxx| 黄色av网站在线看| 日本高清不卡视频| 亚洲黄色免费视频| 日本欧美大码aⅴ在线播放| 日韩久久在线| 欧美美女被草| 九九精品在线视频| 高潮一区二区三区乱码| 欧美日韩美女在线观看| 精品人伦一区二区三电影| 久久一区二区三区四区五区 | 999视频精品| 亚洲一区二区三区777| 日韩精品卡一| 亚洲精品视频免费| 这里只有久久精品视频| 1000精品久久久久久久久| 国产成人精品综合久久久久99| 欧美天堂亚洲电影院在线观看| 精品不卡在线| 99九九久久| 九色精品免费永久在线| 婷婷丁香花五月天| 欧美午夜影院一区| 老熟妇高潮一区二区三区| 高清国产一区二区三区| 人妻熟妇乱又伦精品视频| av资源久久| www.成人av| 日韩国产网站| 色综合久久天天综线观看| 欧美日本网站| 欧美一级一级性生活免费录像| 日韩精品一区二区三| 亚洲国产精品99久久久久久久久| 日本网站在线看| 翔田千里一区二区| 国产一区一区三区| 日韩影视在线观看| 成人美女免费网站视频| 欧美男男激情videos| 日韩性xxxx爱| 久草在现在线| 日韩午夜激情av| 高潮毛片又色又爽免费 | 91丨九色丨蝌蚪丨老版| 九九热免费在线观看| 亚洲伦伦在线| 男插女免费视频| 亚洲免费观看高清完整版在线观| 91免费在线视频网站| 色综合一本到久久亚洲91| 久久国产精品久久久久久久久久| 暖暖视频在线免费观看| 日韩免费观看高清完整版| 免费黄色片视频| 亚洲成精国产精品女| 美国一级片在线观看| 2017欧美狠狠色| 亚洲最大视频网| 精品一区二区三区免费播放| av五月天在线| 香蕉亚洲视频| 大陆极品少妇内射aaaaa| 欧美国产综合| 曰韩不卡视频| 精品日产免费二区日产免费二区| 国产欧美日韩综合精品二区| 激情不卡一区二区三区视频在线| 国产精品久久久久久搜索 | 大桥未久av一区二区三区| 欧美成欧美va| 亚洲欧美日韩精品久久久久| 在线观看免费小视频| 26uuu国产在线精品一区二区| 性高潮久久久久久| 国产精品18久久久久久久久久久久| 噼里啪啦国语在线观看免费版高清版| 一本久道综合久久精品| 久久99中文字幕| 在线播放不卡| 国产精品久久久久久久久电影网| 亚洲色图二区| 波多野结衣激情| 99精品视频在线观看播放| 一区二区视频在线播放| 欧美手机在线| 亚洲成人蜜桃| 日韩精品第一区| 色婷婷精品国产一区二区三区| 曰本一区二区三区视频| 欧美高清视频一区| 国产成人精品一区二区免费看京| 久久精品ww人人做人人爽| 婷婷国产精品| 欧美日韩一区二| 黑人操亚洲人| 一本一道久久a久久精品综合| 日韩成人精品一区| 在线视频不卡一区二区三区| 亚洲a一区二区三区| 99re8这里只有精品| 午夜精品久久99蜜桃的功能介绍| 国产性生活免费视频| 亚洲国产精品一区制服丝袜| 免费看的黄色大片| 日韩一区精品视频| 超碰超碰在线观看| 国产制服丝袜一区| 亚洲免费观看在线| 99久久亚洲一区二区三区青草| 亚洲av综合一区二区| 国产精品三级久久久久三级| 女人18毛片毛片毛片毛片区二| 亚洲人xxxx| 日韩成人高清视频| 欧美综合在线视频| 国产乱淫av片免费| 亚洲国产精久久久久久| 日本一卡二卡四卡精品| 中文字幕精品av| 影音先锋在线视频| 欧美亚洲视频在线观看| 久久久加勒比| y111111国产精品久久婷婷| 欧美挤奶吃奶水xxxxx| 亚洲精品美女久久7777777| 欧美一区二区| 免费黄色福利视频| 卡一卡二国产精品| 国产精品久久久久久久无码| 中文在线免费一区三区高中清不卡| 永久免费看mv网站入口| 午夜精品久久久久久久久久| 中文字幕一级片| 亚洲电影中文字幕| 日韩伦理在线电影| 91成人福利在线| 国产成年精品| 欧美中日韩免费视频| 激情久久久久久| 久久久久久蜜桃一区二区| 波多野结衣视频一区| 日韩av毛片在线观看| 欧美性xxxx极品高清hd直播| 国产人妻精品一区二区三| 亚洲欧洲午夜一线一品| 永久免费网站在线| 国产欧美在线看| 啄木系列成人av电影| 免费在线看黄色片| 久久99精品久久久久久动态图| 亚洲一区二区乱码| 亚洲乱码中文字幕| 在线视频 91| 亚洲欧美另类中文字幕| 波多野结衣在线播放| 成人福利网站在线观看11| 国产91一区| 老太脱裤让老头玩ⅹxxxx| 国产一区二区成人久久免费影院| 国产小视频自拍| 激情久久av一区av二区av三区| 国产不卡av在线播放| 中文字幕日韩在线播放| 在线成人av观看| 国产精品夜夜夜一区二区三区尤| 99精品综合| 天堂av在线网站| 国产日韩欧美亚洲| 黄色在线视频网址| 日韩久久午夜影院| 97人人在线视频| 国产视频99| 在线成人亚洲| 任你躁av一区二区三区| 一区二区三区中文字幕电影| 一级片在线免费观看视频| 一区二区欧美激情| 免费电影日韩网站| 蜜桃传媒一区二区| 性色一区二区三区| 丝袜美腿中文字幕| 欧美性生交xxxxx久久久| 视频一区二区在线播放| 91精品国产91| 亚洲高清极品| 日韩视频第二页| 91亚洲资源网| 在线观看免费国产视频| 亚洲国产另类久久精品| 国模私拍一区二区国模曼安| 国产精品一级久久久| 国产欧美91| 蜜桃无码一区二区三区| 91成人在线免费观看| 国产69精品久久app免费版| 国产精品久久久久久久久久久新郎| 精品国产精品久久一区免费式| 久草在在线视频| 国产精品你懂的在线| 888奇米影视| 欧美日韩福利在线观看| 麻豆一区一区三区四区| 欧美 激情 在线| 国产片一区二区三区| 中文字幕精品一区二区精| 最近2019中文字幕mv免费看| 永久免费观看精品视频| 国产欧美久久久久| av色综合久久天堂av综合| 亚洲中文字幕无码爆乳av| 精品国产一区av| 4438全国亚洲精品观看视频| 久草热视频在线观看| 久久女同互慰一区二区三区| 中文字幕 自拍偷拍| 久久成人精品一区二区三区| 999久久久精品一区二区| 六月丁香婷婷激情| 国产精品国产三级国产aⅴ入口 | 中文字幕在线国产精品| 四虎影视国产精品| 免费在线观看视频a| 国产欧美一区二区三区在线老狼| 国产又大又长又粗| 97成人超碰免| 香蕉av一区二区| 91精品啪在线观看国产| 欧美性猛交xxxx乱大交退制版| 18av在线播放| 日韩美女一区| 国产mv日韩mv欧美| 亚洲毛片一区二区三区| 欧美成人中文字幕| 精品久久国产| 91亚洲一线产区二线产区| 91久久精品一区二区二区| 51xtv成人影院| 欧美日本韩国国产| 国产成人精品影院| 中文字幕永久免费视频| 91精品国产777在线观看| 一个色综合网| 五月天精品视频| 亚洲电影av在线| 精品国产亚洲一区二区在线观看 |