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

一行日志 擊垮 高并發(fā)系統(tǒng)

共 14165字,需瀏覽 29分鐘

 ·

2022-11-22 03:01

本文目錄:
  1. 同步打印日志中的坑
    1.1. 高并發(fā)場景下 logback 造成線程泄露
    1.2. 大量異常引發(fā)性能毛刺
  2. 異步日志配置不當(dāng)造成線程泄露
  3. 其他問題
  4. 最佳實踐

一、同步打印日志中的坑

1.1 高并發(fā)場景下 logback 造成線程泄露

調(diào)用 logback 去打印日志的時候是會加鎖的,加鎖的位置在:

// ch.qos.logback.core.OutputStreamAppender#writeBytes
private void writeBytes(byte[] byteArray) throws IOException {
    if (byteArray != null && byteArray.length != 0) {
        this.lock.lock();
        try {
            this.outputStream.write(byteArray);
            if (this.immediateFlush) {
                this.outputStream.flush();
            }
        } finally {
            this.lock.unlock();
        }

    }
}

這就意味著同一個appender的日志寫是串行的,在高并發(fā)的場景下因為有鎖的爭用現(xiàn)象,所以看似很簡單的一行日志,耗費(fèi)的時間卻不少。接下來我們在本地簡單的模擬一下高并發(fā)的場景,并記錄打一行日志的耗時是多少

public static void main(String[] args) {
    ExecutorService threadPool = new ThreadPoolExecutor(50075020, TimeUnit.MINUTES, new ArrayBlockingQueue<>(1),
                                                        new ThreadFactoryBuilder().setNameFormat("test-log-thread").build(), new ThreadPoolExecutor.CallerRunsPolicy());
    for (int i = 0; i < 750; i++) {
        LoggerExecutor commonExecutor = new LoggerExecutor();
        threadPool.submit(commonExecutor);
    }
}
static class LoggerExecutor implements Runnable {
    @SneakyThrows
    @Override
    public void run() {
        while (true) {
            long start = System.currentTimeMillis();
            logger.info("log info message at {}", System.currentTimeMillis());
            long end = System.currentTimeMillis();
            long time = end - start;
            System.out.println(time);
        }
    }
}

需要說明的是,現(xiàn)實中高并發(fā)的請求應(yīng)當(dāng)用一個線程池向另一個線程池反復(fù)提交任務(wù)來模擬,這里我們簡化了這個過程。

上圖是我記錄下來的logger.info的耗時曲線,從這張統(tǒng)計圖上可以看到,當(dāng)并發(fā)量上來之后鎖爭用的情況加劇,僅僅是打印一行info日志就可能花費(fèi) 20-40ms(作為對比,在我的機(jī)器上單線程打印一行日志通常是 1-2ms),而且圖上有比較明顯的毛刺,打印日志的耗時超過了 100ms,毛刺的原因在于OutputStream在緩存區(qū)滿了后要執(zhí)行刷盤動作,但是在真正大流量應(yīng)用中這種毛刺是致命的,可能導(dǎo)致RPC框架的線程池被吃光,正常業(yè)務(wù)服務(wù)的成功率下降。所以在高并發(fā)大流量的場景下info日志的打印一定要謹(jǐn)慎。

1.2 大量異常引發(fā)性能毛刺

在上一小節(jié)中我們提到,高并發(fā)場景下info日志要謹(jǐn)慎打印,一般我們只記錄系統(tǒng)異常的日志。我們把剛才的代碼片段做一個小的修改,改為調(diào)用logger.error打印日志,然后再統(tǒng)計下這行代碼的耗時

// 驅(qū)動代碼同1.1節(jié),所以這里省略
static class LoggerExecutor implements Runnable {
    @SneakyThrows
    @Override
    public void run() {
        while (true) {
            long start = System.currentTimeMillis();
            //logger.info("log info message at {}", System.currentTimeMillis());
            logger.error("log info message occurs error: {}"new RuntimeException());
            long end = System.currentTimeMillis();
            long time = end - start;
            System.out.println(time);
        }
    }
}

與 1.1 節(jié)相比,一個很明顯的變化就是error日志的執(zhí)行平均耗時到了 40-50ms,要比 1.1 節(jié)中的info日志慢不少,這是為什么呢?原因就在于調(diào)用logger.error(String, Throwable)時為了打印堆棧加載了每個調(diào)用節(jié)點的class,代碼在:

//ch.qos.logback.classic.spi.PackagingDataCalculator#computeBySTEP
private ClassPackagingData computeBySTEP(StackTraceElementProxy step, ClassLoader lastExactClassLoader) {
    String className = step.ste.getClassName();
    ClassPackagingData cpd = cache.get(className);
    if (cpd != null) {
        return cpd;
    }
    // 注意這行代碼
    Class type = bestEffortLoadClass(lastExactClassLoader, className);
    String version = getImplementationVersion(type);
    String codeLocation = getCodeLocation(type);
    cpd = new ClassPackagingData(codeLocation, version, false);
    cache.put(className, cpd);
    return cpd;
}

bestEffortLoadClass中則會嘗試類加載:

private Class bestEffortLoadClass(ClassLoader lastGuaranteedClassLoader, String className) {
    Class result = loadClass(lastGuaranteedClassLoader, className);
    if (result != null) {
        return result;
    }
    ClassLoader tccl = Thread.currentThread().getContextClassLoader();
    if (tccl != lastGuaranteedClassLoader) {
        result = loadClass(tccl, className);
    }
    if (result != null) {
        return result;
    }

    try {
        return Class.forName(className);
    } catch (ClassNotFoundException e1) {
        return null;
    } catch (NoClassDefFoundError e1) {
        return null;
    } catch (Exception e) {
        e.printStackTrace(); // this is unexpected
        return null;
    }
}
// ch.qos.logback.classic.spi.PackagingDataCalculator#loadClass
private Class loadClass(ClassLoader cl, String className) {
    if (cl == null) {
        return null;
    }
    try {
        return cl.loadClass(className);
    } catch (ClassNotFoundException e1) {
        return null;
    } catch (NoClassDefFoundError e1) {
        return null;
    } catch (Exception e) {
        e.printStackTrace(); // this is unexpected
        return null;
    }
}

java.lang.ClassLoader#loadClass(java.lang.String)這個方法就是我們熟知的加載類的接口,其實會在className維度加鎖。到這里為什么logger.errorlogger.info慢多大家應(yīng)該就猜到了,logger.error會打印出異常的堆棧,在高并發(fā)的場景下如果某個接口頻繁拋異常,那在打印error日志的時候要各個線程要先去加載異常堆棧上各個類信息,產(chǎn)生鎖競爭,然后才會在appender維度排隊。一個常見的現(xiàn)實場景是下游服務(wù)限流或者直接宕機(jī)了,容易因為logback引發(fā)系統(tǒng)的毛刺。

二、異步日志配置不當(dāng)造成線程泄露

其實在高并發(fā)的場景下,一般都會將日志配置為異步打印,其原理大概如下圖所示:

AsyncAppenderLogging Event扔到一個隊列里,然后會有一個單獨的線程從隊列中消費(fèi)LoggingEvent,并派發(fā)到具體要干活的Appender中,因為避免了直接直接調(diào)用writeBytes,所以性能應(yīng)該有非常大的提升。我們對logback的配置稍作改動,采取異步的方式打印日志:

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
  <file>/Users/idealism/Desktop/log.txt</file>
  <encoder>
    <pattern>%logger{35} - %msg%n</pattern>
  </encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
  <appender-ref ref="FILE" />
</appender>
<root level="DEBUG">
  <appender-ref ref="ASYNC"/>   
</root>
</configuration>

并采樣了每次打印日志的耗時如下圖所示:

令人震驚的一幕出現(xiàn)了,在并發(fā)量比較大的場景下,異步打印日志的的性能與同步相比竟然差了 10 倍!這是為什么呢?上文說到,logback異步日志的實現(xiàn)原理是一個生產(chǎn)者-消費(fèi)者模型,問題在于在大流量的場景下,分配線程這個單線程的消費(fèi)能力是趕不上生產(chǎn)能力的,最后導(dǎo)致所有的線程在日志打印的阻塞隊列上排隊。此時通過arthas也可以看到線程的排隊情況,如果這是線上的業(yè)務(wù)系統(tǒng),業(yè)務(wù)線程早被日志的阻塞隊列吃光了,會引起業(yè)務(wù)響應(yīng)異常

[arthas@9341]$ thread
Threads Total: 780, NEW: 0, RUNNABLE: 13, BLOCKED: 745, WAITING: 4, TIMED_WAITIN
G: 3, TERMINATED: 0, Internal threads: 15
ID NAME                GROUP     PRIORI STATE  %CPU  DELTA_ TIME   INTER DAEMON
10 AsyncAppender-Worke main      5      RUNNAB 43.01 0.090  0:13.7 false true
77 arthas-command-exec system    5      RUNNAB 4.9   0.010  0:0.02 false true
39 test-log-thread     main      5      BLOCKE 0.75  0.001  0:0.14 false false
71 test-log-thread     main      5      BLOCKE 0.71  0.001  0:0.15 false false
37 test-log-thread     main      5      BLOCKE 0.71  0.001  0:0.14 false false
74 test-log-thread     main      5      BLOCKE 0.69  0.001  0:0.15 false false
67 test-log-thread     main      5      BLOCKE 0.69  0.001  0:0.14 false false
-1 C2 CompilerThread2  -         -1     -      0.68  0.001  0:1.68 false true
69 test-log-thread     main      5      BLOCKE 0.66  0.001  0:0.15 false false
55 test-log-thread     main      5      BLOCKE 0.66  0.001  0:0.14 false false
38 test-log-thread     main      5      BLOCKE 0.65  0.001  0:0.15 false false
36 test-log-thread     main      5      BLOCKE 0.65  0.001  0:0.14 false false
28 test-log-thread     main      5      BLOCKE 0.65  0.001  0:0.15 false false
50 test-log-thread     main      5      BLOCKE 0.65  0.001  0:0.14 false false
36 test-log-thread     main      5      BLOCKE 0.64  0.001  0:0.14 false false

三、其他問題

除了上面提到的幾個在高并發(fā)大流量場景下特有的坑外,還有一些其他的坑這里列一下,因為網(wǎng)上的博客比較多了,這里不再贅述

  1. https://www.elietio.xyz/posts/f6b1711c.html《低版本 bug 導(dǎo)致 totalSizeCap 參數(shù)不生效》
  2. logback版本過低導(dǎo)致SizeAndTimeBasedRollingPolicy不生效的問題

四、最佳實踐

應(yīng)當(dāng)遵循以下幾個原則:

【最佳實踐一】日志工具對象的logger應(yīng)當(dāng)聲明為private static final

  1. 聲明為private是為了安全性考慮,防止logger被其他類非法使用
  2. 聲明為staticfinal則是因為在類的聲明周期內(nèi)無需變更logger,并且占用內(nèi)存也更小

【最佳實踐二】日志字符串通過"+"拼接即占用了額外的內(nèi)存,也不直觀,應(yīng)當(dāng)使用占位符

【最佳實踐三】日志內(nèi)容和日志級別相符合

  1. debugtrace一般是開發(fā)者調(diào)試程序使用,線上應(yīng)關(guān)閉這類日志
  2. info日志應(yīng)當(dāng)記錄重要且無風(fēng)險的信息,如上下文初始化,定時任務(wù)開始執(zhí)行或者遠(yuǎn)程連接建立等場合
  3. warn日志應(yīng)當(dāng)記錄可能有風(fēng)險,但是不會影響系統(tǒng)繼續(xù)運(yùn)行的錯誤,如系統(tǒng)參數(shù)配置錯誤,用戶請求參數(shù)不正確等?;蛘呤窃谝恍┖臅r異常的場景,如一次請求超時,一次sql執(zhí)行超過 2 秒等
  4. error日志用于程序出錯打印堆棧,不應(yīng)該輸出程序問題之外的其他信息

【最佳實踐四】高并發(fā)系統(tǒng)應(yīng)少打或不打info日志,且應(yīng)當(dāng)配置為異步日志,當(dāng)阻塞隊列滿時采取丟日志的策略,以保證業(yè)務(wù)系統(tǒng)正常運(yùn)行

最近我開通了股東服務(wù),感興趣的可戳:我開通了付費(fèi)渠道

關(guān)注公眾號回復(fù)「對線即可免費(fèi)領(lǐng)取《對線面試官》系列電子書。

點擊 閱讀原文  跳轉(zhuǎn)至Java開源消息推送平臺項目倉庫

瀏覽 49
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 无码欧精品亚洲日韩一区| 久久黄色A片| 久久久久久久久久久国产| 爱爱毛片| 国产网站视频| www.人人操| 欧美成人免费精品| 人妻丰满熟妇av无码区| 影音先锋AV资源网站| 国产成人无码免费| 国产欧美日本视频| 九九色网| 国产精品久久久无码专区| 一级A片亲子乱中文| 久久国产精品视频| 中文无码在线观看中文字幕av中文 | 国产欧美日韩在线视频| 国产成人Av| 一本色道久久无码人妻精品69| 国产欧美熟妇另类久久久| 亚洲AA视频| 大黑鸡巴视频| 波多野结衣天堂| 久久久9999| 亚洲日韩字幕| 五月天婷婷丁香| 免费在线观看AV网站| 久久久久久网站| 夜夜干天天操| www.91av| 撸一撸AV| 老太奶性BBwBBw侧所| 日本在线视频一区二区| 豆花视频成人网站入口| 大香蕉看片| 2018天天操天天干| 欧美一级免费| 美女国产精品| 日日夜夜干| 久久婷婷婬片A片AAA| 人妻无码| 黄色小视频在线免费看| 3D精品啪啪一区二区免费| 91女人18片女毛片60分钟| 免费高清无码在线| 亚洲无码高清视频在线观看| 动漫一区二区| 一区二区三区四区五区六区高清无吗视频 | 污网站免费观看| 亚洲一级免费在线观看| 中文字幕无码高清| 黄色国产视频在线观看| 五月婷婷丁香五月| 蜜桃传媒av| 午夜亚洲AV永久无码精品蜜芽 | 亚洲系列中文字幕| 亚洲综合免费| 俺也干| 久久久久黄片| 免费av网站| 午夜操逼网| 炮友五月天| 亚洲激情AV| 影音先锋在线视频观看| av在线免费播放| 亚洲成人无码精品| 青青热视频| 久草加勒比| 另类老妇极品BBWBBw| 国产精品不卡| 97三级| 欧美一区二区三区系列电影| 99热在线免费观看| 日本高清无码在线| 久久久久久久久久久久国产精品| 亚洲黄色视频网站| 综合色婷婷一区二区亚洲欧美国产 | 搡BBBB搡BBB搡五十粉嫩| 国产在线拍揄自揄拍无码网站新闻| 久久久国产精品在线| 国产激情无码| 偷拍亚洲| 日韩黄色电影视频| 久久成人综合网| 嫩草在线视频| 西西人体视频| 国产传媒av| 麻豆偷拍| 欧美偷拍精品| 男人手机天堂| 天天日天天操天天| 狠狠撸在线视频| 丝袜一区二区三区| 黄色视频免费| 91视频导航| 亚洲你懂的| 91x色| 午夜午夜福利理论片在线播放| 怡春院成人| 日韩人妻精品中文字幕专区不卡| 大香蕉综合闲人| 伊人97| 日本一区二区视频| a片视频免费| 日韩主播在线| 亚洲日韩精品秘在线观看| 伊人狠狠蜜桃亚洲综合| 丁香六月婷婷综合激情欧美| 五月天婷婷色播| 日韩精品无码一区二区| 五月天久久婷婷| 草逼动态图| 91麻豆国产在线| 成人一区二区三区| 国产h视频在线观看| 欧美V∧| 就爱av| 日韩成人激情| 97无码精品人妻| 麻豆视频国产| 牛牛AV在线| 超碰在线观看免费版| 亚洲免费精品视频| 天天干天天干天天日| 色色大香蕉| 四川美人搡BBw搡BBw| 天天干狠狠| 欧美日韩午夜福利视频| 日韩欧美中文字幕在线观看| 久久精品视频99| 夜夜操夜夜| 麻豆999| 国产成人精品视频免费看| 中文字幕无码AV| 青春草在线观看视频| 无码在线不卡| 可以免费看的黄色视频| www.黄色av| 亚洲人妻性爱| 欧美撒色逼撒| 麻豆偷拍| 天天操综合| 性欧美69| 久久黄色视频免费观看| 成人免费网站在线观看| 国产精品男女| 天天色天天干天天| 国产激情艹逼| AA片在线观看视频在线播放| 亚洲精品一区二三区不卡| 91欧美精品| 成年人视频免费看| 午夜天堂在线观看| 亚洲一线视频| 免费看黄色A片| 国产91黄色| 中文字幕高清无码免费视频| 亚洲小电影| 苍井空一区| 成人黄片18| 插菊花综合网3| 东北老女人操逼视频| 狼友视频首页| 日韩一区二区三区精品| 无码在线观看免费| 草久伊人| 黄色A毛片| 亚洲日本中文字幕在线观看| 爱爱免费视频| 99热思思| 日本肏逼视频| 午夜久操| 天堂资源地址在线| 国产91白浆四溢| 日韩无码中文字幕| 久久人人操| 国产精品免费在线| www.啪啪| 国产精品秘久久久久久免费播放| 国产a√| 亚洲黄色无码| 免费一二区| 国产精品性爱视频| 亚洲无码在线播放| 国产一级a爱做片免费☆观看| 中文日韩字幕| 免费的操逼视频| www男人的天堂| 国产色视频在线| 亚洲最大无码| 无码一二三| 黄片视频在线免费观看| 大鸡巴视频在线观看| 青春草在线观看视频| 麻豆mdapp03.tⅴ| 黄色成人视频在线免费观看| 婷婷丁香激情| 日本无码在线播放| 亚洲一级Av无码毛片久久精品| 亚洲a在线观看| 美女被操免费网站| 大香蕉视频在线观看| 亚洲无码播放| 国产乱伦不卡| 成人国产片女人爽到高潮| 色AV网| 西西4444www大胆无吗| 国外操逼视频| 双腿张开被9个男人调教| 免费国产黄色视频网站| 欧美第一页| 一级片无码| 在线视频三区| 无码日韩成人| 日韩和的一区二区| 亚洲AAA电影| 大香伊人| 中文国产| 亚洲色偷精品一区二区三区| 国产一在线| 深爱激情五月婷婷| 五月天久久久久久久| 日韩高清无码成人| 思思热思思操免费视频| 99美女精品视频| 亚洲综合区| 丁香婷婷激情五月| 俺来操| 五月天AV在线| 91啦丨露脸丨熟女色啦| 自拍三级片| 毛片3| 亚洲无码专区在线| 国产精品无码天天爽视频| 大荫蒂HD大荫蒂视频| 精品国产乱子伦一区二区三区最新章 | 中文字幕永久| 成人黄片免费看| 国产熟妇码视频户外直播| 996热久久| 国产一精品一aⅴ一免费| 国产激情一区二区三区| 日韩欧美成人网站| 夜夜骑夜夜| 久久av一区二区三区| 成人在线免费观看国产| 巨爆乳肉感一区二区三区视频| 久久av一区二区三区观看| 国产愉拍91九色国产愉拍| 一区二区三区无码高清| 日韩AV高清| 亚洲黄色电影在线观看| 福利老湿69| 成人网站中文字幕| 成人爽爽视频| 国产成人大片| 五月婷婷激情| 一区无码视频| 91色色色色| 国产乱伦中文字幕| 欧美久草| 亚洲中字幕新| aaa精品| 好吊顶亚洲AV大香蕉色色| 牛牛影视av老牛影视av| av怡红院| 日韩人妻精品无码| 九色偷拍| 成人做爰黄片视频免费| 九九热精| 伊人成人在线观看| 精品蜜桃秘一区二区三区观看| 一级二级三级毛片| 丰满人妻无码| 日韩成人A片| 久久久一区二区三区四区免费听 | 久久91人妻无码精品蜜桃HD| 日韩毛片一区二区| 国产日韩一区二区| 五月天无码视频| 天天天天天天天天干| 国产精品久久久久久婷婷天堂| 神马午夜| 国产中文字幕在线| 国产又黄又大又粗的视频| 欧美日韩亚洲天堂| 99r| 69午夜| 激情一级| 人妻无码电影推荐| 国产日本欧美韩国久久久久| 仓井空一区二区三区| 欧美性爱福利视频| 天天日天天爽| 超碰av电影| 天堂俺去俺来也www久久婷婷 | 内射网站在线观看| 丰满岳乱妇一区二区三区全文阅读 | 校园春色成人| 人人妻人人澡人人爽人人爽| 精品自拍视频| 中文字幕五月久久婷婷| 九色首页| 欧美久久久久| 97人妻人人操| A黄色视频| 国产性爱AV| 久久思热国产| 黄色大片免费在线观看| 中文字幕AV在线播放| 日韩AV网站在线观看| 3d动漫精品H区XXXXX区| 国产精品自拍视频| 欧美大黄视频| 在线免费看a| 日韩情色片| 男女av网站| 韩国久久久| 大香蕉88| 四色永久成人网站| 一级片在线播放| 操老女人逼视频| 日逼黄色| 巨爆乳肉感一区二区三区视频| 麻豆成人精品国产免费| 五月婷婷综合网| 亚洲国产成人无码a在线播放| 黑人人妻黑人ThePorn| AV电影免费看| AV黄色片| 视频一区乳奴| 亚洲无码专区视频| 狠狠的日| 99久久丫e6| 国产乱子伦一区二区三精品| 亚洲综合免费观看高清完整版在线观| 久色悠悠| 手机看片久草| 免费看黄色片视频| 逼网站| 91在线观看免费视频| 特级毛片WWW| 操人| 亚州av| 午夜精品18码视频国产17c| 91精品国产一区二区| 黄色一级大片| 欧美日韩国产成人电影| 成人无码中文字幕| 成人免费视频一区二区三区| 亚洲一级A片| 天天A片| www.黄色在线观看| 超碰人妻人人操| 亚洲无码在线播放| 国产精品美女久久久| 狠狠操综合| 五月精品在线| 一区二区三区无码在线| 免费在线无码视频| 91大鸡巴| 九七在线视频| 高清无码视频免费观看| 伊人大香蕉视频在线观看| 爱视频福利| 国产免费av在线| 黄色片在线播放| www.五月天.con| 午夜无码视频| 欧美黄色性爱| 成人AV免费| 韩国三级av| 黄色插逼视频| 国产一级a毛一级a做免费图片| 欧美乱欲视频| 久久精品视频免费观看| 日本中文字幕在线观看视频| 无码成人片| 91西安站街老熟女露脸| 无码22p| 成人久久久久一级大黄毛片中国| 中文字幕黑人无码| 91人妻无码精品蜜桃| 六月综合激情| 亚洲日本在线观看| 免看一级a毛片一片成人不卡| 欧美第一页| 插菊花综合网站| 亚洲国产成人av| 亚洲天天| 先锋久久| 自慰喷水流白浆中文字幕| 俺去俺来WWW色官方| 日韩一区二区免费看| 少妇搡BBBB搡BBB搡造水爽 | 探花熟女| 免费无码国产在线观看快色| 88在线无码精品秘入口九色| 日韩女人性爱| 婷婷综合五月天| 日日射视频| 一道本在线观看| 亚洲免费视频网| 少妇无码一区| 天天添天天操| 特级西西西88大胆无码| 91熟女丰满原味| 丁香五月婷婷六月| 日本免费A∨| 色色婷婷五月天| 一区二区三区四区在线播放 | 久久精品色| 蜜桃传媒一区二区亚洲| 晚上碰视频| 国产色婷婷一区二区| 国产一级片免费观看| 激情一级| 福利老湿69| 亚洲第一色网站| 大香蕉a片| 中文字幕成人av| 国产精品扒开腿做爽爽爽A片唱戏 中文字幕一区二区三区精华液 | 国产AV电影网| 乱码中文字幕日韩欧美在线| 丁香五月影院| 东京热一区二区三区四区| 操逼逼AV| 亚洲一区二区在线免费观看| 亚洲AV播放| 久久综合伊人7777777| 久草社区| 自拍三级片| 中文字幕在线码| 亚洲AV无码成人网站国产网站| 五月婷婷中文| 内射视频在线免费观看| 中文字幕乱在线| 人人摸人人爱| 美女被操91| 激情视频在线播放| 国产嫩草久久久一二三久久免费观看| 成人特级毛片全部免费播放| 12—13女人毛片毛片| 四川少妇搡BBw搡BBBB搡| 青娱乐亚洲| 一级无码高清| 久草不卡| 伊大香蕉在线| 激情av天堂| 成人做爰黄A片免费看陈冠| 97超碰中文字幕| TokyoKot大交乱无码| 欧美三区| 亚欧洲精品在线视频| 黄色草莓视频| 伊人在线成人视频| 啪啪免费网站| 伊人视频在线观看| 亚洲无码蜜桃| 91亚洲精品国产成人| A片久久久| www.骚逼| 日韩狠狠| 黄色免费看视频| 国产小视频在线免费观看| 99在线精品视频在线观看| 国产精品久久久久久久久久| 不卡中文字幕| 少妇搡BBBB搡BBB搡造水多| 国产精品永久久久久久久久久| 大学生18一19GAY169| 在线观看AV91| 透逼视频| 亚洲人在线| 国产精品高潮无套内谢| 亚洲1区| www.五月天婷婷| 在线日韩视频| 人妻天堂| 国产精品码一本A片| 97精品人人A片免费看| 美日韩视频欧美一区二区视频 | 先锋影音中文字幕| 精品一区二区三区四| 四川少妇搡BBw搡BBBB搡| 色我影院| 欧美亚洲日韩国产| 亚洲爆乳无码一区二区三区| 激情一级| 久草综合网| 色噜噜在线观看| 九九草在线视频| 超碰在线91| 天堂中文字幕在线观看| 无码人妻一区| 一级全黄120分钟免费| 日本A片免费观看| 特一级黄色视频| 国产精品色综合| 精品人妻一区二区三区四区| 日日夜夜精品| 五月丁香啪| 久久草在线观看| 成人小视频在线观看| av无码一区| 天堂网2014| 欧美成人毛片一级A片| 免费黄色欧美| 亚洲.无码.制服.日韩.中文字幕| 精品免费黄色视频| 德国肥妇熟妇BBwBBw| AV草逼| 99精品一区| 永井玛丽亚av无码中出流出 | 国产av日韩av| 91嫖妓站街埯店老熟女| 亚洲国产精品成人综合色在线婷婷| 鸡巴在线观看| 日韩AV性爱| 欧美久久一区二区三区四区视频 | 人人人操| 亚洲视频在线免费观看| 黄色一区二区三区| 青娱乐大香蕉| 在线观看免费黄色视频| 天天做| 亚洲无码电影在线观看| 操逼视频在线观看| 无码网址| 国产精品天天AVJ精麻传媒| 日韩无码高清视频| 中文字幕亚洲日韩| 国产天堂在线| 91狠狠综合久久| 青青草超碰| 伊人在线| 尤物在线视频| 欧美午夜乱伦电影| 久久久精品影院| 手机AV网站| 日韩99| 国产一区二区做爱| 美女做爱在线观看| 亚洲欧美手机在线| 国产99999| 国产人人爽| 欧美一级A片在免费看| 五月天婷婷综合网| 国产AV无码精品| 亚洲AV秘成人久久无码海归| 人人妻人人玩人人澡人人爽| 亚洲成人无码在线播放| 亚洲专区中文字幕| 躁BBB躁BBB添BBBBBB| 亚洲AV免费在线| 四虎精品| AV在线不卡中文| 欧美精品在线免费| 日本一区二区三区四区在线观看 | 成人做爰A片一区二区app| www.日韩精品| 精品国产va久久久久久| 天堂在线视频免费| 亚洲va欧美ⅴa在线| 成人福利视频在线| 天天爽夜夜爽夜夜爽精品| 蜜臀久久99精品久久久久酒店更新时间 | 美女福利视频| 91久久精品一区二区三| 日逼黄色| 91免费观看视频| 中文字幕久久播放| 日屄在线观看| 亚洲啊V| 黄色一级电影网| 三级无码在线观看| 麻豆一区二区三区四区| 97视频在线免费观看| 亚洲欧美动漫| 日本欧美在线观看高清| 性欧美XXXX| 久久另类TS人妖一区二区免费| 老师搡BBBB搡BBB| 宅男噜噜噜66一区二区| 午夜福利91| 91中文字幕+乱码| 欧美在线a| 久久人妻无码中文字幕系列| 亚洲va欧美va| 美日韩精品| 日韩黄色在线| 大香蕉伊在线观看| 天天噜噜色| 开心五月色婷婷综合开心网| 影音先锋在线视频观看| 国产五月婷婷| 久草视频网站| 无码av亚洲一区二区毛片公司| 麻豆视频在线播放| 91性爱视频在线观看| 青青操网站| 日韩电影一区| 先锋影音资源站av每日资源在线| 亚洲无码一级视频| 日韩精品一二区| 精品1234| 少妇在厨房| 俺去也俺去啦| 黄色视频在线观看免费网站| 亚洲天堂无码在线观看| 秋霞久久日| 精品无人区无码乱码毛片国产| 无码在线高清| 日本精品国产| 97人妻精品黄网站| 在线99精品| 国产人妻一区二区精选| 亚洲成人AV在线播放| 欧美激情一区二区| 亚洲影院第一页在线观看| av在线一区二区三区| 丁香五月影院| 黄色一区在线| 成人毛片一区二区三区无码 | 亚久久久| 毛片视频免费观看| 欧美色色色网| 嫩草嫩草69| 男人AV在线| 男女拍拍视频| 久久久久女人精品毛片九一| 91久久久久国产一区二区| 国产精品秘久久久久久免费播放| 久久久久久黄| 一道本无码在线视频| 苍井空一区| 120分钟婬片免费看| 蜜桃av秘无码一区三| a视频在线免费观看| 国产成人精品亚洲男人的天堂| 久久综合操| 苍井空二区| 蜜桃av久久久亚洲精品| 久久精品视频9| 婷婷av在线| 黄色a在线| 99久久精品国产一区二区成人 | 精品一区二区免费视频| 亚州av| 五月婷婷六月丁香| 国产无码高清在线观看| 毛片在线观看网站| 99re2| 欧美精品性爱视频| 亚洲操逼网站| 夜夜精品视频| 亚洲日本视频| 蜜桃av秘无码一区二区三| 欧美熟妇BBB搡BBB| 久久久毛片| 一级片免费观看视频| 中文字幕不卡视频| 影音先锋av在线资源站| 日本免费黄| 嫩BBB搡BBB搡BBB搡| 霸道总裁雷总各种姿势白浆爱情岛论坛 | 欧美自拍性爱视频| 日本一区二区视频在线| 国产女人18毛片18精品| 91人妻人人人| www.天天射| 日韩AV毛| 青青草原无码| 色情一级A片成人片| 中文字幕北条麻妃在线| 久久精品福利视频| 国产一区二区在线播放| 成人在线精品视频| 日本少妇中文字幕| 91丨PORNY丨丰满人妻网站| 波多野结衣av在线观看窜天猴| 一区二区三区四区五区无码| 一区二区三区久久久| 日韩精品小电影| 亚洲无码视频播放| 亚洲av网站在线观看| 黄页网站在线免费观看| 国产一二三四| 俺也干| 亚洲福利社| 91在线无码精品秘| 亚欧美日韩| 激情丁香五月天| 免费视频在线观看黄| 国产黄色小电影| 成人在线视频一区| 91精品国产三级| 国产精品尤物| 一级A片免费视频| 久久综合伊人7777777| 国产无码区| 国产3p露脸普通话对白| 在线激情| 欧美AAAAAAAAAA特级| 亚洲成人视频网站| 三级av在线观看| 99久久99| 不卡成人| 撸一撸成人在线做爱视频。 | 好男人WWW社区在线视频夜恋| av大全在线观看| 国产黄色一级电影| 亚洲AV成人片无码网站网蜜柚| 97久久综合| 久久久精品人妻| 熟女老阿V8888AV| www.国产豆花精品区| 熟睡侵犯の奶水授乳在线| 91人妻无码视频| 免费在线A| 国产女人18水真多18精品| 北条麻妃无码观看| 91乱| 韩国无码视频| 69国产精品成人无码视频色| 成人免费无码A片免费| 在线免费观看毛片| 日韩欧美人妻无码精品| 国产激情av| 亚洲无码在线播放视频| 日韩AV无码免费| 日韩久久免费视频| 成人无码网站在线观看| 亚洲天堂影院| 91麻豆精品视频| 黄色a片在线观看| 国产一二区| 四川性BBB搡BBB爽爽爽小说| 香蕉伊人网| 国产第一夜| 日韩精彩视频| 久久理伦| 亚洲欧洲日韩综合| 久久亚洲Aⅴ成人无码国产丝袜| 国产成人午夜福利在线| 五月天福利影院| 久久视频理论| 99无码国产成人精品| 人妻无码中文字幕蜜桃| 久久内射| 人成视频在线免费观看| 中文字幕AV在线免费观看| 欧美日韩三级| 五月天激情性爱| 久久久极品| 狠狠干| 囯产精品久久久久久久久| 久久久黄色电影| 少妇BBBBBB| 国产无套视频| 在线免费看黄视频| 成人黄色性视频| 影音先锋三级片| 精品人妻无码一区二区三区四川人 | 日本免费爱爱| 小小拗女BBw搡BBBB搡| 水果派AV解说| A片视频免费观看| 精品无码AV一区二区三区| 极品美女扒开粉嫩小泬高潮一| 六月婷婷久久| 大香蕉AV电影| 在线观看无码| 欧美日韩综合| 一级a黄色片| 51福利视频| 亚洲大片| 黄在线免费观看| 国产亚洲99久久精品| 91av免费观看| 欧美在线观看一区二区| 性久久久久久| 日韩无码少妇| 中文字幕线观看| 无码白浆| 国产激情在线观看视频| 久久精品视频18| www.97cao| Al激情欧美| 欧美日韩高清在线| 99热在线观看免费精品| 午夜视频网| 日本一级a片| 国产欧美日韩在线视频| 丝袜美女足交| 奇米av| 欧美又粗又长| 久久免费视频网站| 一级国产黄色视频| 山东wBBBB搡wBBBB| 十八禁无码网站在线观看| 一级a一级a免费观看免免黄‘/ | 人人爽人人爽人人爽| 亚洲福利一区| 日逼视频网| 国产免费成人在线观看| 日韩成人无码毛片| 欧美日韩在线免费| 激情内射网站| 就爱搞搞| 性满足BBwBBWBBw| 久热大香蕉| 99激情视频| 影音先锋AV在线资源| 91污视频在线观看| 91精品少妇| 日韩A片免费| 最近中文字幕免费mv第一季歌词強上| 久久免费视频,久久免费视频 | 女生操网站| 九九99电影| 日本精品视频在线观看| 91露脸熟女四川熟女在线观看| 亚洲日韩欧美中在线| 人人爱人人操人人干| 亚洲高清视频无码| 99电影网手机在线观看| 玉米地一级婬片A片| www.亚洲精品| 一级黄色操逼视频| 麻豆精品国产传媒| 亚洲午夜久久久| 黄色污污污网站| 麻豆成人片| 中文久久| 欧美A片视频| 91AV在线看| 麻豆午夜成人无码电影| 天天操天天操天天操天天操| 不卡视频一区| 91亚洲国产成人精品一区二区三| 欧美啪啪视频| 九九久久国产精品| 国产97热人人| 日韩无码精品视频| 最新超碰| 狠狠干影院| 久操操| 婷婷五月一区| 亚洲国产激情视频| 日韩免费小视频| 天天操天天日天天操| 无码人妻AⅤ一区二区三区| 国产日韩欧美久久| 爆操视频| 欧美成人性色欲影院| 天天狠天天干| 加勒比黑人和翔田千里在线播放| 超碰中文字幕| 国产欧美熟妇另类久久久| 国产电影一区二区三区| 日韩视频无码| 日韩无码一区二区三区四区| 操骚屄视频| 91免费成人| 你懂得在线观看| 无码一区二区三区在线观看| 国产操逼电影| 99国产热| 草草国产| 无码黄漫| 日韩在线视频中文字幕| 中文字幕操逼| 日韩人妻码一区二区三区| 久草视频免费看| 亚洲成人无码网站| 无码人妻一区二区三区免水牛视频| 亚洲视频无码在线| 3d动漫精品一区二区三区在线观看 | 天天干天天色天天日| 免费黄色网页| 五月丁香天堂网| 在线激情| 日本草逼| www.俺去也| 3级毛片| 国产视频一区二区三区四区| 九九免费视频| 韩国中文字幕HD久久精品| 天天干夜夜操熟女| 做aAAAAA免费视频| 黄色a片在线观看| 中文字幕一区二区三区人妻电影 | 男女性爱视频免费| 波多野结衣被操| 无码精品一区二区免费| 97人妻人人澡人人| 亚洲AA视频| 日韩欧美一级二级| 色色色色五月|