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

HBase更優(yōu)實(shí)踐-用好你的操作系統(tǒng)

運(yùn)維 數(shù)據(jù)庫運(yùn)維
任何數(shù)據(jù)庫系統(tǒng)的性能表現(xiàn)都與諸多因素相關(guān),這里面有數(shù)據(jù)庫本身的各種因素,比如數(shù)據(jù)庫配置、客戶端使用、容量規(guī)劃、表scheme設(shè)計(jì)等,除此之外,基礎(chǔ)系統(tǒng)對其的影響也至關(guān)重要,比如操作系統(tǒng)、JVM等。很多時(shí)候數(shù)據(jù)庫遇到一些性能問題,左查右查都定位不了具體原因,這個(gè)時(shí)候就要看看操作系統(tǒng)的配置是否都合理了。本文從HBase官方文檔要求的幾個(gè)參數(shù)出發(fā),詳細(xì)說明了這些參數(shù)的具體意義。

[[192213]]

終于又切回HBase模式了,之前一段時(shí)間因?yàn)楣ぷ鞯脑蛄私饨佑|了一段時(shí)間大數(shù)據(jù)生態(tài)的很多其他組件(諸如Parquet、Carbondata、Hive、SparkSQL、TPC-DS/TPC-H等),雖然只是走馬觀花,但也受益良多。對視野、思維模式都有極其重要的作用,至少,擴(kuò)展了大數(shù)據(jù)領(lǐng)域的對話圈。這里也斗膽建議朋友能在深入研究一門學(xué)問的同時(shí)博覽周邊學(xué)問,相信必然會大有裨益。

來說正題,操作系統(tǒng)這個(gè)話題其實(shí)很早就想拿出來和大家分享,拖到現(xiàn)在一方面是因?yàn)閷ζ渲懈鞣N理論理解并不十分透徹,怕講不好;另一方面是這個(gè)問題好像一直以來都很少有人關(guān)注,這里算是給這個(gè)話題開個(gè)頭。其實(shí)這幾個(gè)參數(shù)前前后后看過好些次,但卻一直沒有吃透,前段時(shí)間趁著休假又把這些理論翻出來過了一遍,有了進(jìn)一步的理解,這里權(quán)當(dāng)整理梳理。下圖是HBase官方文檔上對操作系統(tǒng)環(huán)境的幾點(diǎn)配置要求:

 

先不著急解釋每個(gè)配置的具體含義,在這之前需要重點(diǎn)研究一個(gè)概念:swap,對,就這個(gè)大家或多或少聽說過的名詞,負(fù)責(zé)任的說,上述幾個(gè)參數(shù)或多或少都與swap有些關(guān)聯(lián)。

swap是干嘛的?

在Linux下,SWAP的作用類似Windows系統(tǒng)下的“虛擬內(nèi)存”。當(dāng)物理內(nèi)存不足時(shí),拿出部分硬盤空間當(dāng)SWAP分區(qū)(虛擬成內(nèi)存)使用,從而解決內(nèi)存容量不足的情況。

SWAP意思是交換,顧名思義,當(dāng)某進(jìn)程向OS請求內(nèi)存發(fā)現(xiàn)不足時(shí),OS會把內(nèi)存中暫時(shí)不用的數(shù)據(jù)交換出去,放在SWAP分區(qū)中,這個(gè)過程稱為SWAP OUT。當(dāng)某進(jìn)程又需要這些數(shù)據(jù)且OS發(fā)現(xiàn)還有空閑物理內(nèi)存時(shí),又會把SWAP分區(qū)中的數(shù)據(jù)交換回物理內(nèi)存中,這個(gè)過程稱為SWAP IN。

當(dāng)然,swap大小是有上限的,一旦swap使用完,操作系統(tǒng)會觸發(fā)OOM-Killer機(jī)制,把消耗內(nèi)存最多的進(jìn)程kill掉以釋放內(nèi)存。

數(shù)據(jù)庫系統(tǒng)為什么嫌棄swap?

顯然,swap機(jī)制的初衷是為了緩解物理內(nèi)存用盡而選擇直接粗暴OOM進(jìn)程的尷尬。但坦白講,幾乎所有數(shù)據(jù)庫對swap都不怎么待見,無論MySQL、Oracal、MongoDB抑或HBase,為什么?這主要和下面兩個(gè)方面有關(guān):

1. 數(shù)據(jù)庫系統(tǒng)一般都對響應(yīng)延遲比較敏感,如果使用swap代替內(nèi)存,數(shù)據(jù)庫服務(wù)性能必然不可接受。對于響應(yīng)延遲極其敏感的系統(tǒng)來講,延遲太大和服務(wù)不可用沒有任何區(qū)別,比服務(wù)不可用更嚴(yán)重的是,swap場景下進(jìn)程就是不死,這就意味著系統(tǒng)一直不可用……再想想如果不使用swap直接oom,是不是一種更好的選擇,這樣很多高可用系統(tǒng)直接會主從切換掉,用戶基本無感知。

2. 另外對于諸如HBase這類分布式系統(tǒng)來說,其實(shí)并不擔(dān)心某個(gè)節(jié)點(diǎn)宕掉,而恰恰擔(dān)心某個(gè)節(jié)點(diǎn)夯住。一個(gè)節(jié)點(diǎn)宕掉,最多就是小部分請求短暫不可用,重試即可恢復(fù)。但是一個(gè)節(jié)點(diǎn)夯住會將所有分布式請求都夯住,服務(wù)器端線程資源被占用不放,導(dǎo)致整個(gè)集群請求阻塞,甚至集群被拖垮。

從這兩個(gè)角度考慮,所有數(shù)據(jù)庫都不喜歡swap還是很有道理的!

swap的工作機(jī)制

既然數(shù)據(jù)庫們對swap不待見,那是不是就要使用swapoff命令關(guān)閉磁盤緩存特性呢?非也,大家可以想想,關(guān)閉磁盤緩存意味著什么?實(shí)際生產(chǎn)環(huán)境沒有一個(gè)系統(tǒng)會如此激進(jìn),要知道這個(gè)世界永遠(yuǎn)不是非0即1的,大家都會或多或少選擇走在中間,不過有些偏向0,有些偏向1而已。很顯然,在swap這個(gè)問題上,數(shù)據(jù)庫必然選擇偏向盡量少用。HBase官方文檔的幾點(diǎn)要求實(shí)際上就是落實(shí)這個(gè)方針:盡可能降低swap影響。知己知彼才能百戰(zhàn)不殆,要降低swap影響就必須弄清楚Linux內(nèi)存回收是怎么工作的,這樣才能不遺漏任何可能的疑點(diǎn)。

先來看看swap是如何觸發(fā)的?

簡單來說,Linux會在兩種場景下觸發(fā)內(nèi)存回收,一種是在內(nèi)存分配時(shí)發(fā)現(xiàn)沒有足夠空閑內(nèi)存時(shí)會立刻觸發(fā)內(nèi)存回收;一種是開啟了一個(gè)守護(hù)進(jìn)程(swapd進(jìn)程)周期性對系統(tǒng)內(nèi)存進(jìn)行檢查,在可用內(nèi)存降低到特定閾值之后主動觸發(fā)內(nèi)存回收。***種場景沒什么可說,來重點(diǎn)聊聊第二種場景,如下圖所示:

 

這里就要引出我們關(guān)注的***個(gè)參數(shù):vm.min_free_kbytes,代表系統(tǒng)所保留空閑內(nèi)存的***限watermark[min],并且影響watermark[low]和watermark[high]。簡單可以認(rèn)為:

  1. watermark[min] = min_free_kbytes 
  2.  
  3. watermark[low] = watermark[min] * 5 / 4 = min_free_kbytes * 5 / 4 
  4.  
  5. watermark[high] = watermark[min] * 3 / 2 = min_free_kbytes * 3 / 2 
  6.  
  7. watermark[high] - watermark[low] = watermark[low] - watermark[min] = min_free_kbytes / 4  

可見,LInux的這幾個(gè)水位線與參數(shù)min_free_kbytes密不可分。min_free_kbytes對于系統(tǒng)的重要性不言而喻,既不能太大,也不能太小。

min_free_kbytes如果太小,[min,low]之間水位的buffer就會很小,在kswapd回收的過程中一旦上層申請內(nèi)存的速度太快(典型應(yīng)用:數(shù)據(jù)庫),就會導(dǎo)致空閑內(nèi)存極易降至watermark[min]以下,此時(shí)內(nèi)核就會進(jìn)行direct reclaim(直接回收),直接在應(yīng)用程序的進(jìn)程上下文中進(jìn)行回收,再用回收上來的空閑頁滿足內(nèi)存申請,因此實(shí)際會阻塞應(yīng)用程序,帶來一定的響應(yīng)延遲。當(dāng)然,min_free_kbytes也不宜太大,太大一方面會導(dǎo)致應(yīng)用程序進(jìn)程內(nèi)存減少,浪費(fèi)系統(tǒng)內(nèi)存資源,另一方面還會導(dǎo)致kswapd進(jìn)程花費(fèi)大量時(shí)間進(jìn)行內(nèi)存回收。再看看這個(gè)過程,是不是和Java垃圾回收機(jī)制中CMS算法中老生代回收觸發(fā)機(jī)制神似,想想?yún)?shù)-XX:CMSInitiatingOccupancyFraction,是不是?官方文檔中要求min_free_kbytes不能小于1G(在大內(nèi)存系統(tǒng)中設(shè)置8G),就是不要輕易觸發(fā)直接回收。

至此,基本解釋了Linux的內(nèi)存回收觸發(fā)機(jī)制以及我們關(guān)注的***個(gè)參數(shù)vm.min_free_kbytes。接下來簡單看看Linux內(nèi)存回收都回收些什么。Linux內(nèi)存回收對象主要分為兩種:

1. 文件緩存,這個(gè)容易理解,為了避免文件數(shù)據(jù)每次都要從硬盤讀取,系統(tǒng)會將熱點(diǎn)數(shù)據(jù)存儲在內(nèi)存中,提高性能。如果僅僅將文件讀出來,內(nèi)存回收只需要釋放這部分內(nèi)存即可,下次再次讀取該文件數(shù)據(jù)直接從硬盤中讀取即可(類似HBase文件緩存)。那如果不僅將文件讀出來,而且對這些緩存的文件數(shù)據(jù)進(jìn)行了修改(臟數(shù)據(jù)),回收內(nèi)存就需要將這部分?jǐn)?shù)據(jù)文件寫會硬盤再釋放(類似MySQL文件緩存)。

2. 匿名內(nèi)存,這部分內(nèi)存沒有實(shí)際載體,不像文件緩存有硬盤文件這樣一個(gè)載體,比如典型的堆、棧數(shù)據(jù)等。這部分內(nèi)存在回收的時(shí)候不能直接釋放或者寫回類似文件的媒介中,這才搞出來swap這個(gè)機(jī)制,將這類內(nèi)存換出到硬盤中,需要的時(shí)候再加載出來。

具體Linux使用什么算法來確認(rèn)哪些文件緩存或者匿名內(nèi)存需要被回收掉,這里并不關(guān)心,有興趣可以參考這里。但是有個(gè)問題需要我們思考:既然有兩類內(nèi)存可以被回收,那么在這兩類內(nèi)存都可以被回收的情況下,Linux到底是如何決定到底是回收哪類內(nèi)存呢?還是兩者都會被回收?這里就牽出來了我們第二個(gè)關(guān)心的參數(shù):swappiness,這個(gè)值用來定義內(nèi)核使用swap的積極程度,值越高,內(nèi)核就會積極地使用swap,值越低,就會降低對swap的使用積極性。該值取值范圍在0~100,默認(rèn)是60。這個(gè)swappiness到底是怎么實(shí)現(xiàn)的呢?具體原理很復(fù)雜,簡單來講,swappiness通過控制內(nèi)存回收時(shí),回收的匿名頁更多一些還是回收的文件緩存更多一些來達(dá)到這個(gè)效果。swappiness等于100,表示匿名內(nèi)存和文件緩存將用同樣的優(yōu)先級進(jìn)行回收,默認(rèn)60表示文件緩存會優(yōu)先被回收掉,至于為什么文件緩存要被優(yōu)先回收掉,大家不妨想想(回收文件緩存通常情況下不會引起IO操作,對系統(tǒng)性能影響較小)。對于數(shù)據(jù)庫來講,swap是盡量需要避免的,所以需要將其設(shè)置為0。此處需要注意,設(shè)置為0并不代表不執(zhí)行swap哦!

至此,我們從Linux內(nèi)存回收觸發(fā)機(jī)制、Linux內(nèi)存回收對象一直聊到swap,將參數(shù)min_free_kbytes以及swappiness進(jìn)行了解釋。接下來看看另一個(gè)與swap有關(guān)系的參數(shù):zone_reclaim_mode,文檔說了設(shè)置這個(gè)參數(shù)為0可以關(guān)閉NUMA的zone reclaim,這又是怎么回事?提起NUMA,數(shù)據(jù)庫們又都不高興了,很多DBA都曾經(jīng)被坑慘過。那這里簡單說明三個(gè)小問題:NUMA是什么?NUMA和swap有什么關(guān)系?zone_reclaim_mode的具體意義?

NUMA(Non-Uniform Memory Access)是相對UMA來說的,兩者都是CPU的設(shè)計(jì)架構(gòu),早期CPU設(shè)計(jì)為UMA結(jié)構(gòu),如下圖(圖片來自網(wǎng)絡(luò))所示:

 

為了緩解多核CPU讀取同一塊內(nèi)存所遇到的通道瓶頸問題,芯片工程師又設(shè)計(jì)了NUMA結(jié)構(gòu),如下圖(圖片來自網(wǎng)絡(luò))所示:

 

這種架構(gòu)可以很好解決UMA的問題,即不同CPU有專屬內(nèi)存區(qū),為了實(shí)現(xiàn)CPU之間的”內(nèi)存隔離”,還需要軟件層面兩點(diǎn)支持:

1. 內(nèi)存分配需要在請求線程當(dāng)前所處CPU的專屬內(nèi)存區(qū)域進(jìn)行分配。如果分配到其他CPU專屬內(nèi)存區(qū),勢必隔離性會受到一定影響,并且跨越總線的內(nèi)存訪問性能必然會有一定程度降低。

2. 另外,一旦local內(nèi)存(專屬內(nèi)存)不夠用,優(yōu)先淘汰local內(nèi)存中的內(nèi)存頁,而不是去查看遠(yuǎn)程內(nèi)存區(qū)是否會有空閑內(nèi)存借用。

這樣實(shí)現(xiàn),隔離性確實(shí)好了,但問題也來了:NUMA這種特性可能會導(dǎo)致CPU內(nèi)存使用不均衡,部分CPU專屬內(nèi)存不夠使用,頻繁需要回收,進(jìn)而可能發(fā)生大量swap,系統(tǒng)響應(yīng)延遲會嚴(yán)重抖動。而與此同時(shí)其他部分CPU專屬內(nèi)存可能都很空閑。這就會產(chǎn)生一種怪現(xiàn)象:使用free命令查看當(dāng)前系統(tǒng)還有部分空閑物理內(nèi)存,系統(tǒng)卻不斷發(fā)生swap,導(dǎo)致某些應(yīng)用性能急劇下降。見葉金榮老師的MySQL案例分析:《找到MySQL服務(wù)器發(fā)生SWAP罪魁禍?zhǔn)?/a>》。

所以,對于小內(nèi)存應(yīng)用來講,NUMA所帶來的這種問題并不突出,相反,local內(nèi)存所帶來的性能提升相當(dāng)可觀。但是對于數(shù)據(jù)庫這類內(nèi)存大戶來說,NUMA默認(rèn)策略所帶來的穩(wěn)定性隱患是不可接受的。因此數(shù)據(jù)庫們都強(qiáng)烈要求對NUMA的默認(rèn)策略進(jìn)行改進(jìn),有兩個(gè)方面可以進(jìn)行改進(jìn):

1. 將內(nèi)存分配策略由默認(rèn)的親和模式改為interleave模式,即會將內(nèi)存page打散分配到不同的CPU zone中。通過這種方式解決內(nèi)存可能分布不均的問題,一定程度上緩解上述案例中的詭異問題。對于MongoDB來說,在啟動的時(shí)候就會提示使用interleave內(nèi)存分配策略:

  1. WARNING: You are running on a NUMA machine. 
  2.  
  3. We suggest launching mongod like this to avoid performance problems: 
  4.  
  5. numactl –interleave=all mongod [other options]  

2. 改進(jìn)內(nèi)存回收策略:此處終于請出今天的第三個(gè)主角參數(shù)zone_reclaim_mode,這個(gè)參數(shù)定義了NUMA架構(gòu)下不同的內(nèi)存回收策略,可以取值0/1/3/4,其中0表示在local內(nèi)存不夠用的情況下可以去其他的內(nèi)存區(qū)域分配內(nèi)存;1表示在local內(nèi)存不夠用的情況下本地先回收再分配;3表示本地回收盡可能先回收文件緩存對象;4表示本地回收優(yōu)先使用swap回收匿名內(nèi)存。可見,HBase推薦配置zone_reclaim_mode=0一定程度上降低了swap發(fā)生的概率。

不都是swap的事

至此,我們探討了三個(gè)與swap相關(guān)的系統(tǒng)參數(shù),并且圍繞Linux系統(tǒng)內(nèi)存分配、swap以及NUMA等知識點(diǎn)對這三個(gè)參數(shù)進(jìn)行了深入解讀。除此之外,對于數(shù)據(jù)庫系統(tǒng)來說,還有兩個(gè)非常重要的參數(shù)需要特別關(guān)注:

1. IO調(diào)度策略:這個(gè)話題網(wǎng)上有很多解釋,在此并不打算詳述,只給出結(jié)果。通常對于sata盤的OLTP數(shù)據(jù)庫來說,deadline算法調(diào)度策略是***的選擇。

2. THP(transparent huge pages)特性關(guān)閉。THP特性筆者曾經(jīng)疑惑過很久,主要疑惑點(diǎn)有兩點(diǎn),其一是THP和HugePage是不是一回事,其二是HBase為什么要求關(guān)閉THP。經(jīng)過前前后后多次查閱相關(guān)文檔,終于找到一些蛛絲馬跡。這里分四個(gè)小點(diǎn)來解釋THP特性:

(1)什么是HugePage?

網(wǎng)上對HugePage的解釋有很多,大家可以檢索閱讀。簡單來說,計(jì)算機(jī)內(nèi)存是通過表映射(內(nèi)存索引表)的方式進(jìn)行內(nèi)存尋址,目前系統(tǒng)內(nèi)存以4KB為一個(gè)頁,作為內(nèi)存尋址的最小單元。隨著內(nèi)存不斷增大,內(nèi)存索引表的大小將會不斷增大。一臺256G內(nèi)存的機(jī)器,如果使用4KB小頁, 僅索引表大小就要4G左右。要知道這個(gè)索引表是必須裝在內(nèi)存的,而且是在CPU內(nèi)存,太大就會發(fā)生大量miss,內(nèi)存尋址性能就會下降。

HugePage就是為了解決這個(gè)問題,HugePage使用2MB大小的大頁代替?zhèn)鹘y(tǒng)小頁來管理內(nèi)存,這樣內(nèi)存索引表大小就可以控制的很小,進(jìn)而全部裝在CPU內(nèi)存,防止出現(xiàn)miss。

(2)什么是THP(Transparent Huge Pages)?

HugePage是一種大頁理論,那具體怎么使用HugePage特性呢?目前系統(tǒng)提供了兩種使用方式,其一稱為Static Huge Pages,另一種就是Transparent Huge Pages。前者根據(jù)名稱就可以知道是一種靜態(tài)管理策略,需要用戶自己根據(jù)系統(tǒng)內(nèi)存大小手動配置大頁個(gè)數(shù),這樣在系統(tǒng)啟動的時(shí)候就會生成對應(yīng)個(gè)數(shù)的大頁,后續(xù)將不再改變。而Transparent Huge Pages是一種動態(tài)管理策略,它會在運(yùn)行期動態(tài)分配大頁給應(yīng)用,并對這些大頁進(jìn)行管理,對用戶來說完全透明,不需要進(jìn)行任何配置。另外,目前THP只針對匿名內(nèi)存區(qū)域。

(3)HBase(數(shù)據(jù)庫)為什么要求關(guān)閉THP特性?

THP是一種動態(tài)管理策略,會在運(yùn)行期分配管理大頁,因此會有一定程度的分配延時(shí),這對追求響應(yīng)延時(shí)的數(shù)據(jù)庫系統(tǒng)來說不可接受。除此之外,THP還有很多其他弊端,可以參考這篇文章《why-tokudb-hates-transparent-hugepages

(4)THP關(guān)閉/開啟對HBase讀寫性能影響有多大?

為了驗(yàn)證THP開啟關(guān)閉對HBase性能的影響到底有多大,本人在測試環(huán)境做了一個(gè)簡單的測試:測試集群僅一個(gè)RegionServer,測試負(fù)載為讀寫比1:1。THP在部分系統(tǒng)中為always以及never兩個(gè)選項(xiàng),在部分系統(tǒng)中多了一個(gè)稱為madvise的選項(xiàng)。可以使用命令 echo never/always > /sys/kernel/mm/transparent_hugepage/enabled 來關(guān)閉/開啟THP。測試結(jié)果如下圖所示:

 

如上圖,TPH關(guān)閉場景下(never)HBase性能***,比較穩(wěn)定。而THP開啟的場景(always),性能相比關(guān)閉的場景有30%左右的下降,而且曲線抖動很大。可見,HBase線上切記要關(guān)閉THP。

總結(jié)

任何數(shù)據(jù)庫系統(tǒng)的性能表現(xiàn)都與諸多因素相關(guān),這里面有數(shù)據(jù)庫本身的各種因素,比如數(shù)據(jù)庫配置、客戶端使用、容量規(guī)劃、表scheme設(shè)計(jì)等,除此之外,基礎(chǔ)系統(tǒng)對其的影響也至關(guān)重要,比如操作系統(tǒng)、JVM等。很多時(shí)候數(shù)據(jù)庫遇到一些性能問題,左查右查都定位不了具體原因,這個(gè)時(shí)候就要看看操作系統(tǒng)的配置是否都合理了。本文從HBase官方文檔要求的幾個(gè)參數(shù)出發(fā),詳細(xì)說明了這些參數(shù)的具體意義。 

責(zé)任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2010-04-15 15:21:43

Unix操作系統(tǒng)

2010-04-15 17:21:40

Unix操作系統(tǒng)

2014-05-29 11:14:35

2009-12-07 18:16:07

2025-05-14 03:22:00

2018-09-04 08:33:41

WindowsLinux操作系統(tǒng)

2010-01-06 15:36:30

Linux操作系統(tǒng)

2009-12-15 17:16:49

免費(fèi)在線操作系統(tǒng)

2017-04-06 09:56:52

大數(shù)據(jù)數(shù)據(jù)結(jié)轉(zhuǎn)技術(shù)架構(gòu)

2010-01-06 16:32:45

Linux操作系統(tǒng)

2023-05-29 09:41:42

操作系統(tǒng)計(jì)算機(jī)系統(tǒng)

2017-11-30 10:26:32

操作系統(tǒng)運(yùn)行時(shí)間CPU

2022-01-07 17:28:07

操作系統(tǒng)IO 內(nèi)存

2009-12-07 17:51:39

2010-04-15 14:40:26

Unix操作系統(tǒng)

2011-07-19 14:35:10

組策略安全

2020-02-10 14:35:40

操作系統(tǒng)計(jì)算機(jī)軟件

2010-04-14 14:52:14

Unix操作系統(tǒng)

2017-01-12 10:51:59

操作系統(tǒng)微型操作系統(tǒng)服務(wù)器

2017-04-21 21:25:12

操作系統(tǒng)國產(chǎn)
點(diǎn)贊
收藏

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

中文字幕在线一区二区三区| 久久99久久99| 国产精品一区二区果冻传媒| 美女精品视频一区| aaa黄色大片| 忘忧草在线日韩www影院| 国产亚洲精久久久久久| 91精品免费视频| 国产午夜福利精品| 国产精品一区二区av交换| 欧美精品久久99| 国产av国片精品| 亚洲精品承认| fc2成人免费人成在线观看播放 | 国产亚洲精品久久久久婷婷瑜伽| 亚洲最新中文字幕| 免费看三级黄色片| 欧美动物xxx| 亚洲综合区在线| 亚洲国产婷婷香蕉久久久久久99 | 日韩美女在线看免费观看| 亚洲人成在线观看一区二区| 欧美激情导航| 亚洲第一天堂在线观看| 久久精品国产久精国产爱| 97久久精品视频| 国产大片免费看| 波多野结衣在线观看一区二区| 精品久久99ma| 99九九精品视频| 嫩草伊人久久精品少妇av杨幂| 亚洲综合999| 国产精品h视频| 黄色软件在线观看| 99精品久久只有精品| 亚洲一区二区三区久久 | 日韩av电影天堂| 97视频国产在线| 国产一区二区三区在线视频观看| 成人在线电影在线观看视频| 亚洲电影在线看| 日本中文字幕精品| 日日夜夜亚洲精品| 欧美网站大全在线观看| av网站在线观看不卡| 搞黄网站在线看| 亚洲一区二区三区爽爽爽爽爽| 一区二区三区av| 成年人在线看| 中文字幕国产一区二区| 神马影院午夜我不卡影院| 你懂的在线观看| 久久综合九色欧美综合狠狠| 精品无码久久久久国产| 日韩一卡二卡在线| 99热这里都是精品| 国产一区二区精品免费| 亚洲a视频在线观看| 国产一区二区三区香蕉| 亚洲a级在线播放观看| 国产又粗又大又爽| 精品在线一区二区| 96精品久久久久中文字幕| 91精品视频免费在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品久久久久久久天堂| 无码人妻精品一区二区三区9厂| 亚洲女同在线| 国产成人在线播放| 中日韩av在线| 国产中文字幕一区| av一区二区三区四区电影| 国产成人精品无码高潮| 高清在线不卡av| 精品一区久久久久久| 男生女生差差差的视频在线观看| 久久色在线观看| 日韩亚洲视频在线| 麻豆网在线观看| 亚洲愉拍自拍另类高清精品| 成人在线免费观看av| 欧美自拍电影| 欧美精品精品一区| 色哟哟无码精品一区二区三区| aiai久久| 国产一区二区动漫| 91高清免费观看| 亚洲国产黄色| 日本亚洲欧美成人| 国产乱码久久久| 成人av在线观| 丝袜足脚交91精品| 亚洲精品一线| 欧美日韩一区免费| 天天爽夜夜爽一区二区三区| 精品国产亚洲一区二区三区大结局| 精品国产1区二区| 亚洲成人黄色av| 欧美日韩专区| 国产精品久久视频| 国产乱子伦精品无码码专区| jvid福利写真一区二区三区| 亚洲午夜精品久久久中文影院av | 91chinesevideo永久地址| 国产精品一区无码| 国产一区二区在线免费观看| 精品午夜一区二区三区| 日本免费在线观看| 五月天网站亚洲| 岛国av免费在线| 香蕉精品久久| 欧美国产日本高清在线| 久久精品国产亚洲av麻豆蜜芽| 国产成人午夜精品5599| 日韩电影大全在线观看| 日韩美女主播在线视频一区二区三区| 色综合天天狠天天透天天伊人| 国产无码精品视频| 毛片av一区二区三区| 国产一区再线| 成人无遮挡免费网站视频在线观看| 岛国视频午夜一区免费在线观看| 国产精品999.| 日本高清免费电影一区| 久久人人爽人人爽人人片av高请| 亚洲综合视频在线播放| 99re这里都是精品| 伊人网在线免费| 欧美日韩尤物久久| 日韩电影大片中文字幕| 国产免费无码一区二区视频| 全部av―极品视觉盛宴亚洲| 精品一区在线播放| 蜜桃传媒在线观看免费进入| 欧美区在线观看| 日本美女xxx| 午夜影院日韩| 国产日韩欧美一区二区三区四区| av文字幕在线观看| 欧美日韩在线播放一区| 国产精品成人一区二区三区电影毛片 | 亚洲a一级视频| 精品麻豆一区二区三区| 欧美在线观看视频在线| 国产ts在线播放| 国产欧美在线| 精品麻豆av| 欧美13videosex性极品| 亚洲福利在线播放| 国产精品成人久久| 懂色av一区二区三区免费看| 在线观看18视频网站| av国产精品| 久久av红桃一区二区小说| 一区二区国产欧美| 国产精品电影一区二区| 中文字幕66页| 亚洲精品久久| 91久久精品www人人做人人爽| 欧美黑人激情| 91精品蜜臀在线一区尤物| 无码人妻精品中文字幕 | 色黄视频免费看| 影视一区二区| 成人看片在线| 国产美女精品写真福利视频| 日韩电影免费在线观看中文字幕| 国产精品国产三级国产专区52| 99久久精品国产麻豆演员表| av动漫免费看| 日韩1区在线| 成人美女av在线直播| caopon在线免费视频| 欧美成人高清电影在线| 国产奶水涨喷在线播放| 91看片淫黄大片一级在线观看| 男女曰b免费视频| 欧美亚洲国产一区| 91在线视频九色| 大黄网站在线观看| 亚洲视频在线免费看| 亚洲第一区av| 樱桃视频在线观看一区| 日本一区二区在线免费观看| 肉丝袜脚交视频一区二区| 亚洲一区二区免费视频软件合集 | av在线官网| 日韩av在线精品| japanese国产在线观看| 最好看的中文字幕久久| 中文字幕乱码在线| 日本亚洲一区二区| 精品嫩模一区二区三区| 女同另类激情重口| 国产精品久久久久久久久久99| 黄色网在线免费观看| 亚洲黄在线观看| 中文字幕人妻丝袜乱一区三区| 亚洲黄色片在线观看| 青青草福利视频| 国产自产高清不卡| www.com毛片| 亚洲精品一区二区妖精| 久久精品aaaaaa毛片| 亚洲a成人v| 26uuu久久噜噜噜噜| 成人免费网址| 亚洲欧美综合另类中字| 国内毛片毛片毛片毛片| 在线欧美日韩精品| 日韩久久久久久久久| 国产精品国产三级国产普通话蜜臀| 免费在线观看日韩av| 日韩av一二三| 国产男女无遮挡| 欧美va亚洲va日韩∨a综合色| 欧美资源一区| 精品欠久久久中文字幕加勒比| 国产在线高清精品| 成人国产二区| 国产+人+亚洲| 污污网站在线观看| www.久久久久| 成人免费黄色网页| 日韩国产一区三区| 日批视频在线播放| 欧美一区二区久久久| 日韩欧美一级大片| 欧美视频专区一二在线观看| 久久一二三四区| 亚洲欧美一区二区三区久本道91| 中文字幕第24页| 久久久久久久久久久久久夜| av av在线| 国产91丝袜在线播放九色| 亚洲黄色片免费| 免费人成黄页网站在线一区二区| 美女福利视频在线| 亚洲一区日韩| 草草久久久无码国产专区| 狠狠爱www人成狠狠爱综合网| 在线观看免费黄色片| 日韩在线第七页| 亚洲啪啪av| 青青草原综合久久大伊人精品 | 青青草超碰在线| 亚洲精品短视频| 天堂av资源网| 亚洲精品美女在线观看播放| 日韩中文字幕免费在线观看| 亚洲精品一线二线三线| 秋霞欧美在线观看| 亚洲福利影片在线| 天堂av在线免费观看| 亚洲激情视频在线播放| 亚洲 国产 欧美 日韩| 日韩av在线看| 国产中文字幕在线| 在线视频国产日韩| 视频一区二区三区不卡| 久久精品电影网站| 中文字幕中文字幕在线十八区 | 国产一区二区伦理片| 久久久久久国产精品日本| 国产一区二区福利| 伊人av在线播放| 99国产欧美久久久精品| 久久精品老司机| 国产欧美日产一区| 日本免费网站视频| 亚洲综合一区在线| 四虎成人在线观看| 欧美区视频在线观看| 国产一区二区三区四区视频| 日韩精品一区二区三区蜜臀 | 妞干网在线播放| 亚洲黄色av| www.xxx亚洲| 国产在线不卡视频| 艳妇乳肉豪妇荡乳xxx| 久久久久久99久久久精品网站| 成人在线观看免费高清| 亚洲免费观看高清完整| 久久精品性爱视频| 色婷婷综合久久久| 99久久婷婷国产一区二区三区| 亚洲成avwww人| 爱久久·www| 久久亚洲精品成人| 色多多在线观看| 成人高清视频观看www| 福利欧美精品在线| 亚洲va韩国va欧美va精四季| 国产一区激情| 日韩视频免费在线播放| 国产精品一级在线| 一级性生活大片| 亚洲欧美成aⅴ人在线观看| 在线观看国产亚洲| 欧美美女网站色| 亚洲av成人无码久久精品老人 | 精品久久久久久久久久久久久久久 | 国产免费无码一区二区视频| 在线一区二区三区| 亚洲美女综合网| 中文字幕免费精品一区| 92久久精品| 成人激情电影一区二区| 香蕉视频一区二区三区| 99久re热视频精品98| 日韩激情视频在线观看| 一区二区三区四区影院| 国产精品免费av| 一区二区三区视频免费看| 88在线观看91蜜桃国自产| 欧美xxx.com| 性亚洲最疯狂xxxx高清| 国产精久久一区二区| 日韩精品一线二线三线| 亚洲国产高清一区| 欧美一级特黄aaa| 国产亚洲一区二区三区在线观看 | 91色视频在线导航| 久久超碰99| 99热亚洲精品| 国产精品一区二区在线播放| 91成人精品一区二区| 第一福利永久视频精品| 亚洲爆乳无码一区二区三区| 日韩视频一区在线| 成人一区视频| 日韩福利影院| 久久久久国产一区二区| 天天插天天射天天干| 亚洲综合成人在线| jizz中国女人| 久久久精品一区二区三区| 国产91在线精品| 日本婷婷久久久久久久久一区二区| 狠狠久久婷婷| 人妻av一区二区三区| 一区二区三区免费在线观看| 亚洲字幕av一区二区三区四区| 国产一区二区成人| 影音成人av| 亚洲精品高清视频| 日韩av一级电影| 最新日韩免费视频| 欧美老肥妇做.爰bbww| 日本黄色片在线观看| 国产精品视频一区二区高潮| 欧美三级情趣内衣| 一本色道久久亚洲综合精品蜜桃| 国产亚洲自拍一区| 中文字幕在线2018| 久久精品国产亚洲| 国产精品视频首页| 国产成人生活片| 成人做爰69片免费看网站| 久久精品免费av| 精品视频偷偷看在线观看| 中国色在线日|韩| 欧美一区二区综合| 日韩国产欧美在线视频| 国产又黄又粗又猛又爽的| 91精品婷婷国产综合久久性色| 欧美78videosex性欧美| 国产日产精品一区二区三区四区| 亚洲一区二区伦理| av永久免费观看| 91精品国产高清一区二区三区蜜臀| 1024在线播放| 久久精彩视频| 麻豆视频一区二区| 欧美日韩综合一区二区| 欧美精品一区男女天堂| 色是在线视频| 中文字幕精品—区二区日日骚| 国产河南妇女毛片精品久久久| 国产污片在线观看| 亚洲天堂av电影| 99亚洲男女激情在线观看| 亚洲熟妇无码另类久久久| 久久九九全国免费| 国产精品久久欧美久久一区| 久久久久久久久久久成人| 先锋影音国产精品| 午夜国产福利在线观看| 天天影视涩香欲综合网 | 欧美成人免费全部| 三级小说欧洲区亚洲区| jizz欧美性11| 婷婷成人激情在线网| 永久免费av在线| 国产乱子伦精品| 久久精品国产亚洲一区二区三区| 日本一级淫片色费放| 色香阁99久久精品久久久| 电影一区二区在线观看| 日本人视频jizz页码69|