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

百萬(wàn)并發(fā)下的Nginx優(yōu)化,看這一篇就夠了!

開(kāi)發(fā) 架構(gòu) 開(kāi)發(fā)工具
本文作者主要分享在 Nginx 性能方面的實(shí)踐經(jīng)驗(yàn),希望能給大家?guī)?lái)一些系統(tǒng)化思考,幫助大家更有效地去做 Nginx。

本文作者主要分享在 Nginx 性能方面的實(shí)踐經(jīng)驗(yàn),希望能給大家?guī)?lái)一些系統(tǒng)化思考,幫助大家更有效地去做 Nginx。

[[249062]]

優(yōu)化方法論

我重點(diǎn)分享如下兩個(gè)問(wèn)題:

  • 保持并發(fā)連接數(shù),怎么樣做到內(nèi)存有效使用。
  • 在高并發(fā)的同時(shí)保持高吞吐量的重要要點(diǎn)。

實(shí)現(xiàn)層面主要是三方面優(yōu)化,主要聚焦在應(yīng)用、框架、內(nèi)核。

硬件限制可能有的同學(xué)也都聽(tīng)過(guò),把網(wǎng)卡調(diào)到萬(wàn)兆、10G 或者 40G 是最好的,磁盤(pán)會(huì)根據(jù)成本的預(yù)算和應(yīng)用場(chǎng)景來(lái)選擇固態(tài)硬盤(pán)或者機(jī)械式硬盤(pán),關(guān)注 IOPS 或者 BPS。

CPU 是我們重點(diǎn)看的一個(gè)指標(biāo)。實(shí)際上它是把操作系統(tǒng)的切換代價(jià)換到了進(jìn)程內(nèi)部,所以它從一個(gè)連接器到另外一個(gè)連接器的切換成本非常低,它性能很好,協(xié)程 Openresty 其實(shí)是一樣的。

資源的高效使用,降低內(nèi)存是對(duì)我們?cè)龃蟛l(fā)性有幫助的,減少 RTT、提升容量。

Reuseport 都是圍繞著提升 CPU 的機(jī)核性。還有 Fast Socket,因?yàn)槲抑霸诎⒗镌频臅r(shí)候還做過(guò)阿里云的網(wǎng)絡(luò),所以它能夠帶來(lái)很大的性能提升,但是問(wèn)題也很明顯,就是把內(nèi)核本身的那套東西繞過(guò)去了。

請(qǐng)求的“一生”

下面我首先會(huì)去聊一下怎么看“請(qǐng)求”,了解完這個(gè)以后再去看怎么優(yōu)化就會(huì)很清楚了。

說(shuō)這個(gè)之前必須再說(shuō)一下 Nginx 的模塊結(jié)構(gòu),像 Nginx 以外,任何一個(gè)外部框架都有個(gè)特點(diǎn),如果想形成整個(gè)生態(tài)必須允許第三方的代碼接進(jìn)來(lái),構(gòu)成一個(gè)序列,讓一個(gè)請(qǐng)求挨個(gè)被模塊共同處理。

那 Nginx 也一樣,這些模塊會(huì)串成一個(gè)序列,一個(gè)請(qǐng)求會(huì)被挨個(gè)的處理。在核心模塊里有兩個(gè),分別是 Steam 和 NGX。

請(qǐng)求到來(lái)

一個(gè)連接開(kāi)始剛剛建立請(qǐng)求到來(lái)的時(shí)候會(huì)發(fā)生什么事情?先是操作系統(tǒng)內(nèi)核中有一個(gè)隊(duì)列,等著我們的進(jìn)程去系統(tǒng)調(diào)用,這時(shí)候因?yàn)橛泻芏喙ぷ鬟M(jìn)程,誰(shuí)會(huì)去調(diào)用呢,這有個(gè)負(fù)載均衡策略。

現(xiàn)在有一個(gè)事件模塊,調(diào)用了 Epoll Wait 這樣的接口,Accept 建立好一個(gè)新連接,這時(shí)會(huì)分配到連接內(nèi)存池,這個(gè)內(nèi)存池不同于所有的內(nèi)存池,它在連接剛創(chuàng)建的時(shí)候會(huì)分配,什么時(shí)候會(huì)釋放呢?

只有這個(gè)連接關(guān)閉的時(shí)候才會(huì)去釋放。接下來(lái)就到了 NGX 模塊,這時(shí)候會(huì)加一個(gè) 60 秒的定時(shí)器。

就是在建立好連接以后 60 秒之內(nèi)沒(méi)有接到客戶端發(fā)來(lái)的請(qǐng)求就自動(dòng)關(guān)閉,如果 60 秒過(guò)來(lái)之后會(huì)去分配內(nèi)存,讀緩沖區(qū)。什么意思呢?

現(xiàn)在操作系統(tǒng)內(nèi)核已經(jīng)收到這個(gè)請(qǐng)求了,但是我的應(yīng)用程序處理不了,因?yàn)闆](méi)有給它讀到用戶態(tài)的內(nèi)存里去,所以這時(shí)候要分配內(nèi)存。

從連接內(nèi)存池這里分配,那要分配多大呢?會(huì)擴(kuò)到 1K。

收到請(qǐng)求

當(dāng)收到請(qǐng)求以后,接收 Url 和 Header,分配請(qǐng)求內(nèi)存池,這時(shí)候 Request Pool Size 是 4K,大家發(fā)現(xiàn)是不是和剛才的有一個(gè) 8 倍的差距,這是因?yàn)槔脩B(tài)的內(nèi)存是非常消耗資源的。

再看為什么會(huì)消耗資源,首先會(huì)用狀態(tài)機(jī)解去形容,所謂狀態(tài)機(jī)解就是把它當(dāng)做一個(gè)序列,一個(gè)支節(jié)一個(gè)支節(jié)往下解,如果發(fā)現(xiàn)換行了那就是請(qǐng)求行解完了。

但如果這個(gè)請(qǐng)求特別長(zhǎng)的時(shí)候,就會(huì)去再分配更大的,剛剛 1K 不夠用了,為什么是 4 乘 8K 呢?

就是因?yàn)楫?dāng) 1K 不夠了不會(huì)一次性分配 32K,而是一次性分配 8K。如果 8K 以后還沒(méi)有解析到剛才的標(biāo)識(shí)符,就會(huì)分配第二個(gè) 8K。

我之前收到的所有東西都不會(huì)釋放,只是放一個(gè)指針,指到 Url 或者指到那個(gè)協(xié)議,標(biāo)識(shí)它有多長(zhǎng)就可以了。

接下來(lái)解決 Header,這個(gè)流程一模一樣的沒(méi)有什么區(qū)別,這時(shí)候還會(huì)有一個(gè)不夠用的情況,當(dāng)我接收完所有的 Header 以后,會(huì)把剛剛的定時(shí)器給移除,移除后接下來(lái)做 11 個(gè)階段的處理。

也就是說(shuō)剛剛所有的外部服務(wù)器都是通過(guò)很多的模塊串成在一起處理一個(gè)請(qǐng)求的。

像剛剛兩頁(yè) PPT 都在說(shuō)藍(lán)色的區(qū)域,那么請(qǐng)求接下來(lái) 11 個(gè)階段是什么意思呢?這個(gè)黃色的、綠色的,還有右邊這個(gè)都是在 11 階段之中。

這 11 個(gè)階段大家也不用記,非常簡(jiǎn)單,只要掌握三個(gè)關(guān)鍵詞就可以。

剛剛讀完 Header 要做處理,所以這時(shí)候第一階段是 Post-Read。接下來(lái)會(huì)有 Rewrite,還有 Access 和 Preaccess。

先看左手邊,當(dāng)我們下載完 Nginx 源碼編以后會(huì)有一個(gè) Referer,所有的第三方數(shù)據(jù)都會(huì)在這里呈現(xiàn)有序排列。

這些序列中并不是簡(jiǎn)單的一個(gè)請(qǐng)求給它再給它,先是分為 11 個(gè)階段,每個(gè)階段之內(nèi)大家是有序一個(gè)個(gè)往后來(lái)的,但在 11 個(gè)階段中是按階段來(lái)的。

我把它分解一下,第一個(gè) Referer 這階段有很多模塊,后面這是有序的。

這個(gè)圖比剛剛的圖多了兩個(gè)關(guān)鍵點(diǎn):

  • 第一到了某一個(gè)模塊可以決定繼續(xù)向這序列后的模塊執(zhí)行,也可以說(shuō)直接跳到下個(gè)階段,但不能說(shuō)跳多個(gè)階段。
  • 第二是生成了向客戶端反映的響應(yīng),這時(shí)候要對(duì)響應(yīng)做些處理,這里是有序的,先做縮略圖再做壓縮,所以它是有嚴(yán)格順序的。

請(qǐng)求的反向代理

請(qǐng)求的反向代理,反向代理這塊是我們 Nginx 的重點(diǎn)應(yīng)用場(chǎng)景,因?yàn)?Nginx 會(huì)考慮一種場(chǎng)景,客戶端走的是公網(wǎng),所以網(wǎng)絡(luò)環(huán)境非常差,網(wǎng)速非常慢。

如果簡(jiǎn)單用一個(gè)緩沖區(qū)從客戶端收一點(diǎn)發(fā)給上游服務(wù)器,那上游服務(wù)器的壓力會(huì)很大,因?yàn)樯嫌畏?wù)器往往它的效率高,所以都是一個(gè)請(qǐng)求被處理完之前不會(huì)再處理下一個(gè)請(qǐng)求。

Nginx 考慮到這個(gè)場(chǎng)景,它會(huì)先把整個(gè)請(qǐng)求全部收完以后,再向上游服務(wù)器建立連接,所以是默認(rèn)第一個(gè)配置,就是 Proxy Request Buffering On,存放包體至文件,默認(rèn) Size 是 8K。

那建立上游連接的時(shí)候會(huì)放 Time Out,60 秒,添加超時(shí)定時(shí)器,也是 60 秒的。

發(fā)出請(qǐng)求(讀取文體包件),如果向上游傳一個(gè)很大的包體的話,那 Sizk 就是 8K。

默認(rèn) Proxy Limit Rate 是打開(kāi)的,我們會(huì)先把這個(gè)請(qǐng)求全部緩存到端來(lái),所以這時(shí)候有個(gè) 8×8K,如果關(guān)掉的話,也就是從上游發(fā)一點(diǎn)就往下游發(fā)一點(diǎn)。

知道這個(gè)流程以后,再說(shuō)這里的話大家可以感覺(jué)到這里的內(nèi)存消耗還是蠻大的。

返回響應(yīng)

返回響應(yīng),這里面其實(shí)內(nèi)容蠻多的,我給大家簡(jiǎn)化一下,還是剛剛官方的那個(gè)包,這也是有順序的從下往上看,如果有大量第三方模塊進(jìn)來(lái)的話,數(shù)量會(huì)非常高。

第一個(gè)關(guān)鍵點(diǎn)是上面的 Header Filter,上面是 Write Filter,下面是 Postpone Filter,這里還有一個(gè) Copy Filter,它又分為兩類,一類是需要處理,一類是不需要處理的。

OpenResty 的指令,第一代碼是在哪里執(zhí)行的,第二個(gè)是 SDK。

應(yīng)用層優(yōu)化

協(xié)議

做應(yīng)用層的優(yōu)化我們會(huì)先看協(xié)議層有沒(méi)有什么優(yōu)化,比如說(shuō)編碼方式、Header 每次都去傳用 Nginx 的架構(gòu),以至于浪費(fèi)了很多的流量。我們可以改善 Http2,有很多這樣的協(xié)議會(huì)大幅度提升它的性能。

當(dāng)然如果你改善 Http2 了,會(huì)帶來(lái)其他的問(wèn)題,比如說(shuō) Http2 必須走這條路線。

這條路線又是一個(gè)很大的話題,它涉及到安全性和性能,是互相沖突的東西。

壓縮

我們希望“商”越大越好,壓縮這里會(huì)有一個(gè)重點(diǎn)提出來(lái)的動(dòng)態(tài)和靜態(tài),比如說(shuō)我們用了拷貝,比如說(shuō)可以從磁盤(pán)中直接由內(nèi)核來(lái)發(fā)網(wǎng)卡,但一旦做壓縮的話就不得不先把這個(gè)文件讀到 Nginx,交給后面的極內(nèi)核去做一下處理。

Keepalive 長(zhǎng)連接也是一樣的,它也涉及到很多東西,簡(jiǎn)單來(lái)看這也就是附用連接。

因?yàn)檫B接有一個(gè)慢啟動(dòng)的過(guò)程,一開(kāi)始它的窗口是比較小,一次可能只傳送很小的 1K 的,但后面可能會(huì)傳送幾十K,所以你每次新建連接它都會(huì)重新開(kāi)始,這是很慢的。

當(dāng)然這里還涉及到一個(gè)問(wèn)題,因?yàn)?Nginx 內(nèi)核它默認(rèn)打開(kāi)了一個(gè)連接空閑的時(shí)候,長(zhǎng)連接產(chǎn)生的作用也會(huì)下降。

提高內(nèi)存使用率

剛剛在說(shuō)具體的請(qǐng)求處理過(guò)程中已經(jīng)比較詳細(xì)的把這問(wèn)題說(shuō)清楚了,這里再總結(jié)一下,在我看來(lái)有一個(gè)角度,Nginx 對(duì)下游只是必須要有的這些模塊,Client Header、Buffer Size:1K,上游網(wǎng)絡(luò) Http 包頭和包體。

CPU 通過(guò)緩存去取儲(chǔ)存上東西的時(shí)候,它是一批一批取的,每一批目前是 64 字節(jié),所以默認(rèn)的是 8K。

如果你配了 32 它會(huì)給你上升到 64;如果你配了 65 會(huì)升到 128,因?yàn)樗且粋€(gè)一個(gè)序列化重組的。

所以了解這個(gè)東西以后自己再配的時(shí)候就不會(huì)再犯問(wèn)題。紅黑樹(shù)這里用的非常多,因?yàn)槭呛途唧w的模塊相關(guān)。

限速

大部分我們?cè)谧龇止玖骺氐臅r(shí)候,主要在限什么呢?主要限 Nginx 向客戶端發(fā)送響應(yīng)的速度。

這東西非常好用,因?yàn)榭梢院?Nginx 定量連接在一起。這不是限上游發(fā)請(qǐng)求的速度,而是在限從上游接響應(yīng)的速度。

Worker 間負(fù)載均衡

當(dāng)時(shí)我在用 0.6 版本的時(shí)候那時(shí)候都在默認(rèn)用這個(gè),這個(gè)“鎖”它是在用進(jìn)程間同步方式去實(shí)現(xiàn)負(fù)載均衡,這個(gè)負(fù)載均衡怎么實(shí)現(xiàn)呢?

就是保證所有的 Worker 進(jìn)程,同一時(shí)刻只有一個(gè) Worker 進(jìn)程在處理距離,這里就會(huì)有好幾個(gè)問(wèn)題,綠色的框代表它的吞吐量,吞吐量不高,所以會(huì)導(dǎo)致第二個(gè)問(wèn)題 Requests,也是比較長(zhǎng)的,這個(gè)方差就非常的大。

如果把這個(gè)“鎖”關(guān)掉以后,可以看到吞吐量是上升的,方差也在下降,但是它的時(shí)間在上升,為什么會(huì)出現(xiàn)這樣的情況?

因?yàn)闀?huì)導(dǎo)致一個(gè) Worker 可能會(huì)非常忙,它的連接數(shù)已經(jīng)非常高了,但是還有其他的 Worker 進(jìn)程是很閑的。

如果用了 Requests,它會(huì)在內(nèi)核層面上做負(fù)載均衡。這是一個(gè)專用場(chǎng)景,如果在復(fù)雜應(yīng)用場(chǎng)景下開(kāi) Requests 和不開(kāi)是能看到明顯變化的。

超時(shí)

這里我剛剛說(shuō)了好多,它是一個(gè)紅黑樹(shù)在實(shí)現(xiàn)的。唯一要說(shuō)的也就是這里,Nginx 現(xiàn)在做四層的反向代理也很成熟了。

像 UTP 協(xié)議是可以做反向代理的,但要把有問(wèn)題的連接迅速踢掉的話,要遵循這個(gè)原則,一個(gè)請(qǐng)求對(duì)一個(gè)響應(yīng)。

緩存

只要想提升性能必須要在緩存上下工夫。比如說(shuō)我以前在阿里云做云盤(pán),云盤(pán)緩存的時(shí)候就會(huì)有個(gè)概念叫空間維度緩存,在讀一塊內(nèi)容的時(shí)候可能會(huì)把這內(nèi)容周邊的其他內(nèi)容也讀到緩存中。

大家如果熟悉優(yōu)化的話也會(huì)知道有分支預(yù)測(cè)先把代碼讀到那空間中,這個(gè)用的比較少,基于時(shí)間維度用的比較多了。

減少磁盤(pán) IO

其實(shí)要做的事也非常多,優(yōu)化讀取,Sendfile 零拷貝、內(nèi)存盤(pán)、SSD 盤(pán)。減少寫(xiě)入,AIO,磁盤(pán)是遠(yuǎn)大于內(nèi)存的,當(dāng)它把你內(nèi)存消化完的時(shí)候還會(huì)退化成一個(gè)調(diào)用。

像 Thread Pool 只用讀文件,當(dāng)退化成這種模式變多線程可以防止它的主進(jìn)程被阻塞住,這時(shí)候官方的博客上說(shuō)是有 9 倍的性能提升。

系統(tǒng)優(yōu)化

提升容量配置

我們建連接的時(shí)候也有,還有些向客戶端發(fā)起連接的時(shí)候會(huì)有一個(gè)端口范圍,還有一些像對(duì)于網(wǎng)卡設(shè)備的。

CPU緩存的親和性

CPU緩存的親和性,這看情況了,現(xiàn)在用 L3 緩存差不多也 20 兆的規(guī)模,CPU 緩存的親和性是一個(gè)非常大的話題,這里就不再展開(kāi)了。

NUMA 架構(gòu)的 CPU 親和性

把內(nèi)存分成兩部分,一部分是靠近這個(gè)核,一部分靠近那個(gè)核,如果訪問(wèn)本核的話就會(huì)很快,靠近另一邊大概會(huì)耗費(fèi)三倍的損耗。對(duì)于多核 CPU 的使用對(duì)性能提升很大的話就不要在意這個(gè)事情。

網(wǎng)絡(luò)快速容錯(cuò)

因?yàn)?TCP 的連接最麻煩的是在建立連接和關(guān)閉連接,這里有很多參數(shù)都是在調(diào),每個(gè)地方重發(fā),多長(zhǎng)時(shí)間重發(fā),重發(fā)多少次。

這里給大家展示的是快啟動(dòng),有好幾個(gè)概念在里面,第一個(gè)概念在快速啟動(dòng)的時(shí)候是以兩倍的速度。

因?yàn)榫W(wǎng)的帶寬是有限的,當(dāng)你超出網(wǎng)絡(luò)帶寬的時(shí)候其中的網(wǎng)絡(luò)設(shè)備是會(huì)被丟包的,也就是控制量在往下降,那再恢復(fù)就會(huì)比較慢。

TCP 協(xié)議優(yōu)化

TCP 協(xié)議優(yōu)化,本來(lái)可能差不多要四個(gè)來(lái)回才能達(dá)到每次的傳輸在網(wǎng)絡(luò)中有幾十 K,那么提前配好的話用增大初始窗口讓它一開(kāi)始就達(dá)到最大流量。

提高資源效率

提高資源效率,這一頁(yè)東西就挺多了,比如說(shuō)先從 CPU 看,TCP Defer Accept,如果有這個(gè)的話,實(shí)際上會(huì)犧牲一些即時(shí)性,但帶來(lái)的好處是第一次建立好連接沒(méi)有內(nèi)容過(guò)來(lái)的時(shí)候是不會(huì)激活 Nginx 做切換的。

內(nèi)存在說(shuō)的時(shí)候是系統(tǒng)態(tài)的內(nèi)存,在內(nèi)存大和小的時(shí)候操作系統(tǒng)做了一次優(yōu)化,在壓力模式和非壓力模式下為每一個(gè)連接分配的系統(tǒng)內(nèi)存可以動(dòng)態(tài)調(diào)整。

網(wǎng)絡(luò)設(shè)備的核心只解決一個(gè)問(wèn)題,變單個(gè)處理為批量處理,批量處理后吞吐量一定是會(huì)上升的。

因?yàn)橄牡馁Y源變少了,切換次數(shù)變少了,它們的邏輯是一樣的,就這些邏輯和我一直在說(shuō)的邏輯都是同一個(gè)邏輯,只是應(yīng)用在不同層面會(huì)產(chǎn)生不同的效果。

端口復(fù)用,像 Reals 是很好用的,因?yàn)樗梢园讯丝谟迷谏嫌畏?wù)連接的層面上,沒(méi)有帶來(lái)隱患。

提升多 CPU 使用效率

提升多 CPU 使用效率,上面很多東西都說(shuō)到了,重點(diǎn)就兩個(gè),一是 CPU 綁定,綁定以后緩存更有效。多隊(duì)列網(wǎng)卡,從硬件層面上已經(jīng)能夠做到了。

BDP,帶寬肯定是知道的,帶寬和時(shí)延就決定了帶寬時(shí)延積,那吞吐量等于窗口或者時(shí)延。

內(nèi)存分配速度也是我們關(guān)注的重點(diǎn),當(dāng)并發(fā)量很大的時(shí)候內(nèi)存的分配是比較糟糕的,大家可以看到有很多它的競(jìng)品。

PCRE 的優(yōu)化,這用最新的版本就好。

作者:陶輝

介紹:曾在華為、騰訊公司做底層數(shù)據(jù)相關(guān)的工作,寫(xiě)過(guò)一本書(shū)叫《深入理解 Nginx:模塊開(kāi)發(fā)與架構(gòu)解析》,目前在杭州智鏈達(dá)作為聯(lián)合創(chuàng)始人擔(dān)任技術(shù)總監(jiān)一職,目前專注于使用互聯(lián)網(wǎng)技術(shù)助力建筑行業(yè)實(shí)現(xiàn)轉(zhuǎn)型升級(jí)。 

 

責(zé)任編輯:武曉燕 來(lái)源: 高效運(yùn)維
相關(guān)推薦

2023-02-10 09:04:27

2020-02-18 16:20:03

Redis ANSI C語(yǔ)言日志型

2022-06-20 09:01:23

Git插件項(xiàng)目

2023-09-11 08:13:03

分布式跟蹤工具

2021-04-08 07:37:39

隊(duì)列數(shù)據(jù)結(jié)構(gòu)算法

2022-08-01 11:33:09

用戶分析標(biāo)簽策略

2019-05-14 09:31:16

架構(gòu)整潔軟件編程范式

2023-10-17 08:15:28

API前后端分離

2024-09-23 08:00:00

消息隊(duì)列MQ分布式系統(tǒng)

2025-08-07 04:10:00

光模塊AI網(wǎng)絡(luò)

2018-05-22 08:24:50

PythonPyMongoMongoDB

2020-07-03 08:21:57

Java集合框架

2022-04-07 10:39:21

反射Java安全

2017-03-11 22:19:09

深度學(xué)習(xí)

2023-11-18 09:30:42

模型AI

2020-09-22 17:31:13

運(yùn)維架構(gòu)技術(shù)

2022-07-06 12:07:06

Python函數(shù)式編程

2023-11-06 07:21:13

內(nèi)存結(jié)構(gòu)Jvm

2019-04-01 10:43:59

Linux問(wèn)題故障

2025-11-03 04:00:00

VLA分詞器RL
點(diǎn)贊
收藏

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

国产成人无码精品久久久久| 日韩欧美有码在线| 日韩av成人在线观看| 国产欧美激情视频| 99国产精品久久久久99打野战| 2023国产精品久久久精品双| 欧美中文字幕久久| 国产成人鲁鲁免费视频a| 永久免费看片视频教学| 伊人亚洲精品| 国产精品乱子久久久久| 国产在线精品一区| 成人黄色三级视频| 亚洲一级二级| 国产午夜精品视频免费不卡69堂| 亚洲一级片免费| bl视频在线免费观看| 久久久久久**毛片大全| 国产精品黄页免费高清在线观看| 日本少妇aaa| 亚洲一区二区电影| 欧美性猛交xxxx黑人| 精品少妇人妻av一区二区| 亚洲黄色小说网| www.五月天激情| 日本欧美在线| 亚洲福利一区二区三区| 视频一区视频二区视频| 一级片aaaa| 99在线精品免费视频九九视| www.日韩av.com| 久久精品一二三四| 国精产品一区二区三区有限公司| 一区二区三区日韩欧美精品| 日本一区二区三区视频在线观看| 亚洲精品国偷拍自产在线观看蜜桃| av久久久久久| 暖暖日本在线观看| 成人av电影在线观看| 91久久久久久久久久久久久| 亚洲综合久久网| 亚洲精品视频啊美女在线直播| 欧美日韩中文字幕精品| 一区二区三区视频在线播放| 欧美xxx.com| 国产成人在线视频网站| 国产精品视频免费在线观看| 国产精品va无码一区二区三区| 欧美精品91| 亚洲午夜av久久乱码| 美女网站色免费| 波多一区二区| 一区二区三区高清在线| 精品不卡在线| 日本美女一级片| 亚洲精品白浆| 青青草97国产精品免费观看无弹窗版 | 91色乱码一区二区三区| 亚洲最大av在线| 波多野结衣国产| 国产精品福利在线观看播放| 亚洲香蕉伊综合在人在线视看| 国产伦精品一区二区免费| 一区二区在线视频观看| 欧美日韩久久不卡| 国产成人黄色片| a欧美人片人妖| 亚洲高清在线视频| 7777在线视频| 国产网站在线免费观看| 综合网在线视频| 欧美国产一二三区| 国产专区在线播放| 欧美激情综合在线| 五月天色一区| 日本成a人片在线观看| 自拍偷拍欧美激情| 色哟哟免费网站| 国产精品偷拍| 欧美日韩国产丝袜美女| 欧美精品一区二区三区蜜桃| 欧美一区观看| 国产一区电影| 国产精品免费视频观看| 天堂√在线观看一区二区 | 精品盗摄一区二区三区| 亚洲一区二区在线免费| www.丝袜精品| 欧美精品一区二区久久久| 亚洲av无码久久精品色欲| www.久久久.com| 日韩亚洲国产中文字幕欧美| zjzjzjzjzj亚洲女人| 91麻豆精品| 精品国产网站在线观看| av中文字幕免费观看| 欧美肉体xxxx裸体137大胆| 色777狠狠综合秋免鲁丝| 少妇影院在线观看| 亚洲综合国产| 国产精品久久久久久久久久三级| 男人的天堂av网站| 精品一区二区在线免费观看| av在线不卡观看| 爽爽视频在线观看| 中文成人综合网| 亚洲在线中文字幕| 国产一区精品视频| 草碰在线视频| 国产精品国产成人国产三级| 久久成人福利视频| av激情成人网| 亚洲高清久久网| 国产又黄又粗的视频| 国产精品分类| 国产精品久久久久久久久男 | 毛片网站在线看| 亚洲国产成人精品视频| 91视频免费版污| 欧美成人xxxx| 亚洲精品综合久久中文字幕| 国产熟女一区二区| 中文字幕一区二区三区在线视频| 热久久视久久精品18亚洲精品| 亚洲综合精品国产一区二区三区| 成av人片一区二区| 一区二区不卡在线观看| 日韩电影免费看| 日韩一区二区三区免费看| 97人妻精品一区二区三区免费 | 色戒汤唯在线| 日韩国产欧美在线观看| 精品国产一区二区三区四区四| 久久人妻少妇嫩草av无码专区| 国产精品97| 国产精品久久久久久久久久99| 天堂在线资源8| 欧美激情中文不卡| 男人靠女人免费视频网站 | 动漫精品视频| 国产乱子伦三级在线播放| 婷婷夜色潮精品综合在线| 香港日本韩国三级网站| 少妇精品导航| 97在线看免费观看视频在线观看| 国产色片在线观看| 久久婷婷国产综合国色天香 | 日韩精品一区二区三区免费观看| 全亚洲最色的网站在线观看| 国产农村妇女毛片精品久久| 国产精品妹子av| 草草草在线视频| 精品国产影院| 精品国偷自产在线| 五月天激情四射| 91亚洲午夜精品久久久久久| 成人精品视频在线播放| 青青久久精品| 亚洲精品v天堂中文字幕| 一级日韩一区在线观看| 少妇久久久久久久| 久久美女艺术照精彩视频福利播放 | 日韩黄色一级大片| av不卡一区二区三区| 久久观看最新视频| 国色天香久久精品国产一区| 丝袜亚洲另类欧美重口| 97超视频在线观看| 国产精品视频一二| 久久久精品麻豆| 日韩电影一区| 奇米成人av国产一区二区三区| 日本又骚又刺激的视频在线观看| 亚洲综合在线五月| 在线中文字日产幕| 亚洲欧洲午夜| 国产精品国产三级国产专区53 | 久久久成人av毛片免费观看| 一级做a爰片久久毛片美女图片| 超碰在线观看91| 国产精品久久久一本精品| 日本中文字幕二区| 欧美日韩视频| 久久亚洲综合网| mm视频在线视频| 亚洲精品综合精品自拍| 在线免费av片| 亚洲一区中文日韩| 91精品人妻一区二区三区蜜桃2| 欧美在线高清| 乱一区二区三区在线播放| 国产精品丝袜一区二区| 午夜免费欧美电影| 高清一区二区三区日本久| 午夜精品无码一区二区三区| 午夜在线成人av| 日本爱爱爱视频| 国产一区中文字幕| 日韩国产一级片| 国产伦乱精品| 国产精品99蜜臀久久不卡二区| 国产视频第一页在线观看| 欧美人狂配大交3d怪物一区| 国产一级视频在线| 91在线免费视频观看| mm131亚洲精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美精品99久久久**| 动漫精品一区一码二码三码四码 | 貂蝉被到爽流白浆在线观看| 国内成+人亚洲+欧美+综合在线| 欧美在线一区视频| 日韩成人免费| 精品国产免费久久久久久尖叫| 亚洲黄色网址| 久久亚洲精品一区二区| 亚洲风情第一页| 欧美视频裸体精品| 高清国产在线一区| 日本激情一区二区| 在线播放国产精品二区一二区四区| 日本少妇久久久| 国产精品福利在线播放| 国产欧美一区二| 国产精品五区| 800av在线免费观看| 成人精品视频| 亚洲影院色无极综合| 欧美性爽视频| 久久九九国产精品怡红院| 欧美在线观看在线观看| 精品国产髙清在线看国产毛片| 一级全黄少妇性色生活片| 午夜欧美在线一二页| 日韩三级在线观看视频| 国产无人区一区二区三区| 肉丝美足丝袜一区二区三区四| 视频在线在亚洲| 成人免费播放器| 欧美日韩一视频区二区| 亚洲一一在线| 久久精品高清| 日本在线观看不卡| 精品久久人人做人人爱| 妺妺窝人体色www聚色窝仙踪| 国产偷国产偷亚洲高清人白洁 | 综合一区中文字幕| 日韩成人影院| 欧洲高清一区二区| 在线成人动漫av| 精品免费国产| 一呦二呦三呦国产精品| 92看片淫黄大片看国产片| 涩涩涩久久久成人精品| 国产精品影院在线观看| 伊人久久精品一区二区三区| 国产91|九色| 亚洲无人区码一码二码三码| 亚洲澳门在线| 一区二区91美女张开腿让人桶| 四季av一区二区三区免费观看| 日韩一区国产在线观看| 欧美日韩精品一区二区视频| 精品一区久久| 午夜a一级毛片亚洲欧洲| 精品视频一区二区三区四区| 精品三级av| 精品国产一区二区三区免费| 精品久久国产| 亚洲一区二区精品在线观看| 香蕉综合视频| av 日韩 人妻 黑人 综合 无码| 亚洲精品1区| 免费无码国产v片在线观看| 中文字幕乱码亚洲无线精品一区| 视色,视色影院,视色影库,视色网| 欧美日本三区| 奇米影视亚洲色图| 亚洲欧美日韩一区在线观看| 男女爱爱视频网站| 羞羞答答国产精品www一本| 久久国产乱子伦免费精品| 99精品欧美| 日韩av播放器| 国产精品1区2区3区在线观看| 扒开伸进免费视频| www国产亚洲精品久久麻豆| www.99热| 亚洲欧美自拍偷拍| 精品无码久久久久久久久| 欧美日韩国产丝袜美女| 亚洲视频久久久| 亚洲精品suv精品一区二区| 成人午夜视频在线观看免费| 视频二区欧美| 91精品在线观| 欧美激情影院| 亚洲国产精品日韩| 黄色av一区| 久久久久免费看黄a片app| 日本三级亚洲精品| 国产精品99精品无码视亚| 久久精品在这里| 久久久精品国产sm调教| 色婷婷综合中文久久一本| 中文字幕在线观看1| 日韩精品视频在线观看免费| 麻豆tv免费在线观看| 91精品国产九九九久久久亚洲| 第一av在线| 成人欧美一区二区三区在线| 欧美做受69| 神马影院我不卡午夜| 亚洲经典视频在线观看| 欧美性猛交乱大交| 国产视频不卡一区| 国产污视频在线看| 欧美午夜www高清视频| www.桃色av嫩草.com| 深夜福利91大全| 国产第一页在线| 成人字幕网zmw| 欧美色图激情小说| 日韩国产成人无码av毛片| 日韩成人伦理电影在线观看| 亚洲观看黄色网| 亚洲在线观看免费视频| 又污又黄的网站| 亚洲欧美日韩中文在线| 欧美巨大丰满猛性社交| 亚洲日本欧美中文幕| 疯狂揉花蒂控制高潮h| 成人高清av在线| 久久免费在线观看视频| 337p亚洲精品色噜噜噜| av在线资源网| 国产精品啪视频| 国产亚洲一卡2卡3卡4卡新区 | 欧美日韩另类视频| 欧美 日韩 国产 精品| 欧美国产乱视频| 欧州一区二区三区| 91视频成人免费| 九九九久久久精品| 中文字幕第24页| 欧美午夜宅男影院在线观看| 亚洲av成人精品日韩在线播放| 国内偷自视频区视频综合| 在线精品自拍| 国自产拍偷拍精品啪啪一区二区| 国产成人99久久亚洲综合精品| 福利所第一导航| 精品福利一区二区三区| 波多野结衣在线观看| 精品国产电影| 亚洲国产清纯| 小毛片在线观看| 午夜精品久久久久久久久久| 婷婷av一区二区三区| 欧美有码在线视频| 天堂成人娱乐在线视频免费播放网站| 欧美精品自拍视频| 2024国产精品| 国产成人自拍偷拍| 亚洲免费福利视频| 国产99re66在线视频| 国产综合欧美在线看| 搞黄视频免费在线观看| 亚洲欧美日韩网| 老司机精品视频网| 一区二区三区在线观看www| 欧美一级网站| 婷婷丁香综合网| 欧美一区二区久久| 日本理论片午伦夜理片在线观看| 亚洲自拍中文字幕| 在线观看视频日韩| av天堂一区二区| 在线观看国产日韩| 黄网页在线观看| 国产精品视频入口| 日韩和欧美一区二区三区| 超碰人人干人人| 日韩西西人体444www| 色在线视频网| 欧美日韩一区二区三区在线视频| 日本欧美韩国一区三区| 日韩福利在线视频| 日韩欧美激情四射| 性感女国产在线| 中文精品视频一区二区在线观看| 国产成人在线免费| 神马久久久久久久 | 激情视频在线观看免费| 91久久国产精品91久久性色| 欧美最新另类人妖| 99久久综合网| 欧美午夜精品一区二区蜜桃| 亚洲综合影视| 国产在线视频欧美一区二区三区|