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

你們公司的 QPS 是怎么統(tǒng)計出來的?這五種常見方法我踩過一半的坑!

開發(fā) 前端
每種方法都有自己的適用場景,我會結合 Java 項目常用技術棧(Spring Boot、Nginx、Prometheus 等),給出可直接復用的代碼。

三年前做電商秒殺項目,運維同學說 “網(wǎng)關 QPS 已經(jīng)到 8000 了,趕緊擴容”,但我查應用監(jiān)控卻顯示 “接口 QPS 才 3000”—— 兩邊數(shù)據(jù)差了一倍多,最后發(fā)現(xiàn)是網(wǎng)關統(tǒng)計時把 “健康檢查請求” 也算進去了,白擴容了 3 臺服務器。

作為 Java 的老開發(fā),我太清楚 QPS 統(tǒng)計的重要性:它是判斷系統(tǒng)承載能力、決定是否擴容的核心依據(jù),統(tǒng)計不準會導致 “要么資源浪費,要么系統(tǒng)雪崩”。今天就從 業(yè)務場景、技術原理、核心代碼、踩坑經(jīng)驗 四個維度,拆解 5 種常見的 QPS 統(tǒng)計方法,幫你避開我曾踩過的坑。

一、先明確:不同業(yè)務場景,QPS 統(tǒng)計的 “粒度” 不一樣

在講方法前,得先搞清楚 “你要統(tǒng)計什么粒度的 QPS”—— 不同場景關注的重點完全不同:

業(yè)務場景

統(tǒng)計粒度

核心需求

電商秒殺

單個接口(如 /order/seckill)

實時性(秒級更新)、準確性(排除無效請求)

微服務集群監(jiān)控

服務維度(如訂單服務)

全局視角(所有接口匯總)、低侵入

接口性能優(yōu)化

方法級(如 createOrder 方法)

細粒度(定位慢方法)、結合響應時間

離線容量評估

全天 / 峰值時段匯總

數(shù)據(jù)完整性(不丟日志)、可回溯

二、5 種 QPS 統(tǒng)計方法:從網(wǎng)關到應用,從實時到離線

每種方法都有自己的適用場景,我會結合 Java 項目常用技術棧(Spring Boot、Nginx、Prometheus 等),給出可直接復用的代碼。

方法 1:網(wǎng)關層統(tǒng)計(全局視角,適合分布式項目)

適用場景:微服務集群,需要統(tǒng)計所有服務的總 QPS,或單個服務的入口 QPS(如 API 網(wǎng)關、Nginx)。原理:所有請求都經(jīng)過網(wǎng)關,在網(wǎng)關層攔截請求,記錄請求數(shù)和時間,按秒計算 QPS。

實戰(zhàn) 1:Nginx 統(tǒng)計 QPS(中小項目首選)

Nginx 的access_log會記錄每一次請求,配合ngx_http_stub_status_module模塊,能快速統(tǒng)計 QPS。關注工眾號:碼猿技術專欄,回復關鍵詞:1111 獲取阿里內(nèi)部Java性能調(diào)優(yōu)手冊!

  • 配置 Nginx(nginx.conf):
http {
    # 開啟狀態(tài)監(jiān)控頁面
    server {
        listen 8080;
        location /nginx-status {
            stub_status on;
            allow 192.168.0.0/24; # 只允許內(nèi)網(wǎng)訪問
            deny all;
        }
    }

    # 記錄詳細請求日志(用于離線分析)
    log_format main '$remote_addr [$time_local] "$request" $status $request_time';
    server {
        listen 80;
        server_name api.example.com;
        access_log /var/log/nginx/api-access.log main; # 日志路徑

        # 轉發(fā)到后端服務
        location / {
            proxy_pass http://backend-service;
        }
    }
}
  • 查看實時 QPS: 訪問http://192.168.0.100:8080/nginx-status,會顯示:
Active connections: 200
server accepts handled requests
 10000  10000  80000
Reading: 0 Writing: 10 Waiting: 190
  • QPS 計算:requests/時間,比如 10 秒內(nèi)請求 80000 次,QPS=8000。
  • 工具腳本:寫個 Shell 腳本定時統(tǒng)計(每 1 秒執(zhí)行一次):
while true; do
    # 取當前請求數(shù)
    current=$(curl -s http://192.168.0.100:8080/nginx-status | awk 'NR==3 {print $3}')
    sleep 1
    # 取1秒后請求數(shù)
    next=$(curl -s http://192.168.0.100:8080/nginx-status | awk 'NR==3 {print $3}')
    qps=$((next - current))
    echo "當前QPS: $qps"
done

實戰(zhàn) 2:Spring Cloud Gateway 統(tǒng)計 QPS(Java 微服務)

如果用 Spring Cloud Gateway,可通過自定義過濾器統(tǒng)計 QPS:

@Component
publicclass QpsStatisticsFilter implements GlobalFilter, Ordered {
    // 存儲接口QPS:key=接口路徑,value=原子計數(shù)器
    privatefinal Map<String, AtomicLong> pathQpsMap = new ConcurrentHashMap<>();

    // 定時1秒清零計數(shù)器(避免數(shù)值過大)
    @PostConstruct
    public void init() {
        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        executor.scheduleAtFixedRate(() -> {
            // 遍歷所有接口,打印QPS后清零
            pathQpsMap.forEach((path, counter) -> {
                long qps = counter.getAndSet(0);
                log.info("接口[{}] QPS: {}", path, qps);
            });
        }, 0, 1, TimeUnit.SECONDS);
    }

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 獲取請求路徑(如/order/seckill)
        String path = exchange.getRequest().getPath().value();
        // 計數(shù)器自增(線程安全)
        pathQpsMap.computeIfAbsent(path, k -> new AtomicLong()).incrementAndGet();
        // 繼續(xù)轉發(fā)請求
        return chain.filter(exchange);
    }

    @Override
    public int getOrder() {
        return -1; // 過濾器優(yōu)先級:數(shù)字越小越先執(zhí)行
    }
}

踩坑經(jīng)驗:

  • 網(wǎng)關統(tǒng)計會包含 “健康檢查請求”(如 /actuator/health),需要過濾:在filter方法中加if (path.startsWith("/actuator")) return chain.filter(exchange);
  • 分布式網(wǎng)關(多節(jié)點)需匯總 QPS,可把數(shù)據(jù)推到 Prometheus,避免單節(jié)點統(tǒng)計不準。

方法 2:應用層埋點(細粒度,適合單服務接口統(tǒng)計)

適用場景:需要統(tǒng)計單個服務的接口級 QPS(如訂單服務的 /create 接口),或方法級 QPS(如 Service 層的 createOrder 方法)。原理:用 AOP 或 Filter 攔截請求 / 方法,記錄請求數(shù),按秒計算 QPS(適合 Java 應用)。

實戰(zhàn):Spring AOP 統(tǒng)計接口 QPS

  • 引入依賴(Spring Boot 項目):
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
  • 自定義切面(統(tǒng)計 Controller 接口 QPS):
@Aspect
@Component
@Slf4j
publicclass ApiQpsAspect {
    // 存儲接口QPS:key=接口名(如com.example.OrderController.createOrder),value=計數(shù)器
    privatefinal Map<String, AtomicLong> apiQpsMap = new ConcurrentHashMap<>();

    // 定時1秒打印QPS并清零
    @PostConstruct
    public void scheduleQpsPrint() {
        Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(() -> {
            apiQpsMap.forEach((api, counter) -> {
                long qps = counter.getAndSet(0);
                if (qps > 0) { // 只打印有請求的接口
                    log.info("[QPS統(tǒng)計] 接口: {}, QPS: {}", api, qps);
                }
            });
        }, 0, 1, TimeUnit.SECONDS);
    }

    // 切入點:攔截所有Controller方法
    @Pointcut("execution(* com.example.*.controller..*(..))")
    public void apiPointcut() {}

    // 環(huán)繞通知:統(tǒng)計請求數(shù)
    @Around("apiPointcut()")
    public Object countQps(ProceedingJoinPoint joinPoint) throws Throwable {
        // 獲取接口名(類名+方法名)
        String apiName = joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName();
        // 計數(shù)器自增
        apiQpsMap.computeIfAbsent(apiName, k -> new AtomicLong()).incrementAndGet();
        // 執(zhí)行原方法
        return joinPoint.proceed();
    }
}

進階優(yōu)化:

  • 過濾無效請求:在countQps中判斷響應狀態(tài)碼,只統(tǒng)計 200/300 的有效請求;
  • 結合響應時間:在環(huán)繞通知中記錄方法執(zhí)行時間,同時統(tǒng)計 “QPS + 平均響應時間”:
// 記錄響應時間
long start = System.currentTimeMillis();
Object result = joinPoint.proceed();
long cost = System.currentTimeMillis() - start;
// 存儲響應時間(key=接口名,value=時間列表)
timeMap.computeIfAbsent(apiName, k -> new CopyOnWriteArrayList<>()).add(cost);
// 計算平均響應時間
double avgTime = timeMap.get(apiName).stream().mapToLong(Long::longValue).average().orElse(0);

踩坑經(jīng)驗:

  • 并發(fā)安全:必須用AtomicLong計數(shù),避免long變量的線程安全問題;
  • 性能影響:AOP 會增加微小開銷(單請求約 0.1ms),生產(chǎn)環(huán)境可通過@Conditional控制只在非生產(chǎn)環(huán)境啟用,或用 Java Agent 替代 AOP 減少侵入。

方法 3:監(jiān)控工具統(tǒng)計(實時可視化,適合運維監(jiān)控)

適用場景:需要實時可視化 QPS、歷史趨勢分析、告警(如 QPS 超過閾值自動發(fā)告警),主流方案是Prometheus + Grafana。原理:應用埋點暴露指標(如 QPS、響應時間),Prometheus 定時拉取指標,Grafana 展示圖表。

實戰(zhàn):Spring Boot + Prometheus + Grafana 統(tǒng)計 QPS

  • 引入依賴:
<!-- Micrometer:對接Prometheus的工具 -->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • 配置 Prometheus(application.yml):
spring:
  application:
    name:order-service# 服務名,用于Prometheus識別

management:
endpoints:
    web:
      exposure:
        include:prometheus# 暴露/prometheus端點
metrics:
    tags:
      application:${spring.application.name}# 給指標加服務名標簽
    distribution:
      percentiles-histogram:
        http:
          server:
            requests:true# 開啟響應時間分位數(shù)統(tǒng)計
  • 埋點統(tǒng)計 QPS(用 Micrometer 的MeterRegistry):
@RestController
@RequestMapping("/order")
publicclass OrderController {
    // 注入MeterRegistry
    privatefinal MeterRegistry meterRegistry;

    @Autowired
    public OrderController(MeterRegistry meterRegistry) {
        this.meterRegistry = meterRegistry;
    }

    @PostMapping("/create")
    public String createOrder() {
        // 統(tǒng)計/create接口的QPS:meterRegistry會自動按秒聚合
        Counter.builder("order.create.qps") // 指標名
                .description("訂單創(chuàng)建接口QPS") // 描述
                .register(meterRegistry)
                .increment(); // 計數(shù)器自增

        // 業(yè)務邏輯
        return"success";
    }
}
  • 配置 Prometheus 拉取指標(prometheus.yml):
scrape_configs:
  - job_name: 'order-service'
    scrape_interval: 1s # 每秒拉取一次(實時性高)
    static_configs:
      - targets: ['192.168.0.101:8080'] # 應用地址(暴露的actuator端口)
  • Grafana 配置圖表:

導入 Prometheus 數(shù)據(jù)源,寫 QPS 查詢語句:sum(rate(order_create_qps_total[1m])) by (application)(1 分鐘內(nèi)的平均 QPS);

配置告警:當 QPS>5000 時,發(fā)送郵件 / 釘釘告警。

踩坑經(jīng)驗:

  • 拉取間隔:scrape_interval不要設太小(如 < 100ms),會增加應用和 Prometheus 的壓力;
  • 指標命名:按 “業(yè)務 + 接口 + 指標類型” 命名(如order_create_qps),避免和其他指標沖突。
責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2025-10-21 02:00:00

2024-04-16 11:46:51

C#Redis數(shù)據(jù)庫

2015-07-27 10:24:01

蘋果中國

2020-12-04 10:11:26

Unsafejava并發(fā)包

2024-05-06 00:00:00

緩存高并發(fā)數(shù)據(jù)

2025-04-29 10:17:42

2024-04-01 08:05:27

Go開發(fā)Java

2017-07-17 15:46:20

Oracle并行機制

2025-10-16 08:10:59

2018-01-10 13:40:03

數(shù)據(jù)庫MySQL表設計

2019-12-12 14:32:26

SQL語句數(shù)據(jù)庫

2024-11-07 11:17:50

2025-06-27 08:34:19

2021-02-21 09:28:24

kafka系統(tǒng)并發(fā)量

2022-01-04 06:50:12

數(shù)據(jù)摘要方法

2025-11-06 02:55:00

2013-02-25 10:11:35

4GLTE商用網(wǎng)絡

2025-05-16 10:53:43

開發(fā)異步編程JavaScrip

2015-03-24 16:29:55

默認線程池java

2024-04-10 08:39:56

BigDecimal浮點數(shù)二進制
點贊
收藏

51CTO技術棧公眾號

色综合色狠狠综合色| 99re热视频精品| 久久国产精品久久久久久久久久| 在线观看网站黄| 999av小视频在线| 久久综合久久综合久久| 国产欧美一区二区三区久久人妖| 久久综合加勒比| 精品成人影院| 欧美成人乱码一区二区三区| 国产精品wwwww| fc2ppv国产精品久久| 26uuu国产一区二区三区| 国产精品偷伦免费视频观看的 | 99精品视频中文字幕| 国产精品电影在线观看| 国产一级片网址| 日韩在线观看| 亚洲精品网址在线观看| 欧美一级特黄aaa| www.日韩| 亚洲超碰精品一区二区| 色哟哟一区二区在线观看| 亚洲精品自拍第一页| 日韩在线不卡一区| 香蕉视频亚洲一级| 婷婷久久综合九色综合伊人色| 亚洲欧美影院| 欧美成人片在线| 国产不卡在线一区| 91免费看片网站| 精人妻无码一区二区三区| 国精品一区二区| 久久亚洲欧美日韩精品专区| 久久精品无码一区| 免费观看成人www动漫视频| 欧美狂野另类xxxxoooo| 日韩一级免费在线观看| www在线观看黄色| 一区二区三区av电影| 天天成人综合网| 草碰在线视频| 国产欧美日韩另类视频免费观看| 精品麻豆av| 亚洲免费国产视频| 国产一区二区三区免费在线观看| 国产精品国产亚洲伊人久久 | 亚洲日本久久久| 国产日韩中文在线中文字幕| 欧美片在线播放| 色戒在线免费观看| 亚瑟国产精品| 欧美日韩国产高清一区二区| 亚洲综合日韩欧美| 国产91在线播放精品| 欧美曰成人黄网| 日本激情综合网| 老司机精品视频网| 这里只有精品99re| 久久久久久久久久毛片| 亚洲精品三区| 日韩欧美电影在线| av免费观看不卡| 老司机在线精品视频| 亚洲精品v欧美精品v日韩精品| 亚洲精品激情视频| 蜜臀久久99精品久久一区二区| 亚洲欧美日韩一区二区三区在线| 免费毛片视频网站| 日韩国产一区| 欧美成人免费一级人片100| 精品无码人妻一区二区三区| 中文日韩欧美| 国产精品入口福利| www.日韩在线观看| av中文字幕不卡| 欧洲国产精品| 美女写真理伦片在线看| 一区二区免费在线播放| 亚洲不卡中文字幕无码| 亚洲一区资源| 欧美男男青年gay1069videost | 色婷婷av一区二区三区久久| 波多野结衣不卡视频| 国内久久精品| 日韩av日韩在线观看| 亚洲天堂免费av| 国产精品1区二区.| 免费看国产精品一二区视频| 日本福利在线| 亚洲国产精品久久久久秋霞影院| 亚洲美免无码中文字幕在线| 亚洲国产尤物| 欧美成人国产一区二区| 男生草女生视频| 亚洲高清影视| 国产精品pans私拍| www.国产黄色| 日本一区二区三区四区在线视频| 精品人妻人人做人人爽| 日本免费久久| 精品国产亚洲在线| 美女福利视频网| 在线亚洲欧美| 亚洲在线观看视频网站| 精品三级久久久久久久电影聊斋| 亚洲欧美日韩国产手机在线| 日日橹狠狠爱欧美超碰| 久久三级中文| 在线丨暗呦小u女国产精品| 久久午夜无码鲁丝片午夜精品| 视频一区二区三区中文字幕| eeuss一区二区三区| 国产黄色免费在线观看| 亚洲国产精品久久不卡毛片| 五月天视频在线观看| 一道在线中文一区二区三区| 久久99热这里只有精品国产| 性高潮视频在线观看| 99久久国产综合精品女不卡| 日本特级黄色大片| 成人在线免费| 国产亚洲精品成人av久久ww| 波多野结衣国产| 国产精品一区专区| 中文字幕在线观看一区二区三区| 韩国精品主播一区二区在线观看| 亚洲高清不卡av| 久草视频在线免费看| 久久机这里只有精品| 欧美下载看逼逼| 日本在线啊啊| 亚洲国产日韩欧美在线99| 日本aⅴ在线观看| 久久99久久精品欧美| 天堂va久久久噜噜噜久久va| av电影一区| 日韩精品视频在线免费观看| 亚洲一区二区91| 国产suv一区二区三区88区| 综合网五月天| 色综合一区二区日本韩国亚洲 | 免费黄色国产视频| 免费欧美日韩国产三级电影| 日本在线一区| av在线一区不卡| 中文字幕在线成人| 亚洲性在线观看| 中文字幕av一区 二区| 成人性视频欧美一区二区三区| 亚洲免费福利一区| 全球成人中文在线| 欧美精品a∨在线观看不卡| 欧美日韩中文字幕在线视频| 鲁大师私人影院在线观看| 国产日韩一区二区三区在线| 国产一区二区三区av在线| yellow字幕网在线| 亚洲色图av在线| 波多野结衣视频网址| 国产精品视频一二| 涩涩网站在线看| 综合久久综合| 成人在线免费网站| 久久影院午夜精品| 亚洲深夜福利网站| 一级黄色a毛片| 亚洲美腿欧美偷拍| 好男人香蕉影院| 午夜综合激情| 亚洲制服欧美久久| 国产视频网站一区二区三区| 久久久久久久久久久国产| 五月婷婷六月色| 欧美综合一区二区| 欧美人妻精品一区二区免费看| 成人午夜av在线| 国产一级片黄色| 国产精品99久久精品| 国产精品视频免费一区| 欧美大胆性生话| 久久久国产精品免费| 免费观看黄色av| 在线观看亚洲一区| 曰本女人与公拘交酡| 26uuu色噜噜精品一区| 色综合色综合色综合色综合| 欧美黄在线观看| 欧美日韩一区综合| 国产一区二区三区亚洲综合| 69精品小视频| 黄色免费网站在线| 日韩大陆欧美高清视频区| 这里只有精品国产| 亚洲风情在线资源站| 91麻豆精品国产91久久综合| 国产成人免费xxxxxxxx| 免费日韩视频在线观看| 午夜久久美女| 日韩av在线电影观看| 日韩在线精品强乱中文字幕| 国产精品高潮在线| 草草在线视频| 久久久精品久久| 青青操在线视频| 日韩午夜在线播放| 在线免费观看av片| 欧美视频一二三| 欧美日韩在线观看成人| 国产午夜亚洲精品理论片色戒| av影片在线播放| 日本sm残虐另类| 97超碰青青草| 欧美视频在线观看| 一本一道久久a久久综合精品| 色橹橹欧美在线观看视频高清| 91在线国产电影| 久久久久久久性潮| 国产suv精品一区二区三区88区| 国产白丝在线观看| 久久久精品亚洲| 91大神xh98hx在线播放| 亚洲老司机av| 欧美视频久久久| 日韩欧美aaaaaa| 亚洲一区 中文字幕| 色天天综合久久久久综合片| 国产欧美日韩另类| 亚洲高清在线精品| xxxx 国产| 亚洲综合免费观看高清完整版 | 国产主播在线一区| 成人免费在线观看视频| 国产精品xxxxx| 影视一区二区三区| 国产精品久久久久免费a∨大胸| 麻豆视频在线看| 68精品国产免费久久久久久婷婷 | 一级日本不卡的影视| 亚洲 欧美 变态 另类 综合| 国产精品视频第一区| 婷婷综合在线视频| 国产精品无人区| 人妻无码一区二区三区免费| 国产精品另类一区| 日本黄区免费视频观看| 国产精品嫩草久久久久| 亚洲精品成人av久久| 国产精品卡一卡二卡三| 亚洲图片第一页| 国产精品久久久久天堂| 超碰人人人人人人人| 国产精品久久久久久久久免费相片 | 26uuu欧美| 久久久久久久久久久国产精品| 久久久久久99久久久精品网站| 中文字幕一区二区人妻在线不卡| 91色porny蝌蚪| 色欲狠狠躁天天躁无码中文字幕| 中文字幕免费观看一区| 影音先锋男人资源在线观看| 亚洲欧美另类综合偷拍| 国产亚洲精品久久久久久无几年桃| 亚洲国产精品麻豆| 天天干天天操天天爱| 欧美午夜一区二区| 国产情侣自拍小视频| 欧美成人官网二区| 青青操视频在线| 日韩亚洲国产中文字幕| gogo在线观看| 45www国产精品网站| 成人性片免费| 91视频99| 国产剧情一区| 国产盗摄视频在线观看| 亚洲高清电影| 人人干人人视频| 国产乱一区二区| 国产又黄又粗又猛又爽的视频| 国产欧美日韩精品一区| 亚洲xxxx3d动漫| 福利视频第一区| 一区二区小视频| 欧美精品一区二区三区一线天视频| 日韩欧美亚洲系列| 久久精品久久精品亚洲人| av成人福利| 国产精品亚洲片夜色在线| 日韩在线成人| 日韩av电影免费在线观看| 国产精品videossex久久发布| 国产男女激情视频| 国产精品1区2区| 卡一卡二卡三在线观看| 亚洲最大色网站| 夜夜躁狠狠躁日日躁av| 日韩av在线免播放器| 蜜桃视频在线观看www社区| 欧美亚洲成人免费| 国产一区二区三区免费在线| 欧美日韩国产综合在线| 欧美精品观看| 视色视频在线观看| 91在线视频播放地址| 婷婷久久综合网| 在线精品视频小说1| 开心激情综合网| 精品国产一区二区三区久久狼5月| av老司机在线观看| 97netav| 欧美激情黄色片| 成年人免费大片| jizz一区二区| 波多野结衣不卡视频| 欧美视频一二三区| 天堂中文在线8| 欧美精品精品精品精品免费| 久久亚洲精品中文字幕| 欧美日韩一区在线播放| 一本一道久久综合狠狠老精东影业| 肉色超薄丝袜脚交| 国产欧美综合在线观看第十页| 日本污视频在线观看| 日韩你懂的电影在线观看| 77777影视视频在线观看| 日本欧美在线视频| 美女少妇全过程你懂的久久| 无码人妻丰满熟妇区96| 粉嫩aⅴ一区二区三区四区五区| 欧美一区免费观看| 欧美人狂配大交3d怪物一区| 成人动漫在线免费观看| 青青草精品毛片| 蜜乳av综合| 91av俱乐部| 久久精品免费在线观看| 国产成人在线视频观看| 亚洲国产欧美一区二区丝袜黑人 | 四虎永久在线精品免费网址| 欧美日韩福利视频| 精品久久亚洲| 成人短视频在线观看免费| 国产精品影音先锋| 青青草国产在线观看| 欧美一级片免费看| 91麻豆一二三四在线| 成人在线免费观看一区| 精品999成人| 极品白嫩的小少妇| 香港成人在线视频| 十九岁完整版在线观看好看云免费| 2019中文字幕免费视频| 色婷婷av一区二区三区丝袜美腿| 激情五月开心婷婷| 国产亚洲成av人在线观看导航| 国产午夜无码视频在线观看| 亚洲网站在线播放| 四虎精品一区二区免费| 成人在线观看www| 国产sm精品调教视频网站| 亚洲精品视频在线观看免费视频| 亚洲精品一区二三区不卡| 99re66热这里只有精品4| 亚洲国产精品视频一区| 国产一区免费电影| 欧美日韩中文视频| 亚洲精品自产拍| 亚洲精品777| 精品久久久无码人妻字幂| 9久草视频在线视频精品| 天天操夜夜操视频| 久久久国产精品免费| 五月激情婷婷综合| 青青草原一区二区| 青青草成人影院| 下面一进一出好爽视频| 亚洲成人高清在线| 黄色大片在线看| 成人春色激情网| 亚洲国产精品一区制服丝袜| 91网站免费入口| 日韩视频一区二区三区 | 国产精品久久毛片a| 国产99久一区二区三区a片 | 日韩精品一区二区三区| 亚洲一区二区三区乱码| 国产成人免费在线| 日韩精品一区不卡| 欧美黄色免费网站| 欧美日韩爱爱| 九色91porny| 在线视频欧美精品| 不卡的av影片| 亚洲午夜精品一区二区 | 国产精品一级久久久| 青娱乐精品视频| 日韩久久久久久久久| 日韩中文字幕国产| 全国精品免费看|