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

Bigkey問(wèn)題的解決思路與方式探索

數(shù)據(jù)庫(kù)
在Redis運(yùn)維過(guò)程中,由于Bigkey 的存在,會(huì)影響業(yè)務(wù)程序的響應(yīng)速度,嚴(yán)重的還會(huì)造成可用性損失,DBA也一直和業(yè)務(wù)開(kāi)發(fā)方強(qiáng)調(diào) Bigkey 的規(guī)避方法以及危害。

一、背景

在Redis運(yùn)維過(guò)程中,由于Bigkey的存在,會(huì)影響業(yè)務(wù)程序的響應(yīng)速度,嚴(yán)重的還會(huì)造成可用性損失,DBA也一直和業(yè)務(wù)開(kāi)發(fā)方強(qiáng)調(diào) Bigkey 的規(guī)避方法以及危害,但是Bigkey一直沒(méi)有完全避免。全網(wǎng)Redis集群有2200個(gè)以上,實(shí)例數(shù)量達(dá)到4.5萬(wàn)以上,在當(dāng)前階段進(jìn)行一次全網(wǎng) Bigkey檢查,估計(jì)需要以年為時(shí)間單位,非常耗時(shí)。我們需要新的思路去解決Bigkey問(wèn)題。

二、Bigkey 介紹

2.1、什么是 Bigkey

在Redis中,一個(gè)字符串類(lèi)型最大可以到512MB,一個(gè)二級(jí)數(shù)據(jù)結(jié)構(gòu)(比如hash、list、set、zset等)可以存儲(chǔ)大約40億個(gè)(2^32-1)個(gè)元素,但實(shí)際上不會(huì)達(dá)到這么大的值,一般情況下如果達(dá)到下面的情況,就可以認(rèn)為它是Bigkey了。

  • 【字符串類(lèi)型】: 單個(gè)string類(lèi)型的value值超過(guò)1MB,就可以認(rèn)為是Bigkey。
  • 【非字符串類(lèi)型】:哈希、列表、集合、有序集合等, 它們的元素個(gè)數(shù)超過(guò)2000個(gè),就可以認(rèn)為是Bigkey。

2.2 Bigkey是怎么產(chǎn)生的

我們遇到的Bigkey一般都是由于程序設(shè)計(jì)不當(dāng)或者對(duì)于數(shù)據(jù)規(guī)模預(yù)料不清楚造成的,比如以下的情況。

  • 【統(tǒng)計(jì)】:遇到一個(gè)統(tǒng)計(jì)類(lèi)的key,是記錄某網(wǎng)站的訪問(wèn)用戶(hù)的IP,隨著時(shí)間的推移,網(wǎng)站訪問(wèn)的用戶(hù)越來(lái)越多,這個(gè)key的元素?cái)?shù)量也會(huì)越來(lái)越大,形成Bigkey。
  • 【緩存】: 緩存類(lèi)key一般是這樣的邏輯,將數(shù)據(jù)從數(shù)據(jù)庫(kù)查詢(xún)出來(lái)序列化放到Redis里,如果業(yè)務(wù)程序從Redis沒(méi)有訪問(wèn)到,就會(huì)查詢(xún)數(shù)據(jù)庫(kù)并將查詢(xún)到的數(shù)據(jù)追加到Redis緩存中,短時(shí)間內(nèi)會(huì)緩存大量的數(shù)據(jù)到Redis的key中,形成Bigkey。
  • 【隊(duì)列】:把Redis當(dāng)做隊(duì)列使用,處理任務(wù),如果消費(fèi)出現(xiàn)不及時(shí)情況,將導(dǎo)致隊(duì)列越來(lái)越大,形成Bigkey。

這三種情況,都是我們實(shí)際運(yùn)維中遇到的,需要謹(jǐn)慎使用,合理優(yōu)化。

2.3 Bigkey ?的危害

我們?cè)谶\(yùn)維中,遇到Bigkey的情況下,會(huì)導(dǎo)致一些問(wèn)題,會(huì)觸發(fā)監(jiān)控報(bào)警,嚴(yán)重的還會(huì)影響Redis實(shí)例可用性,進(jìn)而影響業(yè)務(wù)可用性,在需要水平擴(kuò)容時(shí)候,可能導(dǎo)致水平擴(kuò)容失敗。

2.3.1內(nèi)存空間不均勻

內(nèi)存空間不均勻會(huì)不利于集群對(duì)內(nèi)存的統(tǒng)一管理,有數(shù)據(jù)丟失風(fēng)險(xiǎn)。下圖中的三個(gè)節(jié)點(diǎn)是同屬于一個(gè)集群,它們的key的數(shù)量比較接近,但內(nèi)存容量相差比較多,存在Bigkey的實(shí)例占用的內(nèi)存多了4G以上了。

圖片

可以使用使用Daas平臺(tái)“工具集-操作項(xiàng)管理”,選擇對(duì)應(yīng)的slave實(shí)例執(zhí)行分析,找出具體的Bigkey。

2.3.2 超時(shí)阻塞

Redis是單線程工作的,通俗點(diǎn)講就是同一時(shí)間只能處理一個(gè)Redis的訪問(wèn)命令,操作Bigkey的命令通常比較耗時(shí),這段時(shí)間Redis不能處理其他命令,其他命令只能阻塞等待,這樣會(huì)造成客戶(hù)端阻塞,導(dǎo)致客戶(hù)端訪問(wèn)超時(shí),更嚴(yán)重的會(huì)造成master-slave的故障切換。造成阻塞的操作不僅僅是業(yè)務(wù)程序的訪問(wèn),還有key的自動(dòng)過(guò)期的刪除、del刪除命令,對(duì)于Bigkey,這些操作也需要謹(jǐn)慎使用。

超時(shí)阻塞案例

我們遇到一個(gè)這樣超時(shí)阻塞的案例,業(yè)務(wù)方反映程序訪問(wèn)Redis集群出現(xiàn)超時(shí)現(xiàn)象,hkeys訪問(wèn)Redis的平均響應(yīng)時(shí)間在200毫秒左右,最大響應(yīng)時(shí)間達(dá)到了500毫秒以上,如下圖。

圖片

hkeys是獲取所有哈希表中的字段的命令,分析應(yīng)該是集群中某些實(shí)例存在hash類(lèi)型的Bigkey,導(dǎo)致hkeys命令執(zhí)行時(shí)間過(guò)長(zhǎng),發(fā)生了阻塞現(xiàn)象。

1.使用Daas平臺(tái)“服務(wù)監(jiān)控-數(shù)據(jù)庫(kù)實(shí)例監(jiān)控”,選擇master節(jié)點(diǎn),選擇Redis響應(yīng)時(shí)間監(jiān)控指標(biāo)“redis.instance.latency.max”,如下圖所示,從監(jiān)控圖中我們可以看到

(1)正常情況下,該實(shí)例的響應(yīng)時(shí)間在0.1毫秒左右。

(2)監(jiān)控指標(biāo)上面有很多突刺,該實(shí)例的響應(yīng)時(shí)間到了70毫秒左右,最大到了100毫秒左右,這種情況就是該實(shí)例會(huì)有100毫秒都在處理Bigkey的訪問(wèn)命令,不能處理其他命令。

通過(guò)查看監(jiān)控指標(biāo),驗(yàn)證了我們分析是正確的,是這些監(jiān)控指標(biāo)的突刺造成了hkeys命令的響應(yīng)時(shí)間比較大,我們找到了具體的master實(shí)例,然后使用master實(shí)例的slave去分析下Bigkey情況。

圖片

圖片

2.使用Daas平臺(tái)“工具集-操作項(xiàng)管理”,選擇slave實(shí)例執(zhí)行分析,分析結(jié)果如下圖,有一個(gè)hash類(lèi)型key有12102218個(gè)fields。

圖片

3. 和業(yè)務(wù)溝通,這個(gè)Bigkey是連續(xù)存放了30天的業(yè)務(wù)數(shù)據(jù)了,建議根據(jù)二次hash方式拆分成多個(gè)key,也可把30天的數(shù)據(jù)根據(jù)分鐘級(jí)別拆分成多個(gè)key,把每個(gè)key的元素?cái)?shù)量控制在5000以?xún)?nèi),目前業(yè)務(wù)正在排期優(yōu)化中。優(yōu)化后,監(jiān)控指標(biāo)的響應(yīng)時(shí)間的突刺就會(huì)消失了。

2.3.3 網(wǎng)絡(luò)阻塞

Bigkey的value比較大,也意味著每次獲取要產(chǎn)生的網(wǎng)絡(luò)流量較大,假設(shè)一個(gè)Bigkey為10MB,客戶(hù)端每秒訪問(wèn)量為100,那么每秒產(chǎn)生1000MB的流量,對(duì)于普通的千兆網(wǎng)卡(按照字節(jié)算是128MB/s)的服務(wù)器來(lái)說(shuō)簡(jiǎn)直是滅頂之災(zāi)。而且我們現(xiàn)在的Redis服務(wù)器是采用單機(jī)多實(shí)例的方式來(lái)部署Redis實(shí)例的,也就是說(shuō)一個(gè)Bigkey可能會(huì)對(duì)同一個(gè)服務(wù)器上的其他Redis集群實(shí)例造成影響,影響到其他的業(yè)務(wù)。

2.3.4 遷移困難

我們?cè)谶\(yùn)維中經(jīng)常做的變更操作是水平擴(kuò)容,就是增加Redis集群的節(jié)點(diǎn)數(shù)量來(lái)達(dá)到擴(kuò)容的目的,這個(gè)水平擴(kuò)容操作就會(huì)涉及到key的遷移,把原實(shí)例上的key遷移到新擴(kuò)容的實(shí)例上。當(dāng)要對(duì)key進(jìn)行遷移時(shí),是通過(guò)migrate命令來(lái)完成的,migrate實(shí)際上是通過(guò)dump + restore + del三個(gè)命令組合成原子命令完成,它在執(zhí)行的時(shí)候會(huì)阻塞進(jìn)行遷移的兩個(gè)實(shí)例,直到以下任意結(jié)果發(fā)生才會(huì)釋放:遷移成功,遷移失敗,等待超時(shí)。如果key的遷移過(guò)程中遇到Bigkey,會(huì)長(zhǎng)時(shí)間阻塞進(jìn)行遷移的兩個(gè)實(shí)例,可能造成客戶(hù)端阻塞,導(dǎo)致客戶(hù)端訪問(wèn)超時(shí);也可能遷移時(shí)間太長(zhǎng),造成遷移超時(shí)導(dǎo)致遷移失敗,水平擴(kuò)容失敗。

遷移失敗案例

我們也遇到過(guò)一些因?yàn)锽igkey擴(kuò)容遷移失敗的案例,如下圖所示,是一個(gè)Redis集群水平擴(kuò)容的工單,需要進(jìn)行key的遷移,當(dāng)工單執(zhí)行到60%的時(shí)候,遷移失敗了。

1. 進(jìn)入工單找到失敗的實(shí)例,使用失敗實(shí)例的slave節(jié)點(diǎn),在Daas平臺(tái)的“工具集-操作項(xiàng)管理”進(jìn)行Bigkey分析。

圖片

2. 經(jīng)過(guò)分析找出了hash類(lèi)型的Bigkey有8421874個(gè)fields,正是這個(gè)Bigkey導(dǎo)致遷移時(shí)間太長(zhǎng),超過(guò)了遷移時(shí)間限制,導(dǎo)致工單失敗了。

圖片

3.和業(yè)務(wù)溝通,這些key是記錄用戶(hù)訪問(wèn)系統(tǒng)的某個(gè)功能模塊的ip地址的,訪問(wèn)該功能模塊的所有ip都會(huì)記錄到給key里面,隨著時(shí)間的積累,這個(gè)key變的越來(lái)越大。同樣是采用拆分的方式進(jìn)行優(yōu)化,可以考慮按照時(shí)間日期維度來(lái)拆分,就是一段時(shí)間段的訪問(wèn)ip記錄到一個(gè)key中。

4.Bigkey優(yōu)化后,擴(kuò)容的工單可以重試,完成集群擴(kuò)容操作。

三、Bigkey的發(fā)現(xiàn)

Bigkey首先需要重源頭治理,防止Bigkey的產(chǎn)生;其次是需要能夠及時(shí)的發(fā)現(xiàn),發(fā)現(xiàn)后及時(shí)處理。分析Bigkey的方法不少,這里介紹兩種比較常用的方法,也是Daas平臺(tái)分析Bigkey使用的兩種方式,分別是Bigkeys命令分析法、RDB文件分析法。

3.1 scan命令分析

Redis4.0及以上版本提供了--Bigkeys命令,可以分析出實(shí)例中每種數(shù)據(jù)結(jié)構(gòu)的top 1的Bigkey,同時(shí)給出了每種數(shù)據(jù)類(lèi)型的鍵值個(gè)數(shù)以及平均大小。執(zhí)行--Bigkeys命令時(shí)候需要注意以下幾點(diǎn):

  • 建議在slave節(jié)點(diǎn)執(zhí)行,因?yàn)?-Bigkeys也是通過(guò)scan完成的,可能會(huì)對(duì)節(jié)點(diǎn)造成阻塞。
  • 建議在節(jié)點(diǎn)本機(jī)執(zhí)行,這樣可以減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。
  • 如果沒(méi)有從節(jié)點(diǎn),可以使用--i參數(shù),例如(--i 0.1 代表100毫秒執(zhí)行一次)。
  • --Bigkeys只能計(jì)算每種數(shù)據(jù)結(jié)構(gòu)的top1,如果有些數(shù)據(jù)結(jié)構(gòu)有比較多的Bigkey,是查找不出來(lái)的。

Daas平臺(tái)集成了基于原生--Bigkeys代碼實(shí)現(xiàn)的查詢(xún)Bigkey的方式,這個(gè)方式的缺點(diǎn)是只能計(jì)算每種數(shù)據(jù)結(jié)構(gòu)的top1,如果有些數(shù)據(jù)結(jié)構(gòu)有比較多的Bigkey,是查找不出來(lái)的。該方式相對(duì)比較安全,已經(jīng)開(kāi)放出來(lái)給業(yè)務(wù)開(kāi)發(fā)同學(xué)使用。

3.2 RDB文件分析

借助開(kāi)源的工具,比如rdb-tools,分析Redis實(shí)例的RDB文件,找出其中的Bigkey,這種方式需要生成RDB文件,需要注意以下幾點(diǎn):

  • 建議在slave節(jié)點(diǎn)執(zhí)行,因?yàn)樯蒖DB文件會(huì)影響節(jié)點(diǎn)性能。
  • 需要生成RDB文件,會(huì)影響節(jié)點(diǎn)性能,雖然在slave節(jié)點(diǎn)執(zhí)行,但是也是有可能造成主從中斷,進(jìn)而影響到master節(jié)點(diǎn)。

Daas平臺(tái)集成了基于RDB文件分析代碼實(shí)現(xiàn)的查詢(xún)Bigkey的方式,可以根據(jù)實(shí)際需求自定義填寫(xiě)N,分析的top N個(gè)Bigkey。該方式相對(duì)有一定風(fēng)險(xiǎn),只有DBA有權(quán)限執(zhí)行分析。

3.3 Bigkey 巡檢

通過(guò)巡檢,可以暴露出隱患,提前解決,避免故障的發(fā)生,進(jìn)行全網(wǎng)Bigkey的巡檢,是避免Bigkey故障的比較好的方法。由于全網(wǎng)Redis實(shí)例數(shù)量非常大,分析的速度比較慢,使用當(dāng)前的分析方法很難完成。為了解決這個(gè)問(wèn)題,存儲(chǔ)研發(fā)組分布式數(shù)據(jù)庫(kù)同學(xué)計(jì)劃開(kāi)發(fā)一個(gè)高效的RDB解析工具,然后通過(guò)大規(guī)模解析RDB文件來(lái)分析Bigkey,可以提高分析速度,實(shí)現(xiàn)Bigkey的巡檢。

四、 Bigkey處理優(yōu)化

4.1 Bigkey拆分

優(yōu)化Bigkey的原則就是string減少字符串長(zhǎng)度,list、hash、set、zset等減少元素?cái)?shù)量。當(dāng)我們知道哪些key是Bigkey時(shí),可以把單個(gè)key拆分成多個(gè)key,比如以下拆分方式可以參考。

  • big list:list1、list2、...listN
  • big hash:可以做二次的hash,例如hash%100
  • 按照日期拆分多個(gè):key20220310、key20220311、key202203212

4.2 Bigkey分析工具優(yōu)化

我們?nèi)W(wǎng)Redis集群有2200以上,實(shí)例數(shù)量達(dá)到4.5萬(wàn)以上,有的比較大的集群的實(shí)例數(shù)量達(dá)到了1000以上,前面提到的兩種Bigkey分析工具還都是實(shí)例維度分析,對(duì)于實(shí)例數(shù)量比較大的集群,進(jìn)行全集群分析也是比較耗時(shí)的,為了提高分析效率,從以下幾個(gè)方面進(jìn)行優(yōu)化:

  • 可以從集群維度選擇全部slave進(jìn)行分析。
  • 同一個(gè)集群的相同服務(wù)器slave實(shí)例串行分析,不同服務(wù)器的slave實(shí)例并行分析,最大并發(fā)度默認(rèn)10,同時(shí)可以分析10個(gè)實(shí)例,并且可以自定義輸入執(zhí)行分析的并發(fā)度。
  • 分析出符合Bigkey規(guī)定標(biāo)準(zhǔn)的所有key信息:大于1MB的string類(lèi)型的所有key,如果不存在就列出最大的50個(gè)key;hash、list、set、zset等類(lèi)型元素個(gè)數(shù)大于2000的所有key,如不存在就給出每種類(lèi)型最大的50個(gè)key。
  • 增加暫停、重新開(kāi)始、結(jié)束功能,暫停分析后可以重新開(kāi)始。

4.3 水平擴(kuò)容遷移優(yōu)化

目前情況,我們有一些Bigkey的發(fā)現(xiàn)是被動(dòng)的,一些是在水平擴(kuò)容時(shí)候發(fā)現(xiàn)的,由于Bigkey的存在導(dǎo)致擴(kuò)容失敗了,嚴(yán)重的還觸發(fā)了master-slave的故障切換,這個(gè)時(shí)候可能已經(jīng)造成業(yè)務(wù)程序訪問(wèn)超時(shí),導(dǎo)致了可用性下降。

我們分析了Daas平臺(tái)的水平擴(kuò)容時(shí)遷移key的過(guò)程及影響參數(shù),內(nèi)容如下:

(1)【cluster-node-timeout】:控制集群的節(jié)點(diǎn)切換參數(shù),master堵塞超過(guò)cluster-node-timeout/2這個(gè)時(shí)間,就會(huì)主觀判定該節(jié)點(diǎn)下線pfail狀態(tài),如果遷移Bigkey阻塞時(shí)間超過(guò)cluster-node-timeout/2,就可能會(huì)導(dǎo)致master-slave發(fā)生切換。

(2)【migrate timeout】:控制遷移io的超時(shí)時(shí)間,超過(guò)這個(gè)時(shí)間遷移沒(méi)有完成,遷移就會(huì)中斷。

(3)【遷移重試周期】:遷移的重試周期是由水平擴(kuò)容的節(jié)點(diǎn)數(shù)決定的,比如一個(gè)集群擴(kuò)容10個(gè)節(jié)點(diǎn),遷移失敗后的重試周期就是10次。

(4)【一個(gè)遷移重試周期內(nèi)的重試次數(shù)】:在一個(gè)起遷移重試周期內(nèi),會(huì)有3次重試遷移,每一次的migrate timeout的時(shí)間分別是10秒、20秒、30秒,每次重試之間無(wú)間隔。

比如一個(gè)集群擴(kuò)容10個(gè)節(jié)點(diǎn),遷移時(shí)候遇到一個(gè)Bigkey,第一次遷移的migrate timeout是10秒,10秒后沒(méi)有完成遷移,就會(huì)設(shè)置migrate timeout為20秒重試,如果再次失敗,會(huì)設(shè)置migrate timeout為30秒重試,如果還是失敗,程序會(huì)遷移其他新9個(gè)的節(jié)點(diǎn),但是每次在遷移其他新的節(jié)點(diǎn)之前還會(huì)分別設(shè)置migrate timeout為10秒、20秒、30秒重試遷移那個(gè)遷移失敗的Bigkey。這個(gè)重試過(guò)程,每個(gè)重試周期阻塞(10+20+30)秒,會(huì)重試10個(gè)周期,共阻塞600秒。其實(shí)后面的9個(gè)重試周期都是無(wú)用的,每次重試之間沒(méi)有間隔,會(huì)連續(xù)阻塞了Redis實(shí)例。

(5)【遷移失敗日志】:遷移失敗后,記錄的日志沒(méi)有包括遷移節(jié)點(diǎn)、solt、key信息,不能根據(jù)日志立即定位到問(wèn)題key。

我們對(duì)這個(gè)遷移過(guò)程做了優(yōu)化,具體如下:

(1)【cluster-node-timeout】:默認(rèn)是60秒,在遷移之前設(shè)置為15分鐘,防止由于遷移Bigkey阻塞導(dǎo)致master-slave故障切換。

(2)【migrate timeout】:為了最大限度減少實(shí)例阻塞時(shí)間,每次重試的超時(shí)時(shí)間都是10秒,3次重試之間間隔30秒,這樣最多只會(huì)連續(xù)阻塞Redis實(shí)例10秒。

(3)【重試次數(shù)】:遷移失敗后,只重試3次(重試是為了避免網(wǎng)絡(luò)抖動(dòng)等原因造成的遷移失敗),每次重試間隔30秒,重試3次后都失敗了,會(huì)暫停遷移,日志記錄下Bigkey,去掉了其他節(jié)點(diǎn)遷移的重試。

(4)【優(yōu)化日志記錄】:遷移失敗日志記錄遷移節(jié)點(diǎn)、solt、key信息,可以立即定位到問(wèn)題節(jié)點(diǎn)及key。

五、總結(jié)

本文通過(guò)對(duì)Bigkey的分析,重點(diǎn)介紹了在運(yùn)維中對(duì)bigkey問(wèn)題的處理思路、解決方式。首先是需要從源頭治理,防止Bigkey形成,DBA應(yīng)該加強(qiáng)對(duì)業(yè)務(wù)開(kāi)發(fā)同學(xué)bigkey相關(guān)問(wèn)題的宣導(dǎo);其次是需要具備及時(shí)發(fā)現(xiàn)的能力,這個(gè)也是我們現(xiàn)在的不足之處。我們后面會(huì)從Bigkey巡檢、Bigkey分析工具的這兩個(gè)方面,提高Bigkey發(fā)現(xiàn)能力。

參考資料:

  1. ??Redis命令參考???
  2. ??Github:rdb-tools??
  3. ??redis之bigkey(看這一篇就夠)??
責(zé)任編輯:龐桂玉 來(lái)源: vivo互聯(lián)網(wǎng)技術(shù)
相關(guān)推薦

2023-10-08 13:10:00

Redis數(shù)據(jù)庫(kù)

2016-05-31 10:11:51

2024-05-15 07:26:50

RedisBigKey優(yōu)化

2023-10-13 12:05:55

RedisBig Key

2021-03-03 07:53:23

CAScompare andABA問(wèn)題

2013-07-04 10:55:20

2024-05-23 07:59:42

RedisKey性能

2025-03-06 00:00:05

DPIHD開(kāi)發(fā)

2014-12-26 10:23:21

谷歌

2023-10-10 23:06:46

RedisMySQL

2022-12-30 10:37:39

QA測(cè)試

2019-07-05 17:40:24

MySQL并發(fā)數(shù)據(jù)庫(kù)

2013-02-26 10:37:56

服務(wù)器閃存服務(wù)器閃存

2018-05-04 15:15:37

數(shù)據(jù)庫(kù)MySQL并發(fā)場(chǎng)景

2019-12-13 10:50:10

TCP排查服務(wù)器

2024-09-19 08:11:28

2025-08-05 06:05:00

2018-03-09 16:27:50

數(shù)據(jù)庫(kù)Oracle同步問(wèn)題

2021-09-24 10:11:36

Chrome安全漏洞谷歌

2022-09-06 15:30:20

緩存一致性
點(diǎn)贊
收藏

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

国a精品视频大全| 精品国产成人在线影院| 在线日韩av永久免费观看| 91资源在线视频| 亚洲性感美女99在线| 日韩精品免费在线| 一区二区xxx| 色呦呦在线观看视频| 久久综合久久综合亚洲| 成人网在线免费看| 日韩毛片在线播放| 日韩精品欧美激情一区二区| 欧美一级电影网站| 18岁视频在线观看| 欧美高清另类hdvideosexjaⅴ| 91首页免费视频| 亚洲v日韩v综合v精品v| av黄色在线播放| 亚洲精品888| 亚洲人成在线观看| 激情综合激情五月| 日韩成人一区| 欧美视频精品一区| 中国女人做爰视频| 18视频免费网址在线观看| 不卡区在线中文字幕| 成人福利视频在线观看| 可以在线观看av的网站| 欧美激情视频一区二区三区在线播放| 亚洲精品自产拍| 9191在线视频| 亚州精品国产| 欧美中文一区二区三区| 极品美女扒开粉嫩小泬| 97超碰资源站在线观看| 一区在线观看免费| 日本午夜精品电影| 三级黄视频在线观看| 国产成人亚洲综合a∨婷婷| 国产精品日韩在线观看| 青青国产在线观看| 激情久久久久| 九九久久精品一区| 人妻久久一区二区| 91精品天堂福利在线观看| 伊人久久久久久久久久久| 一级特级黄色片| 99re6热只有精品免费观看| 91精品国产综合久久香蕉麻豆| 性欧美极品xxxx欧美一区二区| 午夜影院在线观看国产主播| 亚洲国产日韩一级| 国产va亚洲va在线va| 男女在线视频| 亚洲已满18点击进入久久| www.-级毛片线天内射视视| 欧美成人hd| 国产精品成人免费在线| 亚洲国产精品视频一区| 亚洲欧美视频一区二区| 日本一区二区高清| 性刺激综合网| 免费在线毛片网站| 亚洲视频免费观看| 中文字幕乱码免费| 美足av综合网| 五月天国产精品| 免费毛片小视频| 欧美成a人片在线观看久| 色偷偷一区二区三区| 国产嫩草在线观看| 欧美亚洲人成在线| 欧美一区二区在线观看| 久久艹这里只有精品| 亚洲爽爆av| 欧美mv和日韩mv国产网站| 老熟女高潮一区二区三区| 成人免费直播在线| 亚洲欧美日韩第一区| 最新中文字幕av| 亚洲经典一区| 777精品视频| 国模私拍一区二区| 国产一区二区三区四| 国产精华一区| 国产专区在线| 亚洲柠檬福利资源导航| 日韩精品视频在线观看视频| a一区二区三区| 欧美日韩一区二区三区四区五区| 手机在线国产视频| 岛国精品一区| 最近的2019中文字幕免费一页| 欧美黑吊大战白妞| 久久精品欧洲| αv一区二区三区| yw193.com尤物在线| 一二三区精品视频| 久草福利视频在线| jizz久久精品永久免费| 亚洲欧洲在线免费| 中文字幕在线观看成人| 久久国产精品99国产| 国产日韩欧美在线视频观看| 欧美自拍偷拍一区二区| 中文在线一区二区| 久久亚洲精品无码va白人极品| 天天综合网天天| 欧美成人综合网站| 国产农村妇女精品一区| 在线观看视频免费一区二区三区| 国产精品第一视频| 天堂中文网在线| 亚洲视频一区二区在线观看| 东京热加勒比无码少妇| 亚洲一区二区三区免费| 在线观看91久久久久久| 日本少妇做爰全过程毛片| 激情综合色丁香一区二区| 欧美日韩在线一二三| 秋霞在线视频| 欧美日韩精品免费| 国产肥白大熟妇bbbb视频| 怡红院精品视频在线观看极品| 国产精品免费在线免费| 亚洲欧美日韩精品永久在线| 一区二区三区鲁丝不卡| 91高清国产视频| 国产探花在线精品| 97视频在线观看免费| 国产成人精品无码高潮| 国产精品伦理在线| 成人一区二区三| 午夜精品福利影院| 欧美激情视频一区| 国产丰满果冻videossex| 中文字幕av一区二区三区高| 成人精品小视频| 免费毛片在线不卡| 2020欧美日韩在线视频| 男人的天堂a在线| 一区二区三区在线免费播放 | 视频一区二区三区在线| 国产综合 伊人色| 2021天堂中文幕一二区在线观| 91精品国产免费| 一起操在线播放| 久久超碰97中文字幕| 亚洲欧美丝袜| 欧美高清你懂的| 日韩中文字幕在线视频| 综合久久中文字幕| 欧美国产97人人爽人人喊| 日韩大片一区二区| 99精品视频在线观看免费播放 | 中文字幕+乱码+中文字幕明步| 久久老女人爱爱| 国产精品动漫网站| 精品免费视频| 国产日韩欧美中文| 国产成人l区| 欧美mv日韩mv| 国产婷婷色一区二区在线观看| 99精品国产热久久91蜜凸| 免费欧美一级视频| 国产欧美一区| 91精品美女在线| 伊人电影在线观看| 亚洲国产精品推荐| 国产三级av片| 欧美韩国日本不卡| 一区二区三区欧美精品| 午夜国产精品视频| 精品久久蜜桃| 国产精品久久久久77777丨| 久久精品最新地址| 亚洲国产成人在线观看| 红桃av永久久久| 欧美多人猛交狂配| 久久99国产精品尤物| 奇米777四色影视在线看| 精品视频在线你懂得| 日本欧美爱爱爱| porn视频在线观看| 欧美一级日韩免费不卡| 久草国产精品视频| 日本一区二区动态图| 国产探花一区二区三区| 国产农村妇女精品一区二区| 天堂社区 天堂综合网 天堂资源最新版| 四虎国产精品免费久久5151| 欧美激情一区二区三区久久久| 女人天堂在线| 欧美一区二区三区啪啪| 中文字字幕在线中文| 国产精品久久久久7777按摩| 黑森林av导航| 美女在线视频一区| 成人免费视频91| 欧美电影免费播放| 精品一区二区不卡| 国产午夜亚洲精品一级在线| 国产91精品青草社区| 日本三级视频在线播放| 日韩电影在线观看永久视频免费网站| 中文字幕网址在线| 精品日韩中文字幕| 精品人妻伦九区久久aaa片| 91在线看国产| 韩国三级在线播放| 日产国产高清一区二区三区| www.av91| 99久久精品网| 色婷婷精品国产一区二区三区| 成人福利一区| 92看片淫黄大片欧美看国产片| 成人欧美magnet| 欧美激情奇米色| 成年人黄视频在线观看| 国产午夜精品一区二区三区| 色wwwwww| 日韩欧美成人一区| 亚洲天堂网在线视频| 欧美日韩另类在线| 精品亚洲永久免费| 亚洲日本乱码在线观看| 中字幕一区二区三区乱码| 北岛玲一区二区三区四区| 国内国产精品天干天干| 日韩中文字幕亚洲一区二区va在线 | 国产v综合v亚洲欧美久久| 日本动漫同人动漫在线观看| 日韩视频在线一区| 国产在线观看免费网站| 日韩大陆欧美高清视频区| 国产成人手机在线| 日韩欧美电影在线| 国产a级免费视频| 在线不卡免费av| 中文字幕一区二区三区免费看| 色综合久久88色综合天天6| 国产女同在线观看| 精品女同一区二区三区在线播放| 欧美日韩国产精品综合| 亚洲老司机在线| 我家有个日本女人| 一区二区欧美国产| 久久午夜鲁丝片午夜精品| 一区二区三区中文免费| 九九视频免费观看| 亚洲一区二区三区不卡国产欧美| 欧美色图亚洲视频| 亚洲一区二区在线免费看| 欧美黄色免费看| 亚洲国产日韩综合久久精品| 国产一级二级三级| 午夜精品久久久| 国产精品一区无码| 在线观看精品一区| 中文字幕+乱码+中文| 欧美精品一二三区| 精品国精品国产自在久不卡| 日韩一区二区三区观看| 亚洲成人久久精品| 日韩高清有码在线| 成人性爱视频在线观看| 精品国产美女在线| 国产丝袜在线播放| 欧美中文字幕在线播放| 亚洲第一二三四区| 91久久精品国产91久久| 99久久香蕉| 欧美日韩精品免费在线观看视频| 欧美日韩一二三四| 日韩精品第1页| 国产欧美91| 九一精品在线观看| 国产伦精品一区二区三区免费迷| 日本一级大毛片a一| 久久综合久久综合亚洲| 午夜国产小视频| 午夜不卡av在线| 波多野结衣绝顶大高潮| 制服丝袜中文字幕亚洲| 丰满人妻一区二区三区四区53| 国产婷婷色综合av蜜臀av| 97在线观看免费观看高清| 久精品免费视频| 成人动漫一区| 91在线观看免费高清| 欧美激情15p| 伊人久久大香线蕉精品| 红桃视频国产精品| www.日日操| 成人一区在线观看| 美国黄色特级片| 亚洲国产美国国产综合一区二区| 中文字幕日韩免费| 欧美一区二区女人| 国产一区二区三区不卡在线| 久久精品国产一区| 伊人久久视频| 91在线短视频| 精品福利久久久| 国产免费黄色一级片| 久久精品国内一区二区三区| av在线播放网址| 亚洲美女偷拍久久| 亚洲精品一区二区二区| 亚洲国产一区二区三区在线观看| 一广人看www在线观看免费视频| 97在线观看免费高清| 国产日韩一区二区三免费高清| 欧美一区二区三区电影在线观看| 一区二区中文| 992kp快乐看片永久免费网址| 成人国产电影网| 国产va在线播放| 精品1区2区3区| 日本a一级在线免费播放| 欧美精品999| 国产精品视频一区二区三区综合 | 天天操天天干天天爱| 日韩有码片在线观看| 三上悠亚激情av一区二区三区 | 亚洲精品高清在线| 亚洲天堂网在线观看视频| 亚洲图中文字幕| 一区二区精品伦理...| 国产日韩一区二区| 欧美日韩第一区| 亚洲欧美日韩中文字幕在线观看| 国产精品久久久久一区| 日本中文字幕久久| 亚洲国产精品悠悠久久琪琪| 欧美精品videosex| 999国产在线| 午夜国产精品视频| 中文字幕av一区二区三区人妻少妇 | 大胸美女被爆操| 欧美亚洲动漫制服丝袜| 久久电影视频| 欧美一级在线亚洲天堂| 日韩高清三区| 欧美 日本 亚洲| 成人激情午夜影院| 国产精品第72页| 亚洲精品久久视频| 川上优av中文字幕一区二区| 国产日韩一区欧美| 精品动漫av| 三级视频网站在线观看| 五月天视频一区| 青青青草原在线| 国产97在线亚洲| 欧美精品一区二区久久| 孩娇小videos精品| 最新中文字幕一区二区三区| 国产免费视频一区二区三区| 久久亚洲春色中文字幕| 亚洲91网站| 国产乱子伦农村叉叉叉| 国产视频一区在线观看| 亚洲一级黄色大片| 蜜臀久久99精品久久久久久宅男 | 国产在线一区二区| 久操免费在线视频| 日韩电影中文字幕在线观看| 亚洲天堂一区二区| 91手机视频在线| 不卡的av在线| 在线观看免费视频一区| 不卡毛片在线看| 无码日韩精品一区二区免费| 91热这里只有精品| 亚洲综合区在线| 蜜桃视频在线免费| 91色视频在线观看| 亚洲深爱激情| 波多野结衣久久久久| 亚洲精品在线一区二区| 欧美自拍电影| 玖玖精品在线视频| 26uuu欧美日本| av av片在线看| 奇门遁甲1982国语版免费观看高清| 日韩在线综合| 黄色片视频免费观看| 欧美日韩dvd在线观看| 超碰在线最新网址| 亚洲精品二区| aaa亚洲精品一二三区| 中文字幕一区二区人妻| 午夜免费日韩视频| 999久久久国产精品| 白丝女仆被免费网站| 日韩欧美电影在线| 国产成人午夜性a一级毛片| 777精品久无码人妻蜜桃| 亚洲品质自拍视频|