国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

j2Cache 線上異常問(wèn)題排查記錄

共 2960字,需瀏覽 6分鐘

 ·

2021-01-22 11:08

公眾號(hào)關(guān)注?“GitHub今日熱榜
設(shè)為 “星標(biāo)”,帶你挖掘更多開(kāi)發(fā)神器!





問(wèn)題背景


開(kāi)發(fā)反饋,線上有個(gè)服務(wù)在運(yùn)行一段時(shí)間后,就會(huì)拋異常導(dǎo)致redis緩存不可用。項(xiàng)目使用了j2Caceh,異常是j2Cache的RedisCacheProvider拋出來(lái)的,如:


Exception?in?thread?"main" redis.clients.jedis.exceptions.JedisException: Could?not?get?a?resource?from?the?pool
??at?redis.clients.util.Pool.getResource(Pool.java:51)
??at?redis.clients.jedis.JedisPool.getResource(JedisPool.java:99)
??at?net.oschina.j2cache.redis.RedisCacheProvider.getResource(RedisCacheProvider.java:51)
??at?com.xczysoft.ltl.core.support.j2cache.J2CacheRedisCacheChannel.main(J2CacheRedisCacheChannel.java:66)
Caused?by: java.util.NoSuchElementException: Timeout?waiting?for?idle?object
??at?org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:447)
??at?org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361)
??at?redis.clients.util.Pool.getResource(Pool.java:49)
??... 3 more


問(wèn)題分析


從異常日志表象上看,很明顯是由于jedis pool中沒(méi)有資源了。當(dāng)jedis pool沒(méi)有資源,而客戶端去申請(qǐng)連接時(shí),框架預(yù)留了一個(gè)由用戶控制的策略來(lái)處理,具體策略如下:

連接池參數(shù) :blockWhenExhausted,有如下兩種策略


  • true:阻塞等待maxWaitMillis時(shí)間(默認(rèn)), 這個(gè)是默認(rèn)的策略,當(dāng)pool沒(méi)有可用資源時(shí),阻塞等待maxWaitMillis時(shí)間,這個(gè)值默認(rèn)時(shí)間無(wú)限長(zhǎng)的,連接池應(yīng)該設(shè)置一個(gè)適當(dāng)?shù)牡却龝r(shí)間
  • false:當(dāng)無(wú)可用連接時(shí),立即失敗。


我們的服務(wù)并沒(méi)有設(shè)置whenExhaustedAction 的參數(shù),maxWait設(shè)置的是1500。也就是說(shuō)當(dāng)jedis pool沒(méi)有可用資源時(shí),獲取連接的線程等待了1.5秒,1.5秒后還沒(méi)有可用資源就拋異常了。


回到上面的問(wèn)題,導(dǎo)致jedis pool原因有哪些呢?無(wú)外乎兩點(diǎn),如下:


1、正常情況:程序并發(fā)高,導(dǎo)致偶發(fā)性的連接池?zé)o可用資源
2、異常情況:連接池使用不當(dāng),當(dāng)從連接池獲取資源后,使用完時(shí)沒(méi)有正常的釋放資源,導(dǎo)致連接池取一個(gè)少一個(gè),最后必然性的會(huì)拋出開(kāi)頭的異常


假設(shè)問(wèn)題


結(jié)合上面對(duì)jedis pool的分析,而我們的服務(wù)并發(fā)度不高,默認(rèn)連接池最大連接有8個(gè),而且獲取連接的線程在等待1.5秒后還是沒(méi)有獲取到線程,最重要的一點(diǎn)是,當(dāng)程序跑到最后,獲取不到連接的異常不在是偶發(fā)性的,變成了必然性的事件了,那么根據(jù)上面這些分析,先假設(shè)問(wèn)題就是由于程序中連接池使用不當(dāng)導(dǎo)致的問(wèn)題。程序使用jedis的地方是j2Cache,紅薯開(kāi)源的一個(gè)2階緩存框架,很可能是紅薯的鍋。


小心求證


通過(guò)對(duì)問(wèn)題的假設(shè),我們需要在程序中找到從jedis pool中獲取資源的代碼,那首先需要找到初始化連接池的地方,j2Cache里是通過(guò)RedisCacheProvider來(lái)維護(hù)jedis pool的。下面是j2Cache里通過(guò)jedis pool的連接操作redis的代碼,可以看到,非常規(guī)范,通過(guò)try,catch,finally將資源操作包起來(lái)了,并且在finally中釋放了資源,保證資源一定會(huì)被釋放。



紅薯表示這個(gè)鍋我不背,肯定不是j2Cache的毛病了。可以看到RedisCacheProvider初始化連接池后,提供了一個(gè)靜態(tài)方法getResource()用于獲取連接,很可能是業(yè)務(wù)層面通過(guò)這個(gè)入口,拿到RedisCacheProvider里的連接了。后面繼續(xù)找,定位到了一個(gè)非常有嫌疑的方法,代碼如下:


/**
?????* 發(fā)送清除緩存的廣播命令
?????*
?????* @param?region: Cache region name
?????*/

????private?void _sendClearCmd(String region) {
????????// 發(fā)送廣播
????????Command cmd = new?Command(Command.OPT_CLEAR_KEY, region, "");
????????try?(Jedis jedis = RedisCacheProvider.getResource()) {
????????????jedis.publish(SafeEncoder.encode(config.getProperty("redis.channel_name")), cmd.toBuffers());
????????} catch?(Exception?e) {
????????????log.error("Unable to clear cache,region="?+ region, e);
????????}
????}


可以看到,這是一段和j2Cache相關(guān)的代碼,但是不是紅薯的框架內(nèi)的,是我們開(kāi)發(fā)在接入j2Cache時(shí)配置的一個(gè)緩存通道內(nèi)的一段代碼。問(wèn)題就出在通過(guò)

RedisCacheProvider.getResource() 拿到j(luò)edis對(duì)象后,使用完,并沒(méi)有釋放。


問(wèn)題重現(xiàn)


上面基本定位到問(wèn)題了,下面我們模擬下發(fā)生的問(wèn)題的場(chǎng)景,代碼邏輯和上面的類似,我們初始化一個(gè)連接池后,在一個(gè)for循環(huán)中,模擬多次獲取連接但是不釋放,如:


public?static?void?main(String[] args) throws Exception {
????????Properties properties = ResourceUtil.getResourceAsProperties("app.properties", true);
????????new?J2CacheRedisCacheChannel("j2Cache 666", properties);
????????for?(int?i = 1; i <= 8; i++) {
????????????Jedis jedis = RedisCacheProvider.getResource();
????????????try?{
????????????????jedis.get("kl");
????????????} catch?(Exception e) {
????????????????log.error("Unable to clear cache,region="?+ null, e);
????????????}
????????????System.out.println("第"?+ i + "次運(yùn)行");
????????}
????}


上面代碼的運(yùn)行效果如:



而且是必然出現(xiàn)的,在第八次的時(shí)候,因?yàn)闆](méi)有可用的連接,導(dǎo)致程序在等待1.5秒后拋出了異常。


問(wèn)題解決


綜上,我們可以肯定是由于這里的代碼使用不規(guī)范,導(dǎo)致的連接池連接泄漏了。代碼修改也非常簡(jiǎn)單,在finally中判斷下jeids對(duì)象是否為null,不為null則調(diào)用其close方法,將資源回收即可。


上文所述場(chǎng)景中有個(gè)地方埋了一個(gè)小彩蛋,感興趣的小伙伴可以找下,在下方留言交流。


問(wèn)題后記-下面才是真正的原因


你以為就上面的就這么完了,還沒(méi)呢,待續(xù)ing


其實(shí)上面獲取jedis資源的代碼是沒(méi)有問(wèn)題,剛開(kāi)始忽略了一個(gè)細(xì)節(jié),try (Jedis jedis = RedisCacheProvider.getResource()) 。獲取資源的動(dòng)作是放在try()里的,java1.7引入了try-with-resources語(yǔ)義,我們使用的jedis版本已經(jīng)實(shí)現(xiàn)了JDK的AutoCloseable接口。所以,上面這段代碼在編譯器編譯后會(huì)變成如下的樣子:


private?void?_sendEvictCmd(String?region, Object?key) {
????Command cmd = new?Command((byte)1, region, key);
?
????try?{
????????Jedis jedis = RedisCacheProvider.getResource();
????????Throwable var5 = null;
?
????????try?{
????????????jedis.publish(SafeEncoder.encode(this.config.getProperty("redis.channel_name")), cmd.toBuffers());
????????} catch?(Throwable var15) {
????????????var5 = var15;
????????????throw?var15;
????????} finally?{
????????????if?(jedis != null) {
????????????????if?(var5 != null) {
????????????????????try?{
????????????????????????jedis.close();
????????????????????} catch?(Throwable var14) {
????????????????????????var5.addSuppressed(var14);
????????????????????}
????????????????} else?{
????????????????????jedis.close();
????????????????}
????????????}
?
????????}
????} catch?(Exception var17) {
????????log.error("Unable to delete cache,region="?+ region + ",key="?+ key, var17);
????}
?
}


可以看到,編譯器自動(dòng)幫我們織入了想要在finally代碼塊內(nèi)關(guān)閉連接的動(dòng)作。


重新假設(shè)


如果不是連接泄漏導(dǎo)致的,那么肯定是并發(fā)問(wèn)題了,最終的異常是j2Cache拋出來(lái)的,從j2Cache里獲取連接的地方如下:



可以看到最上面紅框里的是之前說(shuō)的有問(wèn)題,其實(shí)沒(méi)有問(wèn)題,他們都被包在了try里面了。中間的是紅薯框架內(nèi)部用的,都手動(dòng)釋放連接了。最后一個(gè)連接有點(diǎn)小問(wèn)題,SeqServiceImpl是spring管理的一個(gè)實(shí)例,因?yàn)槭菃卫膶?shí)例,所以這里只會(huì)長(zhǎng)期占用一個(gè)連接。除了這里占用了一個(gè)連接,上面三個(gè)在try里的連接,其中一個(gè)是訂閱redis消息的,代碼如下:


thread_subscribe = new?Thread(new?Runnable() {
????@Override
????public?void?run()?{
????????try?(Jedis jedis = RedisCacheProvider.getResource()) {
????????????jedis.subscribe(J2CacheRedisCacheChannel.this, SafeEncoder.encode(config.getProperty("redis.channel_name")));
????????}
????}
});


注意這個(gè)jedis.subscribe()。其實(shí)是個(gè)阻塞操作。也就是說(shuō)即使編輯器給這個(gè)地方加上了資源釋放的代碼,在訂閱不出問(wèn)題的情況下,也跑不到資源釋放的地方。所以這里也會(huì)長(zhǎng)期占用一個(gè)連接。


那么我們?cè)诔绦蚶锟捎玫倪B接數(shù)=(最大連接數(shù)-兩個(gè)長(zhǎng)期占用連接)=(8-2)=6個(gè)

從異常信息獲取點(diǎn)有用信息,最終發(fā)現(xiàn),拋出連接不可用的代碼有共性,都指向了一個(gè)類,但是是兩個(gè)方法,如:



最終跟蹤代碼發(fā)現(xiàn),這個(gè)兩個(gè)方法是給鑒權(quán)攔截器調(diào)用的,攔截器會(huì)攔截每個(gè)請(qǐng)求,代碼語(yǔ)義類似下面,


@Override
public?boolean?preHandle(HttpServletRequest request, HttpServletResponse response,
?????????????????????????Object handler)
?throws?Exception
{
????RunResult runResult = sysApiService.auth(null);
????sysApiService.update("", runResult.getData(), request);
????return?super.preHandle(request, response, handler);
}


也就是每個(gè)請(qǐng)求都至少會(huì)對(duì)redis操作兩次,在沒(méi)有完成之前都不會(huì)釋放資源。


在看看拋異常的時(shí)間點(diǎn)的服務(wù)訪問(wèn)情況,在日志平臺(tái)將時(shí)間限定在2019-06-03 17:45~2019-06-03 17:46 ,搜索結(jié)果如下:


從06-03 17:45:49 到 06-03 17:45:56 日志總條數(shù)299條。每秒請(qǐng)求數(shù)=(299/56-49)=42 。omygad的,連接池只有6個(gè)可用連接完全不夠用。這回真的石錘了。


最終解決


設(shè)置連接池的maxTotal參數(shù)即可,但是有個(gè)問(wèn)題是,這個(gè)項(xiàng)目使用的j2Cache的版本比較老,代碼的配置信息限定死了就那么個(gè)幾個(gè),而且沒(méi)有預(yù)留maxTotal的設(shè)置。紅薯的初始化連接池的代碼如下:


public?void?start(Properties props)?throws?CacheException {
??????JedisPoolConfig config = new?JedisPoolConfig();
???????
??????host = getProperty(props, "host", "127.0.0.1");
??????password = props.getProperty("password", null);
???????
??????port = getProperty(props, "port", 6379);
??????timeout = getProperty(props, "timeout", 2000);
??????database = getProperty(props, "database", 0);
?
??????config.setBlockWhenExhausted(getProperty(props, "blockWhenExhausted", true));
??????config.setMaxIdle(getProperty(props, "maxIdle", 10));
??????config.setMinIdle(getProperty(props, "minIdle", 5));
// config.setMaxActive(getProperty(props, "maxActive", 50));
??????config.setMaxWaitMillis(getProperty(props, "maxWait", 100));
??????config.setTestWhileIdle(getProperty(props, "testWhileIdle", false));
??????config.setTestOnBorrow(getProperty(props, "testOnBorrow", true));
??????config.setTestOnReturn(getProperty(props, "testOnReturn", false));
??????config.setNumTestsPerEvictionRun(getProperty(props, "numTestsPerEvictionRun", 10));
??????config.setMinEvictableIdleTimeMillis(getProperty(props, "minEvictableIdleTimeMillis", 1000));
??????config.setSoftMinEvictableIdleTimeMillis(getProperty(props, "softMinEvictableIdleTimeMillis", 10));
??????config.setTimeBetweenEvictionRunsMillis(getProperty(props, "timeBetweenEvictionRunsMillis", 10));
??????config.setLifo(getProperty(props, "lifo", false));
?
??????pool = new?JedisPool(config, host, port, timeout, password, database);
???????
???}


怎么辦類,組件代碼不好改啊,java的黑科技反射解決問(wèn)題,不走尋常路,不使用start方法初始化連接池,直接自己初始化一個(gè)連接池設(shè)置給pool屬性。偽代碼如下:


JedisPoolConfig config = new?JedisPoolConfig();
config.setMaxTotal(50);
JedisPool pool = new?JedisPool(config, host, port, timeout, password, database);
Field field = RedisCacheProvider.class.getDeclaredField("pool");
field.setAccessible(true);
field.set(RedisCacheProvider.class, pool);








關(guān)注GitHub今日熱榜,專注挖掘好用的開(kāi)發(fā)工具,致力于分享優(yōu)質(zhì)高效的工具、資源、插件等,助力開(kāi)發(fā)者成長(zhǎng)!







點(diǎn)個(gè)在看 你最好看









瀏覽 38
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产在线播放91| 亚洲电影中文字幕| 国产三级精品三级在线观看| 久草中文在线视频| 中文字幕日韩精品人妻| 久色国产| 九九色网| 久久久久久五月天| 777米奇视频| 成人免看一级a一片| 五月婷婷影院| www.一区二区三区| 国产成人无码免费| 亚洲无码专区视频| 九一成人网| 国产中文字幕AV| 五月婷婷在线观看| 白浆AV| 亚洲理论视频| 国产成人影视在线观看| 无码av高清| 日本亚洲欧洲免费| 日韩精品成人专区无码| 日本成人中文字幕| 丝袜美腿亚洲综合| 日韩电影| 无码色网| 久久久人妻无码精品蜜桃| 日本黄色电影网站| 91色色色| 婷婷五月天在线播放| 午夜精品影院| 天天夜夜操操| 色情片免费看| 特爽特黄特级特色视频| 丁香激情视频| 91操美女视频| 亚洲第一成人网站| 久久久91| 成人做爰黄A片免费看直播室动漫 中文字幕一区二区三区四虎在线 欧美熟妇精品一级A片视色 | 日韩中文字幕视频在线观看| 91就去干| 刘玥精品A片在线观看| 人人操人人爱人人拍| 成人一级A片| 影音先锋二区| 天天综合天天做天天综合| 国产1级a毛a毛1级a毛1级| 欧美日韩加勒比| xxx国产精品| 天天操综合网| 成人网站免费在线| 黄片视频网站| 一级欧美日韩| 伊人视频在线观看| 熟睡侵犯の奶水授乳在线| 你懂的视频在线播放| 中文字幕综合在线| 免费黄色大片网站| 午夜精品18码视频国产17c| 午夜无码视频| 豆花成人社区,视频| av无码观看| 欧美a级视频| 26uuu亚洲| av无码一区二区| 成人黄网站免费视频| 香蕉视频成人在线观看| 无码人妻av一区| 日韩av中文字幕在线播放| 青青操成人| 久草资源| 日韩三级电影| 日韩毛片视频| 无码人妻一区二区三区| 五月天性爱| 国产高清一区二区三区| 色婷婷一级A片AAA毛片| 色天天综合| 亚洲高清无码免费观看| 国产精品成人一区二区| 91看片看婬黄大片| 国产av资源网| 久久永久免费视频| 久热亚洲| 亚洲A片一区二区三区电影网| 久久国产精品精品国产色婷婷 | 亚洲精品天堂无码AV片| 91亚洲视频| 日韩做爱视频| 国产熟妇搡BBBB搡BBBB毛片 | 久久久久久麻豆| 国产一级婬片A片免费妖精视频| 国内操B电影| 成人免费视频在线观看| 一区二区三区无码视频| 九九99久久| 色老板网站| 天天伊人| 天天做天天干| 中文字幕成人| 国产无码AV| 日韩大香蕉| 亚洲中文视频| 蜜桃秘一二三区最新| 国产成人电影| 四川美女网久草| 人人妻人人澡| 午夜撸一撸| 一欧美日韩免费/看| 日韩性爱视频| 最近中文字幕高清2019中文字幕 | 粉嫩99国产精品久久久久久人妻| 国产a毛一级,a毛一级| 最新激情网站| 女人18片毛片60分钟翻译| 九九美女视频| 高清无码内射视频| 99热精品免费| 日韩一区二区三区免费视频| 在线亚洲AV| 免费日韩无码| 欧美黄色精品| 亚洲在线一区| 一区二区三区四区在线播放| 毛片91| 亚洲国产三级片| 狠狠干狠狠色| 亚洲AV无码成人精品国产五月天| 日韩有码第一页| 国产AV一区二区三区四区| 天天干天天撸| 欧美一区二区三区四区视频| 欧美一级二级三级| 国产精品18在线| 人妻少妇91精品一区黑人 | 国产午夜精品一区二区三区四区| 欧美插菊花综合网| 精品少妇人妻一区二区| 亚洲一区二区三区在线视频| 国产高潮在线| 性欧美69| 久热官网| 久色| 欧美黄片免费| 久久精品99视频| 免费欧美三级片| 天堂av中文字幕| 亚洲天堂在线免费观看视频| 一级特黄毛片| 九九韩剧网最新电视剧免费观看| 亚洲免费观看高清完整版在线观 | 黄页网站在线免费观看| 一级黄色片免费看| 超碰199| 国产精品久久久无码专区| 亚洲精品鲁一鲁一区二区三区 | www.久久网| 亚洲成人在线一区| 在线观看亚| 我想看操逼| 色婷婷五月天在线观看| 91在线网址| 无码群交| 免费激情网站| www一个人免费观看视频www| 夜夜爽夜夜高潮夜夜爽| 高清毛片AAAAAAAAA郊外| 日本亚洲国产| 精品无码人妻一区二区三区| 熟女视频91| 天天人人精品| 91综合娱乐| 亚洲国产成人精品女人久久久| 影视先锋成人在线| 久久久久久久久久久亚洲| 午夜老司机福利一二三区| 国产操骚逼| 91人妻人人爽人人澡人人爽| 大伊人久久| 久久天堂网| 伊人激情五月| 99国产精品久久久久久久成人| 欧美午夜精品久久久久久3D| 粉嫩小泬BBBBBB免费| 青青草综合网| 激情婷婷| 麻豆黄片| 国精自拍| 免费看黄的网站在线观看| AV高清| 中文字幕国产视频| 国产无码一区二区| 中文无码熟妇一区二区| 午夜专区| 9l视频自拍蝌蚪9l成人| a片在线免费看| 免费看一级一级人妻片| 无码一区精品久久久成人| 午夜大黄片| 国产精品一| 自拍视频一区| 国产无码免费在线观看| 爱视频福利| 按摩忍不住BD中文字幕| 免费看黄色录像| 26uuu国产| 九九色网| 免费在线观看毛片| 免费中文资源在线观看| 东京热一级片| 欧美日韩一道本| 91爱搞| www.51av| 国产欧美高清在线| 国产熟女AV| 亚洲无码人妻视频| 中文字幕人妻互换av久久| 亚州成熟少妇视频在线观看| 五月丁香激情六月| 超碰97人人爱| 欧美级毛片一进一出夜本色| 色资源在线| 国产黄色电影| 91亚瑟视频| 丰满人妻一区二区三区四区54| 国产h视频| 成人做爰A片一区二区| 五月天久久久久久| 亚洲精品在线视频观看| 亚洲Av无码成人专区擼| 日韩中文字幕av在线| 天天无码视频| 一级A片免费视频| 亚洲一区av| 日韩不卡高清在线观看视频| 中文字幕日韩一级| 色视频在线| 国产精品一区在线观看| 大香蕉伊人影视| 亚洲天堂成人在线| 亚洲免费成人视频| 中文无码在线播放| 国精产品一区二区三区在线观看| 午夜福利视频3000| 在线操B视频| 日本精品在线观看视频| 三级黄色免费网站| 99re在线视频观看| 天天天天干| 日本天堂网站| 欧美老女人性爱视频| 久久午夜无码鲁丝片| 大a片| 午夜福利av电影| 九九九无码| 日韩欧美在线免费观看| 极品少妇视频| 精品黄色电影| 91AV| 狼人社區91國產精品| 在线观看日韩精品| 丰满人妻一区二区| 伊人成人在线视频| 欧美色图视频在线观看| 黄色A片电影| 人妻互换一二三区免费| 日韩高清精品在线| 国产成人精品无码区在线| 尻屄网| 波多野吉衣视频| 免费的一级片| 日韩精品视频一区二区| 超碰乱交av在线| 日本无码视频在线| 尤物视频在线| 一级黄色毛片| 欧美在线视频一区二区| 国产成人精品二三区麻豆| 国产午夜激情| 996热re视频精品视频| 午夜精东影业传媒在线观看| 91在线看| 猛男大粗猛爽h男人味| 中文字幕不卡无码| 亚洲免费无码| 无码人妻蜜桃| 毛多水多丰满女人A片| 亚洲免费MV| 高清视频一区| 国产精品一线| 亚洲免费观看高清视频| 神马午夜精品91| 久热无码| 五月天黄色电影网站| 五月婷婷丁香在线| 亚洲在线中文字幕| 88av在线播放| 欧美三级电影在线观看| 亚洲精品国产精品乱玛不99| 黄色操逼大片| 日韩精品人妻中文字幕| 国产91免费视频| 午夜福利国产| 狠狠狠操| 国产18禁网站| 人人草在线视频| 黄色免费在线观看网站| 国产精品内射视频| 色老板网站| 天天视频入口| 国内老熟妇对白HDXXXX| AV青草| 大香蕉大香蕉视频网| 欧美色道| www在线视频| 超碰在线国产| 败火老熟女ThePorn视频| 欧美国产一区二区| 99久久综合| 日韩综合精品| 黄色影院在线观看| 麻豆三级精品| 五月天婷婷导航| 夜夜骚精品人妻av一区| www.五月天.con| 五月婷婷六月激情| 国产SUV精品一区二区| 成人大香蕉网| 精品中文字幕在线播放| 操逼三级| 日韩人妻无码精品| 国产精品扒开腿做爽爽爽视频| 成人国产综合| 黃色毛片A片AAAA级20| 亚洲欧洲精品在线| 成人h网站在线观看| 三级片导航| 在线免费观看黄片| 精品日逼| 91久久爽久久爽爽久久片| 中文字幕国产一区| 蜜桃Av噜噜一区二区| 欧美日韩视频免费观看| 欧美色色色色色| h在线| 强伦轩人妻一区二区三区四区| 国产精品天天AVJ精麻传媒| 五月丁香色播| 中文字幕成人电影| 九九九九综合| 五月综合激情| 五月婷婷成人| 人人摸人人干人人操| 嗯啊在线视频| 人妻无码专区| 91视频免费在线看| 日逼电影网| 骚视频网站| 色婷婷日韩精品一区二区三区| 精品国产乱子伦一区二区三区,小小扐| 日本中文字幕免费| 青青草东路热vv| 人人妻人人要| 脓肿是什么原因引起的,该怎么治疗| 成人性爱视频在线播放| 丁香五月激情综合| 嫩草入口| 亚洲精品无码在线观看| 久久人人超碰| 日韩黄色电影| 操逼逼综合网| 日本女优婷婷青青草原| 日本成人网址| 精品无码一区二区三区四区久久久软件 | 日本黄色A片| 欧美人成人无码| 日韩视频中文字幕| 日韩色婷婷| 国产视频久久| 无码福利导航| 免费一级片视频| 99久久婷婷国产综合精品漫| 精品国产免费观看久久久_久久天天| 精品久久一区二区| 国产欧美激情| 西西人体444rt高清大胆模特| 91久久久精品| 99在线精品视频免费观看20| 性欧美丰满熟妇XXXX性久久久| 男女啪啪网| 亚洲无码十八禁| 国产美女自拍视频| 天天操夜夜操狠狠| 亚洲理论电影| 日本亲子乱婬一级A片| 国产成人精品AV| 俺去俺来也| 做爱激情视频网站| 超碰97在线免费| 久久伊人在线| 69国产精品成人无码| 丁香五月激情啪啪| 国产精品久久久久毛片SUV| 国产熟睡乱子伦午夜视频_第1集| 日本无码一区二区三三| 激情综合网站| 无码av亚洲一区二区毛片公司| 大香蕉欧美视频| 精国产品一区二区三区A片| 青青无码| 丁香久久婷婷| 在线视频a| 天天射夜夜操| 大屌一区二区三区| 草b视频| 国产一精品一aⅴ一免费| 亚洲精品三级片| gogogo日本免费观看高清电视剧的注意 | 无码专区视频| 蜜桃人妻无码| 狠狠的操| 精品无码人妻一区二区| 伊人综合干| 91人妻人人操人人爽| 午夜成人网站在线观看| 激情五月天婷婷| 京熱大亂交无碼大亂交| 亚洲精品日日夜夜| 日韩无码AV电影| 亚洲精品观看| 中文字幕精品在线免费视频观看视频| 久操福利视频| 欧美老司机| 夜夜操天天干| 怡红院成人av| 婷婷在线观看免费| 亚洲图片在线观看| 九九成人免费视频| 永久免费一区二区三区| 色婷婷久综合久久一本国产AV | 超碰女人| 成人在线91| 无码A区| 天天爱夜夜爱| 中文字幕1区| 我爱大香蕉| 天天日天天草| 日韩毛片一级| 黄色a在线| 成人精品三级AV在线看| 色吊丝中文字幕| 中文字幕免| 国产成人A| www.AV在线| 激情AV在线观看| 日韩久久免费视频| 北条麻妃99精品青青久久| 特黄视频| 一级a一级a爱片免费免免高潮| 美女高潮网站| 国产精品视频| 日韩一级无码特黄AAA片| 欧美在线观看网站18| 无码高清免费| 一级免费片| 妖精视频黄色| 奇米av| 日韩有码中文字幕在线观看| 久久人人网| 日韩精品久久久久久久| 成人小说视频| 丰满人妻一区二区三区Av猛交 | 久久婷婷五月天| 无码成人午夜在线影院| 青青草网站在线观看| 超碰199| 免费无码国产| 九色PORNY国产成人| 国产AV无遮挡| 免费看黃色AAAAAA片| 六月婷婷网| 自拍视频在线| 中文字幕精品视频| 日韩av中文字幕在线| 99操逼视频| 人人摸人人爱| 亚洲成人综合在线| 天天操比| 欧美肏屄网| 国产性爱AV| 一区二区无码高清| 亚洲欧美在线成人| 日韩三级| 超碰97久久| 国产五月天婷婷| 国产高清精品无码| 人人色人人爱| 国产综合婷婷| 欧美高清一级| 在线观看AV无码| 天天av天天av天天爽| 黑人猛躁白人BBBBBBBBB| 无码高清视频在线观看| 青草网| 无码专区视频| 国产av日韩av| 欧美又粗又大AAA片| 91麻豆成人| 欧美淫乱视频| 欧美sesese| 91看片| 亚洲免费看黄| 日韩七区| 免费在线a| 亚洲国产激情| 色福利视频| 2021狠狠操| 在线播放中文字幕| 成人做爰黄AAA片免费直播岛国| 91精品国产一区二区三区| 夜夜操操| 伊人毛片| 国产精品久久久久久久久久九秃| 天天干妹子| 国产3p露脸普通话对白| 免费18蜜桃久久19| 怡春院成人| 亚洲在线高清| 日本一区二区在线视频| 色天堂色男人| 狠狠躁日日躁夜夜躁A片无码视频| 日韩激情毛片| 国产av网站大全| 欧美国产另类| 日韩中字无码黄片| 国产在线第一页| 尤物视频在线| 12——13女人毛片毛片| 9l人人澡人人妻人人精品| 色欲影视插综合一区二区三区| 亚洲视频播放| 秋霞午夜视频| 亚洲无码AV一区二区| 国产日韩91| 黄色大片AV| 亚洲AV成人无码| 国产一级a毛一级a毛观看视频网站 | 99视频在线免费| 岛国av在线| 欧美性猛交XXXX乱大交3| 久久极品| 日韩无码链接| 美女福利导航| 波多野结衣成人网站| 中文字幕成人电影| 操碰人人| 亚洲一级免费视频| 三级无码在线观看| 亚洲综合图色40p| 午夜成人福利在线观看| 国产一级a毛一级a| 国产网站在线| 成人激情视频网| 午夜天堂精品久久久| 亚洲午夜福利视频在线观看| 暴操美女网站| 国产精品视频在线观看| 九九热在线观看| 老骚逼| 亚洲欧美卡通| 日韩久久婷婷| 69AV网站| 麻豆videos| 无码国产精品一区二区| 大黑鸡巴视频| 激情五月天色| 一本久久精品一区二区| 美国无码| 在线播放高清无码| 欧美日韩岛国| A片久久久| 激情无码视频| 亚洲97| av无码一区| 日韩婬乱片A片AAA真人视频| 色婷婷六月| 日韩一区二区高清无码| 国产欧美第一页| 欧美一区三区视频z| 亚洲无码精品视频| 日本免费在线| 婷婷五月精品中文字幕| 无码av中文字幕| 安微妇搡BBBB搡BBBB| 人成无码| 欧美自拍第一页| 99精品国产一区二区| 丁香花在线小说免费阅读| 2025最新国产精品每日更新| 成人自拍偷拍| 日本黄色免费| 成人做爰黄AAA片免费直播岛国| 豆花视频成人版www满18| 黄色电影A| 国产乱伦内射视频| 三级无码高清| 日本人妻在线播放| 嫩BBB槡BBBB槡BBB小号| 怡春院中文字幕| 欧美日韩在线免费观看| 亚洲一级黄色| 国产色情在线| 青青草国产亚洲精品久久| 日韩欧美精品一区二区| 久久久成人网站| 特一级黄色视频| 成人午夜啪免费视频在线观看软件| 91精品国产乱码久久| 日韩无码人妻视频| 最新国产毛片| 欧美91熟| 国产中文字幕亚洲综合欧美| 中文字幕在线观看一区| 91Av视频| 精品人妻一区二区| 亚洲精品无码久久| 国产精品久久久久久久久久久久久久 | 国模一区二区三区| 国产精品可站18| 成人午夜精品福利免费| 精品一区二区三区三区| 亚洲激情小说| 激情五月综合| 国产性色| 国产无码激情视频| 亚洲日韩国产AV无码无码精品| 一区二区三区四区免费| 九色PORNY9l原创自拍| 加勒比精品在线| 午夜激情四射| 天天想夜夜操| 西西人体大胆裸体A片| 欧美a片在线观看| 老司机一区二区三区| 可以免费看的AV| 香蕉视频毛片| 黄色视频a| 亚洲成人免费在线| 亚洲无码AV网站| 国产成人精品777777| www亚洲视频| 免费伊人大香蕉| 性爱91视频| 蜜臀AV在线观看| 亚洲午夜成人精品一区二区| 欧美亚洲在线观看| 人妻HDHDHD96XXXX| 日批视频免费观看| 亚洲高清无码中字| 欧美高清一级| av乱伦小说| 高清无码视频免费| 波多野结衣视频免费在线观看| 91.xxxx| 91精品婷婷国产综合| 久久久久久久免费无码| 国产成人777777精品综合| 一级黄色免费视频| 欧美激情精品| 国产毛片精品一区二区色欲黄A片| 99久久国产热无码精品免费| 粉嫩av一区二区白浆| 亚洲免费看黄| 无码不卡av| 久久国产毛片| 国产99自拍| 一级黄色操逼视频| 这里只有精品久久| 国产在线视频一区二区三区| 久久成人电影院| 无码成人午夜在线影院| 人人妻人人妻| 日韩高清毛片| 狼友视频在线播放| 精品人无码一区二区三区下载 | 久久99精品国产.久久久久| 久久久久久久久久免费视频| 丁香激情视频| 亚洲成人第一网站| 大香蕉久在线| 久久免费视频网站| 亚洲无码中| 日韩中文字幕av在线| 成人免费一区| 青娱乐91视频| 超碰97在线免费| 一区二区成人电影| 黄色影院在线观看| 色色色99| 久久99久久99久久99国内少妇精品| 日本无码中文字幕| 免费亚洲视频| 美妇肥臀一区二区三区-久久99精品国| 国产牛牛在线| 丁香花在线小说免费阅读| 国产特黄视频| 日韩无码流出| 九七AV| 国产又粗又猛又爽又黄91精品| 啊啊啊av| 欧美性性生交XXXXX无码| 丝袜足交在线| 人人操在线观看| 国产乱伦电影| 丁香六月| 在线观看免费完整版中文字幕视频| 国产精品久久久久久亚洲毛片| 德国肥妇熟妇BBwBBw| 污污污污污www在线观看优势| 最近中文字幕中文翻译歌词| 香蕉成人网站| 日韩黄色在线视频| 久久av片| 伊人999| 中文字幕在线日韩| 欧美视频在线观看| 日本人妻中出| AA免费视频| 走光无码一区二区三区| 91亚洲国产成人久久精品网站 | 操逼视频高清无码| 不卡视频一区二区三区| 黄色小说视频网站| 亚洲超碰在线| 日韩视频在线观看免费| 亚洲日韩视频| 韩国三级AV| 色色色免费视频| 国产精品视频色| 国产av网站大全| 欧洲成人在线观看| 一级片黄色| 欧美黄片在线免费观看| 淫秽视频免费看| 抽插逼| 操老骚逼视频| 精品无码一区二区三区蜜桃李宗瑞| 一级黄色小视频| 麻豆视频国产| 国产又爽又黄免费网站校园里| 四虎永久在线精品无码| 麻豆福利在线| 亚洲狼人久久久精品| 欧美插菊花综合网| 岛国无码av| 日本A片免费看| 操日本老女人| 久久永久免费精品人妻专区| 蜜桃视频免费网站| 好男人一区二区三区在线观看| 国产AV播放| 2025天天操| 国产黄片在线免费观看| 亚洲一本在线电影av| 丁香花中文字幕| 日批视频免费观看| 婷婷五月开心五月| A级片在线观看| 蜜臀色欲AV无码人妻| 日韩性爱视屏| 日韩操比视频| 国产成人精品一区二区三区视频| 性爱视频免费| 日本少妇高潮| 欧美狠狠干| www99| 亚洲国产成人久久| 成人无码久久| 成人做爰黄AAA片免费直播岛国| 国产精品A片| 超碰在线观看2407| 强行征服邻居人妻HD高清日本| 日韩啪啪啪网站| 干屄网| 操日本老女人| 91白浆肆意四溢456| 操屄视频免费观看| 北条麻妃波多波多野结衣| 日韩中文字幕人妻| 无码一区二区三区免费| 国产成人女人在线观看| 国产黄色一级电影| 熟女人妻ThePorn| 五月婷婷六月天| 亚洲女人被黑人巨大的原因| 蜜桃高清无码| 亚洲成人av在线播放| 韩国精品在线观看| 国产在线小电影| 日本人人操人人摸| 五月天久久久久久久| 久久婷婷五月综合伊人| 亚洲色天堂网| 日本无码在线| 美日韩一级| 久久aaaa| 日韩精品视频一区二区| 国产精品一二| 精品视频久久久久久| 欧美插菊花综合网| 亚洲午夜在线观看| 91精品电影18| 中文字幕永久在线视频v1.0| 黄色一级片在线| 91ThePorn国产在线观看| 亚洲无码视频播放| 久久午夜福利视频| 日本免费色视频| 色先锋av| 激情五月天网站| www.wuma| 日韩啊啊啊| 五月伊人激情| 操逼视频免费观看| 午夜精品久久久久久久99热精东| 手机av在线观看| 中文字幕在线观看免费高清电影| 熟女视频国产| 麻豆熟妇乱妇熟色A片在线看| 天天干无码| AV天堂亚洲| 五月无码视频| 91三级片在线观看| 免费看18禁| 国产无码一区二区| 人妻日日| 亚洲va在线| 免费av大全| 黄色电影天堂网站| 黄色动漫在线免费观看| 日韩免费在线播放| 国产免费黄色| 人人色人人黄| 大香蕉男人天堂| 91人人澡人人爽人人看| 久久久久久99| 丁香激情五月少妇| 日韩一级免费毛片| 特黄特色免费大片| 一区二区三区无码专区| 影音先锋av中文字幕| 欧美日韩国产在线观看| 夜夜撸夜夜| 91热久久| 精品视频在线免费观看| 国产寡妇亲子伦一区二区三区四区 | av网站导航| 超碰人人91| 天天干天天干天天| 欧美色图1| 国产亚洲欧美精品综合在线| 成人免费三级片| 国产特黄级AAAAA片免| 亚洲AV成人无码AV小说| 欧美一级婬片免费视频黄| 鸡巴在线观看| av中文无码| 国产AV三级片| 免费日韩AV| 日韩欧美成人在线视频| 丁香五月中文字幕| 激情网站免费| 国产高清久久| 日批视频网站| 西西午夜视频| 欧美午夜黄片| 日韩超碰| 豆花视频在线播放| 久久免费国产视频| 青青操在线视频| 亚洲精品无码更新| 欧美三级大片| www.大吊视频| 国产中文字幕第一页| 国产又色又爽又黄又免费| 欧美AAAAAA视频| 国内精品久久久久久久久98| 久久视频精品| 操逼网站在线| 国产成人精品一区二| 无码网| 中文字幕在线无码观看| 亚洲AV无一区二区三区久久| a在线观看| 一级二级三级毛片| 成人av免费在线观看| 欧美视频综合网| 少妇激情av| 伊人网成人|