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

讓 SpringBoot 飛起來!15條性能優(yōu)化秘籍,輕松應對百萬并發(fā)!

開發(fā) 前端
在正式進行性能優(yōu)化之前,必須先“看得到”系統(tǒng)運行狀況:緩存命中率、數(shù)據(jù)庫連接池使用情況、響應時長分布、CPU/內(nèi)存消耗、垃圾回收停頓等。只有掌握真實數(shù)據(jù),才能有針對性地優(yōu)化;盲目調(diào)整往往事倍功半,甚至適得其反。

引言

為何提前暴露指標與分析的重要性

在正式進行性能優(yōu)化之前,必須先“看得到”系統(tǒng)運行狀況:緩存命中率、數(shù)據(jù)庫連接池使用情況、響應時長分布、CPU/內(nèi)存消耗、垃圾回收停頓等。只有掌握真實數(shù)據(jù),才能有針對性地優(yōu)化;盲目調(diào)整往往事倍功半,甚至適得其反。

指標暴露與監(jiān)控接入

Prometheus 集成

1.Maven 依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

2.application.properties/application.yml 配置

management.endpoint.metrics.enabled=true
management.endpoint.prometheus.enabled=true
management.endpoints.web.exposure.include=health,info,prometheus,metrics
management.metrics.export.prometheus.enabled=true
management.endpoint.health.show-details=always
# 可根據(jù)需要開放其他端點,如 httptrace、threaddump

3.啟動與訪問

啟動后,訪問 http://<host>:<port>/actuator/prometheus 可看到所有默認與自定義指標。

配置 Prometheus server 抓取該 endpoint,例如在 prometheus.yml:

scrape_configs:
  - job_name: 'springboot-app'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['app-host:port']

4.自定義業(yè)務指標示例

@RestController
publicclassTestController{
    privatefinal MeterRegistry registry;
    publicTestController(MeterRegistry registry){
        this.registry = registry;
    }
    @GetMapping("/test")
    public String test(){
        registry.counter("app_test_invocations", "from", "127.0.0.1", "method", "test").increment();
        return"ok";
    }
}

在 Prometheus 中可見指標如 app_test_invocations_total{from="127.0.0.1",method="test"} 5.0

圖片圖片

對于緩存命中率,可在緩存攔截或 CacheManager 事件中注冊 Counter/Gauge,例如:

Cache<Object, Object> cache = ...; // 若使用 Caffeine,可 attach 監(jiān)聽
// 當命中時 registry.counter("cache_hit", "cache", "myCache").increment();
// 當未命中時 registry.counter("cache_miss", "cache", "myCache").increment();

5.Grafana 可視化與 AlertManager

在 Grafana 中配置 Prometheus 數(shù)據(jù)源,創(chuàng)建 Dashboard 展示:

  • JVM 內(nèi)存、GC 停頓、線程數(shù)
  • HTTP 請求速率、延遲分布(可借助 Histogram/Summary
  • 緩存命中率:hit/(hit+miss)
  • 數(shù)據(jù)庫連接池使用率:活躍連接數(shù) vs 最大連接數(shù)

AlertManager 配置告警規(guī)則,例如:

  • 95% 延遲超過閾值
  • GC 停頓時長過長
  • 連接池耗盡告警

此部分可參考 Prometheus 與 Grafana 官方文檔,自行搭建實驗環(huán)境。

圖片圖片

性能剖析工具:火焰圖與 async-profiler

async-profiler 下載與使用

1.從 GitHub 下載 async-profiler release 包,解壓至服務器目錄,如 /opt/async-profiler。關(guān)注公眾號:碼猿技術(shù)專欄,回復關(guān)鍵詞:1111 獲取阿里內(nèi)部Java性能調(diào)優(yōu)手冊!

2.啟動 SpringBoot 應用時,添加 javaagent 參數(shù):

java -agentpath:/opt/async-profiler/build/libasyncProfiler.so=start,svg,file=profile.svg -jar your-app.jar

3.運行一段業(yè)務場景(壓測或真實流量),然后停止進程或通過 async-profiler 提供的 CLI 停止采樣:

# 若不想重啟,可 attach 模式:
./profiler.sh -d 30 -f profile.svg <pid>

4.查看生成的 profile.svg,用瀏覽器打開:

圖片圖片

  • 橫軸表示消耗的采樣比例,寬度越大表示更耗時的方法。
  • 縱向為調(diào)用棧層級。
  • 從最寬處逐層向下分析,找到熱點方法,結(jié)合源代碼定位優(yōu)化點。

結(jié)合 Flame 圖優(yōu)化示例

  • 若熱點在某個慢方法,可查看方法內(nèi)部邏輯:是否存在不必要的循環(huán)、I/O 阻塞,或可并行優(yōu)化。
  • 若熱點在序列化/反序列化,可考慮更高效的庫或減小返回對象結(jié)構(gòu)。
  • 若大量時間在 GC,可結(jié)合 GC 日志分析堆配置是否合理。

HTTP 及 Web 層優(yōu)化

圖片圖片

CDN 與靜態(tài)資源加速

  • 將常用靜態(tài)資源(JS、CSS、圖片)托管于 CDN,減輕后端壓力;用戶訪問時由地理就近節(jié)點提供。
  • 對第三方庫可使用公共 CDN;自有資源可上傳到 CDN 或靜態(tài)文件服務器。

Cache-Control/Expires 在 Nginx 中配置示例

location ~* \.(ico|gif|jpg|jpeg|png|css|js)$ {
    add_header Cache-Control "max-age=31536000, immutable";
}

根據(jù)資源更新策略設置版本號或文件指紋,保證緩存命中又可及時更新。

減少域名數(shù)量

  • 將靜態(tài)資源和 API 接口合理合并域名;避免過多不同子域?qū)е?DNS 查詢延遲。
  • 可啟用 HTTP/2 時,多路復用可減少域名依賴,但 HTTP/2 支持需服務器和客戶端皆啟用。

Gzip 及資源壓縮配置

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_types text/plain application/javascript text/css application/json;
  • 確保對動態(tài) JSON 接口開啟 gzip,減小響應體體積。
  • 對大型靜態(tài)文件可在構(gòu)建時先行壓縮(如 Brotli),結(jié)合 Nginx 支持。

Keep-Alive 配置

客戶端與 Nginx:

http {
    keepalive_timeout  60s 60s;
    keepalive_requests 10000;
}

Nginx 與 SpringBoot 后端長連接:

location / {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
}

SpringBoot/Tomcat 默認支持 Keep-Alive;可通過自定義 Connector 調(diào)整超時。

SpringBoot 容器調(diào)優(yōu)

自定義嵌入式 Tomcat

如果項目并發(fā)量比較高,想要修改最大線程數(shù)、最大連接數(shù)等配置信息,可以通過自定義Web 容器的方式,代碼如下所示。

@SpringBootApplication(proxyBeanMethods = false)
publicclassAppimplementsWebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
    publicstaticvoidmain(String[] args){
        SpringApplication.run(App.class, args);
    }
    @Override
    publicvoidcustomize(ConfigurableServletWebServerFactory factory){
        if (factory instanceof TomcatServletWebServerFactory) {
            TomcatServletWebServerFactory f = (TomcatServletWebServerFactory) factory;
            f.setProtocol("org.apache.coyote.http11.Http11Nio2Protocol");
            f.addConnectorCustomizers(c -> {
                Http11NioProtocol protocol = (Http11NioProtocol) c.getProtocolHandler();
                protocol.setMaxConnections(200);
                protocol.setMaxThreads(200);
                protocol.setConnectionTimeout(30000);
                // protocol.setSelectorTimeout(3000); // NIO2 可選項
            });
        }
    }
}

設置協(xié)議為 NIO2 可在高并發(fā) I/O 場景下提升性能;需基準測試驗證。

setMaxThreads 和 setMaxConnections 值根據(jù)服務器硬件資源與業(yè)務并發(fā)調(diào)整,可在壓測環(huán)境多次嘗試并觀察響應延遲、CPU 利用率、線程使用情況。

圖片圖片

替換 Undertow

在 pom.xml 中排除 Tomcat 并引入 Undertow:

<dependency>
  <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
  • Undertow 線程模型和資源占用一般較輕;需要在業(yè)務場景中壓測對比。
  • 注意部分 Tomcat 特有配置不適用,需調(diào)整監(jiān)控指標對應項。

JVM 參數(shù)回顧

結(jié)合性能優(yōu)化 - 高級進階:JVM 常見優(yōu)化參數(shù),可啟動時傳入:

-XX:+UseG1GC -Xms2048m -Xmx2048m -XX:+AlwaysPreTouch -XX:MaxMetaspaceSize=256m -XX:ReservedCodeCacheSize=240m -XX:MaxDirectMemorySize=512m
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dumps -XX:ErrorFile=/path/to/hs_err_pid%p.log
-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=5,filesize=100m

根據(jù)硬件和應用特點調(diào)整堆大小;若GC停頓問題突出,可結(jié)合 async-profiler 和 GC 日志深入分析。

應用性能監(jiān)控與分布式追蹤

SkyWalking 集成

圖片圖片

1.下載與部署

  • 下載 SkyWalking Agent 和后端服務(按存儲類型,如 Elasticsearch 存儲版)。
  • 部署 SkyWalking 后端:配置 Storage、UI、Collector。

2.啟動應用時添加 Agent

java -javaagent:/opt/skywalking-agent/skywalking-agent.jar \
     -Dskywalking.agent.service_name=your-service-name \
     -Dskywalking.collector.backend_service=collector-host:11800 \
     -jar your-app.jar

3.查看調(diào)用鏈與指標

  • 訪問 SkyWalking UI,可看到每次請求的調(diào)用鏈圖、各段耗時、數(shù)據(jù)庫/HTTP 調(diào)用詳情、JVM 指標、GC 指標。
  • 結(jié)合 Prometheus 等指標,綜合判斷:若某接口響應慢,可查看是哪一段(查詢、序列化、遠程調(diào)用等)成為瓶頸。

4.報警與自動化

  • 可結(jié)合 SkyWalking 的告警和 Prometheus AlertManager 設置閾值告警。
  • 定期分析熱點接口和突發(fā)異常請求流,制定優(yōu)化計劃。

各層優(yōu)化思路

Controller 層

  • DTO 精簡與分頁: 避免一次性返回過大結(jié)果集;對列表數(shù)據(jù)使用分頁或流式方式(如 Spring MVC StreamingResponseBody)。
  • JSON 序列化優(yōu)化: 選擇高性能序列化庫(Jackson 已較快,可開啟 Afterburner 模塊),避免將不必要字段序列化。
  • 輸入校驗與限流: 對異?;驉阂庹埱筇崆皵r截,減少無效處理。
  • 冪等性與緩存: 對可緩存接口,如 GET 查詢,結(jié)合 HTTP 緩存頭或后端緩存減少重復計算。

Service 層

  • 無狀態(tài)設計:Service Bean 默認單例無狀態(tài),避免在 Bean 中維護請求級狀態(tài)。
  • 合理拆分與職責分離: 將復雜邏輯拆成小模塊,便于監(jiān)控與優(yōu)化。
  • 異步與并行: 對于可并行處理的子任務,可使用 CompletableFuture、異步消息隊列等;但要注意線程池配置與上下文傳遞。
  • 緩存策略:

本地緩存(Caffeine): 低延遲、減輕遠程調(diào)用壓力;監(jiān)控命中率,避免緩存污染。

分布式緩存(Redis): 適用于共享場景;注意 TTL 策略、防止緩存穿透(布隆過濾、請求預熱)、防止雪崩(加隨機過期)、防止擊穿(互斥鎖或預加載)。

  • 避免重復計算與請求合并: 對重復請求可合并或去重,減少下游壓力。
  • 分布式事務討論:

兩階段提交、TCC、本地消息表、MQ事務消息等方案都會增加延遲與資源占用;僅在必要場景使用。

圖片圖片

優(yōu)先考慮補償事務與柔性事務,實現(xiàn)最終一致性;通過冪等設計與補償邏輯將風險和性能開銷控制在可接受范圍內(nèi)。

圖片圖片

如上圖,分布式事務要在改造成本、性能、時效等方面進行綜合考慮。有一個介于分布式事務和非事務之間的名詞,叫作柔性事務。柔性事務的理念是將業(yè)務邏輯和互斥操作,從資源層上移至業(yè)務層面。

傳統(tǒng)事務 vs 柔性事務

關(guān)于傳統(tǒng)事務和柔性事務,我們來簡單比較一下。

ACID

關(guān)系數(shù)據(jù)庫,最大的特點就是事務處理,即滿足 ACID。

  • 原子性(Atomicity): 事務中的操作要么都做,要么都不做。
  • 一致性(Consistency): 系統(tǒng)必須始終處在強一致狀態(tài)下。
  • 隔離性(Isolation): 一個事務的執(zhí)行不能被其他事務所干擾。
  • 持久性(Durability): 一個已提交的事務對數(shù)據(jù)庫中數(shù)據(jù)的改變是永久性的。
BASE

BASE 方法通過犧牲一致性和孤立性來提高可用性和系統(tǒng)性能。

BASE 為 Basically Available、Soft-state、Eventually consistent 三者的縮寫,其中 BASE 分別代表:

  • 基本可用(Basically Available): 系統(tǒng)能夠基本運行、一直提供服務。
  • 軟狀態(tài)(Soft-state): 系統(tǒng)不要求一直保持強一致狀態(tài)。
  • 最終一致性(Eventual consistency): 系統(tǒng)需要在某一時刻后達到一致性要求。

互聯(lián)網(wǎng)業(yè)務,推薦使用補償事務,完成最終一致性。比如,通過一系列的定時任務,完成對數(shù)據(jù)的修復。

DAO 層

ORM 使用注意:

  • 懶加載原則: 避免無意觸發(fā)大量關(guān)聯(lián)查詢,合理使用 FetchType.LAZY,并在Service層通過顯式查詢或 DTO 投影避免 N+1。
  • 批量操作: 對于大量寫場景,使用批量插入/更新。

SQL 優(yōu)化與索引: 分析慢查詢?nèi)罩尽⑹褂?nbsp;EXPLAIN 確認索引命中,避免全表掃描。

分庫分表注意: 理解中間件實現(xiàn)原理,避免誤以為簡單 SQL 實現(xiàn)即高效;關(guān)注路由開銷與合并成本。

數(shù)據(jù)庫連接池:

  • HikariCP 默認已非常高效,但仍需監(jiān)控活躍連接數(shù)、等待時長;根據(jù)業(yè)務并發(fā)調(diào)整最大連接數(shù),避免連接池耗盡或空閑過多浪費資源。
  • 在 Prometheus 中可通過 HikariPool 指標收集連接使用情況,適時調(diào)整。

緩存優(yōu)化

Caffeine: 適合本地緩存,低延遲;需監(jiān)控緩存大小、命中率、加載延遲;避免過大導致內(nèi)存占用過高。

Redis:

  • 連接池配置: 監(jiān)控和調(diào)整 Lettuce/Redisson 連接數(shù);注意阻塞或過度并發(fā)導致連接耗盡。
  • 數(shù)據(jù)序列化: 選擇高效序列化方式(如 JSON、Kryo、FST 等),兼顧可讀性與性能。
  • 緩存策略: 參見上文防護策略;結(jié)合業(yè)務場景設計合理 TTL。

二級緩存: 對數(shù)據(jù)庫讀密集應用,可考慮本地+分布式二級緩存架構(gòu);注意緩存一致性。

資源與線程管理

線程池配置:

  • 對于異步任務、自定義 Executor,設置合適的 core/max pool size、queue size;監(jiān)控線程活躍度、隊列長度,防止任務堆積。
  • 對于定時任務,避免過多定時線程爭搶資源。

非阻塞與異步:

  • 若業(yè)務適合,可使用 WebFlux 或 Reactor,但需慎重考慮團隊熟悉度與實際場景;異步場景要注意線程切換開銷和上下文傳遞。
  • 對外 HTTP 調(diào)用可使用異步 HTTP 客戶端(如 WebClient),避免阻塞線程。

端到端測試與壓測

  • 壓測工具: wrk、JMeter、Locust 等
  • 測前準備: 確保監(jiān)控、日志、profiling 準備完畢;在測試環(huán)境部署與生產(chǎn)相近的架構(gòu)。
  • 測試腳本設計: 模擬真實業(yè)務流量,包括登錄、查詢、寫入等混合場景。
  • 結(jié)果分析: 結(jié)合 Prometheus/Grafana 監(jiān)控數(shù)據(jù)和火焰圖,找出瓶頸;反復調(diào)優(yōu)并回歸測試,評估改動效果。
  • 負載模型: 考慮漸增負載測試、穩(wěn)定性測試、持久壓力測試,觀察資源消耗與響應曲線。

小結(jié)

  • 指標采集—剖析—優(yōu)化—驗證是閉環(huán)流程: 始終保持對系統(tǒng)可觀測性。
  • 漸進式改動: 在非生產(chǎn)環(huán)境驗證,避免一次性大改帶來風險;生產(chǎn)環(huán)境小步部署與監(jiān)控回滾準備。
  • CI/CD 集成: 可在持續(xù)集成/部署流程中集成簡單的健康檢查和性能基準測試。
  • 定期回顧: 定時檢查關(guān)鍵接口的性能指標,防止代碼或依賴升級帶來性能回退。
  • 團隊協(xié)作: 文檔化優(yōu)化經(jīng)驗,分享給團隊成員,形成共識和規(guī)范。
責任編輯:武曉燕 來源: 碼猿技術(shù)專欄
相關(guān)推薦

2025-01-17 09:23:31

2024-06-12 12:28:23

2023-11-10 18:03:04

業(yè)務場景SQL

2019-03-25 08:05:35

Elasticsear優(yōu)化集群

2024-11-27 09:46:34

2020-09-29 07:54:05

Express 飛起

2011-04-13 10:51:58

MATLAB

2025-05-22 08:04:43

2019-11-05 10:35:57

SpringBoot調(diào)優(yōu)Java

2025-06-04 01:35:00

RocketMQ異步消息

2021-07-13 07:52:03

SQL面試COUNT(*)

2025-08-15 07:36:48

彈幕系統(tǒng)Spring

2013-01-07 09:34:43

CodeLoveBAT

2011-02-25 08:39:11

QFabric數(shù)據(jù)中心Juniper

2025-09-02 01:35:00

JavaAIMIP

2011-05-20 11:12:01

數(shù)據(jù)庫DB2優(yōu)化

2025-10-15 07:51:20

2016-01-19 17:03:59

數(shù)據(jù)中心網(wǎng)絡華為

2025-04-15 00:00:00

2025-03-28 03:20:00

MySQL數(shù)據(jù)庫搜索
點贊
收藏

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

91精品人妻一区二区三区蜜桃欧美| 先锋影音男人资源| 这里只有久久精品视频| 成人国产精品一级毛片视频| 宅男噜噜噜66一区二区66| japanese在线播放| 国际av在线| 国产福利一区在线| 国产极品精品在线观看| 九九视频免费观看| 成人91在线| 亚洲国产精品久久精品怡红院| 日本美女高潮视频| 91豆花视频在线播放| 国产精品乱人伦| 极品校花啪啪激情久久| 97人妻一区二区精品免费视频| 国产精品亚洲综合色区韩国| 久久精品视频一| 免费毛片视频网站| 999久久久精品一区二区| 欧美性生活影院| 777精品久无码人妻蜜桃| 黄色网在线免费看| 国产精品女主播在线观看| 国内一区二区三区在线视频| 国产wwwxxx| 免费看欧美女人艹b| 欧美性在线观看| 青娱乐免费在线视频| 全球成人免费直播| 亚洲人成网站在线播| 岛国av免费观看| 欧美不卡在线观看| 欧美美女喷水视频| 日韩av一二三四区| 2001个疯子在线观看| 亚洲视频在线一区观看| 亚洲高清在线播放| 国产视频网站在线| 久久网站最新地址| 国内精品二区| 亚洲 小说区 图片区 都市| 国产另类ts人妖一区二区| 久久久久一区二区三区四区| 欧洲精品中文字幕| 欧美三级一级片| 草草在线视频| 亚洲不卡一区二区三区| 国产内射老熟女aaaa| 国产在线激情视频| 综合电影一区二区三区| 天天成人综合网| 黄色精品免费看| 综合中文字幕亚洲| 国产又粗又大又爽的视频| 成人在线观看免费网站| 亚洲欧美在线视频观看| 中文字幕人成一区| 成人av福利| 亚洲在线中文字幕| 国产av人人夜夜澡人人爽麻豆| 蜜臀av国内免费精品久久久夜夜| 亚洲亚洲人成综合网络| 国产综合中文字幕| 97成人资源| 欧美视频三区在线播放| 最新国产黄色网址| 日韩欧洲国产| 亚洲电影免费观看高清完整版在线| www.四虎精品| 人人香蕉久久| 一区二区欧美激情| 久热这里有精品| 精品不卡视频| 欧美最猛性xxxx| 中文字幕欧美人妻精品| 韩国毛片一区二区三区| 国产欧美日韩视频一区二区三区| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 亚洲人成77777| 国产剧情在线| 亚洲aaa精品| 男人的天堂日韩| www一区二区三区| 精品第一国产综合精品aⅴ| 中文字幕av观看| 99久久久久| 97av在线影院| 一级日韩一级欧美| 粉嫩绯色av一区二区在线观看 | 国产精品白嫩美女在线观看| 国产一区二区三区成人| 国产成a人亚洲| 欧美日韩国产免费一区二区三区| 免费看美女视频在线网站| 亚洲午夜久久久久久久久电影院 | 欧美一级欧美一级| 91精品影视| 精品国产免费一区二区三区香蕉| 一级片视频免费看| 欧美视频四区| 国产精品久在线观看| 性一交一乱一乱一视频| 日本一区二区三区视频视频| 青草青青在线视频| 欧美啪啪网站| 精品呦交小u女在线| 午夜国产福利一区二区| 久久久久久黄| 国产伦精品一区二区三区四区视频 | 97青娱国产盛宴精品视频| 亚洲男人天堂2023| 国产一二三四在线| 精品一区二区三区久久| 蜜桃欧美视频| 黄色美女视频在线观看| 欧美日本在线观看| 久久成人激情视频| 国产一区二区高清| av激情久久| 黄色一级大片在线免费看产| 欧洲色大大久久| aaaaa一级片| 国产日韩欧美| 国产高清一区视频| 在线中文字幕电影| 欧美日产国产精品| wwwww黄色| 日韩中文字幕一区二区三区| 精品亚洲一区二区三区四区五区高| 9191在线播放| 日韩欧美在线观看一区二区三区| 欧美福利第一页| 老**午夜毛片一区二区三区| 精品久久久久亚洲| 9999精品成人免费毛片在线看| 日韩一级片网站| 色老板免费视频| 久久66热re国产| 亚洲一卡二卡| 九九久久国产| 中文字幕日韩免费视频| 这里只有精品999| 国产亚洲综合av| 免费激情视频在线观看| 精品视频国产| 国产噜噜噜噜久久久久久久久| www.视频在线.com| 欧美探花视频资源| 国产乱子轮xxx农村| 久草热8精品视频在线观看| 一本一道久久a久久精品综合| 国产精品99精品一区二区三区∴| 中文字幕亚洲综合久久| 亚洲一区二区视频在线播放| 中文字幕一区二区视频| 国产在线观看中文字幕| 自拍偷拍欧美| 国产精品推荐精品| 中文字幕人成乱码在线观看| 精品视频久久久久久久| 国内av在线播放| 伊人免费在线| 日韩欧美aⅴ综合网站发布| 受虐m奴xxx在线观看| 日韩成人av影视| 亚洲一二三区精品| 一区二区在线免费播放| 午夜精品久久久久久久久久久久| 亚洲人妻一区二区三区| 在线这里只有精品| 很污很黄的网站| 国产91丝袜在线18| 欧美 国产 综合| 欧美日韩国产免费观看视频| 国产精品一区久久| 免费在线中文字幕| 国产午夜精品理论片a级探花| 中文字幕+乱码+中文| 亚洲日本在线天堂| 久久久久亚洲AV成人无码国产| 欧美专区在线| 精品日韩在线播放| 日韩欧美四区| 91精品视频网站| 国产精选在线| 色播久久人人爽人人爽人人片视av| 99热这里只有精品1| 欧美午夜电影在线| 搜索黄色一级片| 91久色porny| 伊人国产在线视频| 在线一区欧美| 免费在线精品视频| 蜜桃tv一区二区三区| 91色中文字幕| 韩国成人漫画| 欧美夫妻性生活xx| 99青草视频在线播放视| 欧美成人性福生活免费看| 亚洲欧美日韩一区二区三区四区| 亚洲乱码精品一二三四区日韩在线| 国产一级黄色录像| 精品在线观看视频| 日本wwww视频| 国产在线不卡| 中文字幕一区二区三区乱码| 午夜先锋成人动漫在线| 96国产粉嫩美女| www.一区| 日本sm极度另类视频| 日本欧美电影在线观看| 日韩小视频在线观看| 经典三级在线| 亚洲韩国欧洲国产日产av| 国产乱色精品成人免费视频 | 激情五月六月婷婷| 91九色在线porn| 亚洲精品色婷婷福利天堂| 国产成人久久精品77777综合| 日本乱码高清不卡字幕| 日韩 欧美 精品| 一区二区三区美女视频| 欧美性生给视频| 国产欧美一区二区三区鸳鸯浴 | 97超碰色婷婷| 青青草原国产在线| 久久精品国产精品| 日本三级在线视频| 中文字幕精品—区二区| 日韩av资源站| 日韩精品视频在线| 图片区 小说区 区 亚洲五月| 精品福利在线导航| 精品国产乱码一区二区三 | 日韩av成人网| 国内精品国产成人| 91日韩精品视频| 精品一区二区三区免费观看| 成年人三级黄色片| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩在线观看不卡| 日本在线不卡视频| 无码少妇一区二区三区芒果| 日韩不卡手机在线v区| 玩弄japan白嫩少妇hd| 丝袜美腿亚洲综合| av五月天在线| 久久精品国产成人一区二区三区| 在线观看高清免费视频| 久久综合综合久久综合| www.久久av.com| 狠狠网亚洲精品| 午夜大片在线观看| 成人在线一区二区三区| 喷水视频在线观看| 久久久久久日产精品| 久久久久久久毛片| 国产精品黄色在线观看| 看免费黄色录像| 亚洲国产成人精品视频| 日本在线播放视频| 欧美性xxxxx极品少妇| 国产又粗又猛又色又| 日韩欧美你懂的| 婷婷国产在线| 色哟哟入口国产精品| 污视频免费在线观看| 97久久精品视频| 成人黄色免费网站| 亚洲一区二区三区四区在线播放 | 精品在线播放视频| 久久久999| 久久精视频免费在线久久完整在线看| 成人av一区| 欧美久久精品一级黑人c片| 99riav视频在线观看| 日韩av高清不卡| 国产视频一区二| 精品一区二区视频| 日韩久久精品| 欧日韩免费视频| 美腿丝袜一区二区三区| 在线观看一区二区三区视频| 2023国产精品视频| 成人在线观看小视频| 亚洲成a人片综合在线| 超碰在线免费97| 精品毛片乱码1区2区3区| 黄色软件在线| 久久久久久久成人| 91欧美精品| 韩日午夜在线资源一区二区| 久久免费精品视频在这里| 欧美国产日韩激情| 久久精品国产精品青草| 久久午夜夜伦鲁鲁片| 亚洲天堂中文字幕| 9i看片成人免费看片| 欧美一区二区三区免费视频| 五月激情丁香婷婷| 久久久久999| 先锋欧美三级| 极品日韩久久| 欧美日本精品| 艹b视频在线观看| 97se亚洲国产综合自在线| 懂色av懂色av粉嫩av| 欧美在线三级电影| 天天操天天操天天操| 久久的精品视频| 福利精品一区| 欧美日韩在线播放一区二区| 伊人久久婷婷| 性一交一黄一片| 一区免费观看视频| 中文字幕二区三区| 日韩经典第一页| 动漫一区二区| 999热视频在线观看| 欧美残忍xxxx极端| 99视频在线视频| 国产午夜精品理论片a级大结局| 国产午夜在线播放| 欧美精品一区二区不卡 | 亚洲人精品午夜| 伊人网av在线| 中文字幕精品www乱入免费视频| 丝袜美腿一区| 欧美精品一区二区三区在线四季 | 免费在线一区观看| 伊人影院综合在线| 亚洲国产高清在线观看视频| 在线观看日韩中文字幕| 亚洲国产一区自拍| 日本不良网站在线观看| 国产精品一区二区不卡视频| 欧美精选一区| 波多野吉衣在线视频| 亚洲激情五月婷婷| 亚洲卡一卡二卡三| 久久久噜噜噜久久中文字免| 91免费精品国偷自产在线在线| 日本福利视频网站| 福利一区二区在线| 久久久久黄色片| 亚洲国产精品小视频| caoporn视频在线观看| julia一区二区中文久久94| 亚洲视频精品| 中文字幕乱码一区| 欧美性猛交xxxx免费看久久久| 男女视频在线观看| 国产日韩av高清| 一区二区三区中文| 亚洲黄色小说在线观看| 亚洲国产欧美在线| 日本一二三区在线视频| 国产精品99免视看9| 99久久精品网| av av在线| 色婷婷av一区| 一区二区高清不卡| 99国产超薄肉色丝袜交足的后果| 狠狠爱综合网| 无码熟妇人妻av| 欧美日韩精品欧美日韩精品| 污影院在线观看| 欧美日韩国产精品一区二区| 久久国产剧场电影| 亚洲国产精品免费在线观看| 亚洲国产精品999| 主播大秀视频在线观看一区二区| 老司机av福利| 成av人片一区二区| 国产三级理论片| 欧美二区乱c黑人| 99久久婷婷国产综合| 色综合久久88色综合天天6| av黄色在线观看| y111111国产精品久久婷婷| 欧美综合国产| 国产真实乱在线更新| 日韩精品免费一线在线观看| 四虎国产精品成人免费影视| 成人精品视频在线播放| 国产日韩成人精品| www.av在线.com| 国产不卡在线观看| 欧美日韩一区二区高清| 欧美 日韩 国产 成人 在线观看| 制服丝袜av成人在线看| 亚洲美女久久精品| www.99riav| 日本一区二区三区免费乱视频| 高清乱码毛片入口| 国产乱肥老妇国产一区二| 国产九九精品| 四虎永久免费在线|