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

秒殺系統(tǒng)突發(fā)OOM,如何十分鐘內(nèi)定位問題?

開發(fā) 前端
每一次秒殺系統(tǒng)的 OOM 背后,都是海量流量與系統(tǒng)極限的生死博弈。掌握快速定位技巧,是架構(gòu)師在流量洪峰中的護(hù)身符。

一、生死時速:OOM 爆發(fā)!黃金 10 分鐘計時開始(0-1 分鐘)

1. 告警轟鳴,確認(rèn)戰(zhàn)場

? 監(jiān)控系統(tǒng)(如 Prometheus + Grafana + AlertManager) 發(fā)出 JVM 內(nèi)存使用率(特別是 Old Gen/Perm/Metaspace)持續(xù)超閾值、Full GC 頻繁但效果甚微的尖銳告警。

? 日志系統(tǒng)(如 ELK) 捕獲關(guān)鍵報錯:java.lang.OutOfMemoryError: Java heap space / java.lang.OutOfMemoryError: Metaspace / java.lang.OutOfMemoryError: unable to create new native thread。

? 系統(tǒng)級監(jiān)控(如 Zabbix) 顯示宿主機的物理內(nèi)存使用率爆滿,Swap 使用激增,甚至觸發(fā) OOM Killer。

2. 立即響應(yīng),初步止血(可選但關(guān)鍵)

? 流量調(diào)度: 如果架構(gòu)支持,立即通過網(wǎng)關(guān)(如 Spring Cloud Gateway, Nginx)或服務(wù)網(wǎng)格(如 Istio) 將部分流量(尤其是秒殺流量)快速切走到備用集群、降級頁面或直接限流/熔斷,減輕故障節(jié)點壓力。

? 節(jié)點隔離: 在容器/K8s 環(huán)境,標(biāo)記該 Pod Node 為不可調(diào)度(kubectl cordon),并驅(qū)逐 Pod(kubectl drain),防止新流量打入。

? 重啟預(yù)案(最后手段): 如果服務(wù)完全無響應(yīng)且上述無效,做好強制重啟準(zhǔn)備,但務(wù)必在重啟前抓取必要現(xiàn)場快照(見下一步)。

二、閃電取證:關(guān)鍵現(xiàn)場快照捕獲(1-3 分鐘)

核心原則:以最快速度、最小開銷獲取能揭示內(nèi)存去向的核心證據(jù)。

1. 獲取進(jìn)程信息

? ps -ef | grep java 或 jps -l:確認(rèn) Java 進(jìn)程的精確 PID。

2. 快速內(nèi)存態(tài)勢感知

    ?jstat -gcutil <pid> 1000 5 (每秒采樣一次,連續(xù) 5 次):

重點關(guān)注 O (Old Gen 使用率%) 是否接近 100%,F(xiàn)GC/FGCT (Full GC 次數(shù)/耗時) 是否異常飆升且回收效果差 (O 無明顯下降)。

M (Metaspace 使用率%) 是否飽和。

CCS (Compressed Class Space) 使用率。

   ? top -Hp <pid>:觀察進(jìn)程內(nèi)線程數(shù)(java.lang.OutOfMemoryError: unable to create new native thread 時尤其重要)及各個線程的 CPU/內(nèi)存資源消耗。按 Shift + M 可按內(nèi)存排序。

3.關(guān)鍵現(xiàn)場快照(重中之重!)

? 堆內(nèi)存 Dump (Heap Dump):

jmap -dump:format=b,file=heapdump_oom.hprof <pid>:標(biāo)準(zhǔn)方式,但可能因堆大而慢甚至卡死。

jcmd <pid> GC.heap_dump /path/to/heapdump_oom.hprof:通常比 jmap 更可靠,推薦首選。

Arthas 的 heapdump 命令:heapdump /path/to/heapdump_oom.hprof。Arthas 的動態(tài) attach 機制在進(jìn)程高負(fù)載時成功率較高。

-XX:+HeapDumpOnOutOfMemoryError:如果預(yù)先配置了此 JVM 參數(shù),OOM 發(fā)生時 JVM 會自動生成堆 dump (文件位置由 -XX:HeapDumpPath 指定)。立刻檢查該文件!

? 線程快照 (Thread Dump):

jstack <pid> > threaddump_oom.txt:多次執(zhí)行(如間隔 5-10 秒,連續(xù) 3 次)以捕捉線程狀態(tài)變化。關(guān)注 BLOCKED/Waiting on condition 狀態(tài)的線程,以及它們持有的鎖和等待的鎖。

kill -3 <pid>:向 JVM 進(jìn)程發(fā)送 QUIT 信號,線程 dump 會輸出到標(biāo)準(zhǔn)輸出或配置的日志文件。

Arthas 的 thread 命令:thread -n 10 (查看最忙的 10 個線程),thread -b (一鍵檢測死鎖),非常高效。

? GC 日志: 如果開啟了 -Xloggc:/path/to/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps,立即歸檔當(dāng)前 gc.log 文件。分析 Full GC 頻率、耗時、前后內(nèi)存變化([PSYoungGen: ...] [ParOldGen: ...])。

三、精準(zhǔn)解剖:分析核心快照定位元兇(4-10 分鐘)

1. 堆內(nèi)存 Dump 分析(MAT / JVisualVM)

? 導(dǎo)入堆 dump 文件 (heapdump_oom.hprof)。

? 概覽 (Overview):

Biggest Objects by Retained Size:直指內(nèi)存消耗的“罪魁禍?zhǔn)住薄U页稣加?nbsp;Retained Heap(該對象被回收后能釋放的總內(nèi)存)最大的幾個對象。秒殺場景常見:巨大的緩存 Map (如 Guava Cache, Caffeine 未正確配置過期/大小限制)、未釋放的數(shù)據(jù)庫連接池對象、海量未消費的隊列消息(如 MQ 積壓)、大數(shù)組/集合。

? 直方圖 (Histogram):

按類(Class)或類加載器(Class Loader)分組,按 Retained Heap 或 Objects 數(shù)量排序。

秒殺關(guān)鍵類:重點排查SeckillItemStockCache,SeckillOrderQueue,RedisTemplate(連接池),DB Connection Pool對象 (如 HikariCP 的HikariPool),ThreadPoolExecutor(工作隊列積壓),byte[],char[],String,HashMap$Node,ConcurrentHashMap$Node等。異常激增的數(shù)量是明顯線索。

? 支配樹 (Dominator Tree):

揭示對象間的持有關(guān)系鏈。 從 Biggest Objects 或 Histogram 中的可疑類出發(fā),層層展開支配樹。

定位 GC Roots 路徑: 右鍵可疑對象 -> Path To GC Roots -> with all references。分析這個引用鏈,找出是哪個根對象(如靜態(tài)變量、線程棧局部變量、JNI 引用等)持有了這一大坨對象,導(dǎo)致它們無法被回收。 這是找到代碼泄露點的關(guān)鍵!

? 查找泄漏疑點 (Leak Suspects):

MAT 提供的自動報告,快速給出可能的內(nèi)存泄漏點(通常較準(zhǔn)確)。優(yōu)先查看其結(jié)論。

2. 線程 Dump 分析

? 搜索關(guān)鍵字: BLOCKED, WAITING (parking), TIMED_WAITING。

? 分析鎖競爭:

找到 BLOCKED 狀態(tài)的線程,查看 - waiting to lock <0x0000000712345678> (a java.lang.Object)。

根據(jù)地址 <0x0000000712345678>,在 dump 中搜索 - locked <0x0000000712345678> (a java.lang.Object),找到持有該鎖的線程及其堆棧。分析這個持有鎖的線程在做什么?是否長時間卡在某個操作(如慢 SQL、同步 IO 等)導(dǎo)致鎖無法釋放?

?分析資源等待: WAITING (on object monitor) 或 TIMED_WAITING (on object monitor) 通常與 Object.wait() 相關(guān),查看堆棧判斷等待原因(如等待任務(wù)、等待通知)。

? 秒殺關(guān)鍵線程:

線程池工作線程 (如 pool-1-thread-*):看它們卡在哪里?處理秒殺邏輯?訪問數(shù)據(jù)庫/緩存?大量線程卡在同一個地方(如一個慢 SQL)是典型瓶頸。

定時任務(wù)線程 (如 scheduling-*):是否在執(zhí)行耗時的緩存刷新、庫存同步?

網(wǎng)絡(luò)線程 (如 Netty NIO worker):處理請求是否被阻塞?

?線程數(shù)暴漲: 結(jié)合 top -Hp 和 dump,統(tǒng)計 java.lang.Thread 狀態(tài)為 RUNNABLE 或等待資源的線程總數(shù)。 接近系統(tǒng) ulimit -u 限制?檢查線程池配置是否合理,是否有線程泄漏(創(chuàng)建后未交給線程池管理或未正確關(guān)閉)。

3. GC 日志分析

? 定位 Full GC 風(fēng)暴: 查找連續(xù)的 Full GC 記錄。

? 分析效果: 觀察每次 Full GC 前后的 [PSYoungGen: ...] [ParOldGen: ...] 數(shù)值變化。如果 Old Gen 使用率在 Full GC 后下降不明顯(甚至不降反升!),強烈暗示存在內(nèi)存泄漏——垃圾回收器拼命工作,但真正該回收的對象因為有強引用而回收不掉。

? 分析耗時: 單次 Full GC 耗時(FGCT 增量)是否過長(> 1s 就需警惕)?頻繁的長時 Full GC 會嚴(yán)重拖垮系統(tǒng)吞吐量。

4. 結(jié)合代碼與場景(秒殺特異性分析)

? 庫存扣減: 是否在本地緩存了超賣庫存?緩存大小/過期策略是否合理?扣減失敗的對象是否未及時清理?

? 訂單創(chuàng)建: 訂單對象是否過大?創(chuàng)建后的訂單數(shù)據(jù)是否被不必要的長時間持有(如放入全局隊列或緩存)?

? 限流/降級: 被限流或降級的請求/用戶數(shù)據(jù)是否被緩存且未清理?

? 緩存雪崩/穿透: 大量請求穿透緩存直接訪問數(shù)據(jù)庫,導(dǎo)致產(chǎn)生大量相同查詢的 ResultSet/Connection?緩存重建是否產(chǎn)生大對象?

? 序列化/反序列化: 處理消息(如 Kafka/RocketMQ)或 RPC 時,是否因大消息導(dǎo)致 byte[] 暴漲?String 轉(zhuǎn)換是否過多?

四、根因定位與緊急規(guī)避(10 分鐘+)

? 綜合結(jié)論: 將堆分析(誰占內(nèi)存最多?為什么回收不掉?)、線程分析(瓶頸在哪?鎖爭搶?線程泄漏?)、GC 日志(泄漏證據(jù)?GC 效能?)和秒殺業(yè)務(wù)邏輯結(jié)合起來,精準(zhǔn)定位到導(dǎo)致 OOM 的代碼模塊、數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)場景。

示例 1:MAT 支配樹顯示 static ConcurrentHashMap 持有百萬級未完成 SeckillOrderRequest 對象 -> 根源:訂單創(chuàng)建異步處理隊列積壓,消費者過慢或掛了。

示例 2:線程 dump 顯示所有工作線程 BLOCKED 在獲取 RedisTemplate 連接 -> 根源:Redis 連接池耗盡,某個操作持有連接不放(未 finally 釋放)。

示例 3:Histogram 顯示 byte[] 數(shù)量異常,支配樹指向 Kafka 反序列化 -> 根源:消費了異常巨大的消息體。

示例 4:jstat 顯示 M 100%,jmap -clstats 顯示大量動態(tài)生成的類 -> 根源:框架(如 Spring CGLIB, Groovy)頻繁動態(tài)生成類未卸載。

? 緊急規(guī)避:

代碼熱修復(fù) (Hotfix): 如果定位明確且修復(fù)簡單(如關(guān)閉某個泄露的開關(guān)、調(diào)整某個參數(shù)),通過 Arthas 的 jad/mc/redefine 命令進(jìn)行熱更新(高風(fēng)險,需謹(jǐn)慎評估)。

配置調(diào)整: 臨時調(diào)大堆內(nèi)存 (-Xmx, -Xms) 或 Metaspace (-XX:MaxMetaspaceSize) 只能短暫續(xù)命,非根治之法! 同時調(diào)整線程池大小、連接池大小、緩存大小限制等。

服務(wù)重啟 + 回滾: 最有效、最快速的止血方法! 結(jié)合第一步的流量調(diào)度/節(jié)點隔離,重啟問題節(jié)點。如果懷疑是剛上線的代碼導(dǎo)致,立即回滾到上一穩(wěn)定版本。

徹底修復(fù): 在測試環(huán)境充分驗證后,修復(fù)泄漏代碼(如關(guān)閉資源、釋放引用、調(diào)整緩存策略、優(yōu)化數(shù)據(jù)結(jié)構(gòu)、修復(fù)死鎖),然后重新部署。

五、未雨綢繆:構(gòu)建 OOM 防御體系

1. 監(jiān)控報警前置

? JVM 內(nèi)存各區(qū)域使用率(Old Gen, Eden, Survivor, Metaspace, Code Cache, Compressed Class Space)設(shè)置動態(tài)閾值(如 80%)報警。

? Full GC 頻率/耗時報警。

? 線程池活躍線程數(shù)/隊列大小報警。

? 連接池活躍連接數(shù)報警。

? 系統(tǒng)內(nèi)存、Swap 使用率報警。

2. 關(guān)鍵參數(shù)與工具常備

? JVM 參數(shù)標(biāo)配:

-XX:+HeapDumpOnOutOfMemoryError # OOM時自動Dump
-XX:HeapDumpPath=/path/to/dumps # Dump文件路徑
-XX:+ExitOnOutOfMemoryError # 有些場景OOM后直接退出讓容器/K8s重啟更可控
-Xlog:gc*,gc+heap=debug:file=/path/to/gc.log:time,uptime,level,tags:filecount=5,filesize=100m # JDK9+ 統(tǒng)一日志
-XX:NativeMemoryTracking=detail # 追蹤Native內(nèi)存

? Arthas 常駐: 在測試/預(yù)發(fā)布環(huán)境安裝,生產(chǎn)環(huán)境準(zhǔn)備好一鍵安裝腳本,故障時可快速安裝診斷。

? 分析工具預(yù)裝: 在運維跳板機或本地準(zhǔn)備好 MAT (Memory Analyzer Tool)、JVisualVM 或 YourKit 等分析工具。

3. 壓測與演練

? 全鏈路壓測: 模擬真實秒殺流量,務(wù)必包含峰值、長時間穩(wěn)態(tài)、峰值突降等場景。

? 注入故障演練: 模擬內(nèi)存泄漏(如故意不關(guān)閉連接)、慢 SQL、緩存失效等,驗證監(jiān)控報警、快照獲取、分析流程、應(yīng)急預(yù)案的有效性。定期進(jìn)行!

4. 代碼層面防御

? 資源關(guān)閉: 使用 try-with-resources (Java 7+) 確保 Connection, Statement, ResultSet, InputStream, OutputStream, Socket 等必然關(guān)閉。

? 緩存管理: 使用成熟的緩存庫(Caffeine, Ehcache)并嚴(yán)格設(shè)置大小限制(maximumSize)、過期策略(expireAfterWrite/expireAfterAccess)和弱引用策略。 避免無界緩存。

? 集合使用: 預(yù)估大小初始化 HashMap/ArrayList,避免多次擴(kuò)容。及時清理無用的集合項。

? 監(jiān)聽器與回調(diào): 注冊了監(jiān)聽器或回調(diào),務(wù)必在對象不再需要時顯式注銷。

? ThreadLocal: 使用后必須調(diào)用 remove()!尤其在線程池場景下,線程復(fù)用會導(dǎo)致上次的 ThreadLocal 值殘留。考慮使用框架管理的 RequestContextHolder。

? 避免大對象: 謹(jǐn)慎處理大文件、大字符串、深度嵌套對象。考慮流式處理或分塊處理。

5. 基礎(chǔ)設(shè)施優(yōu)化

? 容器內(nèi)存限制: 在 Docker/K8s 中合理設(shè)置容器的 Memory Request/Limit。-Xmx 應(yīng)小于容器 Limit(預(yù)留約 10-20% 給 OS/Native 內(nèi)存)。

? 優(yōu)雅下線: 實現(xiàn) PreStop Hook,在 Pod 終止前預(yù)留時間處理完存量請求、關(guān)閉連接、釋放資源。

六、總結(jié)

秒殺系統(tǒng)突發(fā) OOM 是一場與時間賽跑的戰(zhàn)役。10 分鐘內(nèi)定位問題的核心在于 “快、準(zhǔn)、恨”:

? 快 (0-3min): 迅速確認(rèn)故障、隔離影響、捕獲堆 Dump、線程 Dump、GC 日志等關(guān)鍵現(xiàn)場快照。熟練使用 jcmd、Arthas 是制勝關(guān)鍵。

? 準(zhǔn) (4-9min): 使用 MAT/JVisualVM 精準(zhǔn)分析堆 Dump,直指 Retained Size 最大的對象和支配樹引用鏈;分析線程 Dump 定位鎖爭搶、線程泄漏、系統(tǒng)瓶頸;結(jié)合 GC 日志確認(rèn)泄漏與回收效能;緊密聯(lián)系秒殺業(yè)務(wù)場景(庫存、訂單、緩存)。

? 恨 (10min+): 果斷采取最有效的止血措施——重啟、回滾、參數(shù)調(diào)整、熱修復(fù)。定位根因后,必須制定并執(zhí)行徹底修復(fù)方案。

真正的技術(shù)深度,不僅體現(xiàn)在故障時的臨危不亂,更體現(xiàn)在構(gòu)建起一套讓 OOM 無處遁形的監(jiān)控、防御和快速響應(yīng)體系。 將本文的應(yīng)急步驟固化為團(tuán)隊的故障處理 SOP(標(biāo)準(zhǔn)操作流程),并通過持續(xù)的壓測和演練不斷打磨,才能在真正的流量海嘯面前立于不敗之地。每一次 OOM 的解決,都應(yīng)成為系統(tǒng)韌性提升的階梯。

責(zé)任編輯:武曉燕 來源: 程序員秋天
相關(guān)推薦

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負(fù)載均衡服務(wù)器網(wǎng)絡(luò)

2022-04-13 22:01:44

錯誤監(jiān)控系統(tǒng)

2009-10-09 14:45:29

VB程序

2021-07-29 08:57:23

ViteReact模塊

2024-06-19 09:58:29

2022-06-16 07:31:41

Web組件封裝HTML 標(biāo)簽

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎

2023-04-12 11:18:51

甘特圖前端

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2015-09-06 09:22:24

框架搭建快速高效app

2012-07-10 01:22:32

PythonPython教程

2009-04-29 17:35:47

LinuxWebMail系統(tǒng)

2024-08-30 10:51:51

2024-11-07 16:09:53

2022-08-26 09:01:07

CSSFlex 布局

2023-07-15 18:26:51

LinuxABI

2019-09-16 09:14:51

2015-11-06 11:03:36

點贊
收藏

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

韩国精品在线观看| 九色精品91| 亚洲国产综合视频在线观看| 国产伦一区二区三区色一情| 一级黄色大片视频| 91欧美国产| 亚洲国产精彩中文乱码av在线播放| 黄色免费观看视频网站| 欧美jizzhd欧美| 99视频精品在线| 国产日韩在线亚洲字幕中文| 国产在线观看免费av| 国产一区不卡| 精品剧情在线观看| 久久婷五月综合| 波多野结衣在线高清| 国产欧美一区二区精品性色超碰 | 99精品热视频| 国产成人免费av电影| 免费高清在线观看电视| 欧美亚洲tv| 日韩三级精品电影久久久| 97av视频在线观看| 色黄网站在线观看| 中文字幕第一页久久| 好吊妞www.84com只有这里才有精品| 中文字幕av影视| 麻豆成人精品| 久久久久久久一| 日韩欧美123区| 欧美精品系列| 亚洲女人被黑人巨大进入| 中文字幕永久免费| 欧美第一在线视频| 欧美男女性生活在线直播观看| 国产美女无遮挡网站| 欧美人与禽性xxxxx杂性| 国产精品久久久久影院| 日日夜夜精品网站| 黄色av免费在线观看| 成人免费视频视频| 91精品国产高清久久久久久91裸体| 中文字幕免费在线看| 三级精品在线观看| 2019av中文字幕| 日本三级视频在线| 国产精品mm| 欧美黑人性猛交| 国产精品30p| 国产综合网站| 欧美激情一级欧美精品| 日本中文字幕免费在线观看| 婷婷综合在线| 日韩有码在线电影| 91n在线视频| 911久久香蕉国产线看观看| 日韩在线视频免费观看| 国产乱子轮xxx农村| 97在线精品| 久久亚洲精品毛片| 亚洲成人生活片| 激情综合亚洲| 91国在线精品国内播放| 欧美啪啪小视频| 爽爽淫人综合网网站| 国产激情999| 中文字幕资源网| 九一九一国产精品| 99视频免费观看| 天天操天天干天天操| www国产成人| 水蜜桃亚洲精品| 黄在线免费看| 亚洲成人福利片| 99久久久无码国产精品6| a屁视频一区二区三区四区| 欧美日韩成人综合天天影院| 在线观看免费看片| 美女av一区| 中文国产亚洲喷潮| 老妇女50岁三级| 国产欧美日韩一区二区三区在线| 国产成人a亚洲精品| 91女人18毛片水多国产| 成人午夜碰碰视频| 日本在线观看一区二区三区| 国产cdts系列另类在线观看| 亚洲高清久久久| 免费激情视频在线观看| 综合久草视频| 亚洲国产三级网| 蜜桃av免费在线观看| 在线成人激情| 55夜色66夜色国产精品视频| 伊人久久国产精品| 成人国产精品免费观看视频| 日韩wuma| 激情在线视频播放| 欧美中文一区二区三区| 三大队在线观看| 国产精品亚洲片在线播放| 久99九色视频在线观看| 欧美a视频在线观看| 国产精品一区二区视频| 欧美精彩一区二区三区| 精品麻豆一区二区三区| 色综合中文字幕| 麻豆精品国产传媒| 国产成人1区| 久久久女人电视剧免费播放下载| 无码久久精品国产亚洲av影片| 岛国精品在线播放| 亚洲在线播放电影| 电影一区二区三区| 精品久久久久久久久久久院品网| 美女100%露胸无遮挡| 妖精视频成人观看www| 亚洲精品欧美日韩专区| 97电影在线观看| 色婷婷综合激情| 天天插天天射天天干| 欧美日本一区二区高清播放视频| 国产精品免费一区豆花| 欧美老女人性开放| 午夜在线成人av| 色婷婷狠狠18禁久久| 天天射综合网视频| 国产精品一区久久| 国产综合视频一区二区三区免费| 亚洲高清免费一级二级三级| gogo亚洲国模私拍人体| 欧美残忍xxxx极端| 国产精品麻豆va在线播放| 欧美精品久久久久久久久久丰满| 亚洲电影一区二区三区| 久久久久国产免费| 欧美va天堂在线| 5g影院天天爽成人免费下载| 九七久久人人| 欧美一区二区黄色| 亚洲伦理一区二区三区| 精品一区二区三区日韩| 亚洲欧洲在线一区| 成人h在线观看| 这里只有精品视频| 羞羞色院91蜜桃| 国产精品网曝门| 久久国产这里只有精品| 99精品电影| 91在线观看欧美日韩| 精品欧美色视频网站在线观看| 欧美日韩大陆在线| 朝桐光av在线| 风间由美性色一区二区三区| 国产www免费| 另类在线视频| 日韩av片电影专区| 国产一级片在线播放| 欧美图区在线视频| 糖心vlog免费在线观看| 国产一区二区三区久久久| 青草全福视在线| 狠狠久久伊人| 日韩美女写真福利在线观看| 国产在线网站| 欧美日韩高清在线播放| 欧美卡一卡二卡三| 99免费精品在线| 欧美日韩亚洲一二三| 日韩在线看片| 官网99热精品| 亚洲日本天堂| 日韩在线观看视频免费| 亚洲精品成人电影| 欧美午夜精品久久久久久久| 69xxx免费| 国产精品亚洲一区二区三区妖精 | av电影免费在线看| 亚洲毛片在线看| 一区二区国产欧美| 亚洲图片一区二区| 丰满的亚洲女人毛茸茸| 国产一区视频网站| 91视频 -- 69xx| 日韩在线视频精品| 国产高清在线一区二区| 欧美天堂视频| 欧美大肥婆大肥bbbbb| 亚洲色偷精品一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产 日韩 欧美在线| 女人av一区| 成人一区二区电影| 欧产日产国产精品视频 | 精品国产视频一区二区三区| 成人手机电影网| 欧美大尺度做爰床戏| 伊人久久亚洲热| 亚洲国产精品久久久久婷婷老年| 亚洲一区二区三区免费| 国产精品成人aaaaa网站| 色帝国亚洲欧美在线| 这里精品视频免费| 亚洲色大成网站www| 91精品国产欧美一区二区| av大全在线观看| 亚洲精品va在线观看| 日韩不卡av在线| 99久精品国产| 国产chinesehd精品露脸| 免费人成网站在线观看欧美高清| 国产无限制自拍| 欧美.日韩.国产.一区.二区| 亚洲精品在线视频观看| 亚洲精品aaaaa| 国产精品乱码视频| 国产精品一区二区三区四区在线观看| 国产成人午夜视频网址| 日韩伦理在线| 欧美极品在线视频| 成人在线观看免费网站| 在线视频欧美日韩精品| 美女欧美视频在线观看免费 | 任你操精品视频| 久久久欧美精品sm网站| 亚洲香蕉中文网| 国产精品亚洲专一区二区三区| 亚洲一区二区三区四区五区| 日韩高清欧美激情| 红桃av在线播放| 99亚洲视频| 欧美国产综合在线| 欧美午夜国产| 欧美一级中文字幕| 欧美1区视频| 成年在线观看视频| 亚洲深深色噜噜狠狠爱网站| 在线观看国产一区| 97精品97| 神马午夜伦理影院| 亚洲一区二区三区| 在线观看成人免费| 欧美全黄视频| 久久av高潮av| 亚洲大胆在线| 奇米精品一区二区三区| 国产精品人人爽人人做我的可爱| 蜜臀av无码一区二区三区| 精品成人在线| 久久久久久久久久网| 国产精品久久国产愉拍| 国产成人久久777777| 日韩精品一区第一页| 免费看污污网站| 国内精品伊人久久久久av一坑| 永久av免费在线观看| 国产一区二区美女| 亚洲成人精品在线播放| 成人成人成人在线视频| 中文字幕在线播放一区| 久久综合久久鬼色中文字| 亚洲天堂2024| 久久久精品免费网站| 国产在视频线精品视频| 亚洲男女一区二区三区| 五月天综合在线| 欧美性猛交视频| 亚洲怡红院av| 欧美成人精品3d动漫h| 深夜福利免费在线观看| 在线播放日韩av| av网站大全在线| 91精品国产高清久久久久久久久 | 在线不卡中文字幕播放| av网站免费大全| 亚洲国产精品人久久电影| 国产精品一级伦理| 久久久久北条麻妃免费看| 超碰97免费在线| 国产精品小说在线| 国产 日韩 欧美 综合 一区| 欧洲精品在线一区| 欧美jizzhd精品欧美巨大免费| 国产午夜伦鲁鲁| 国产一区在线观看麻豆| 久久国产精品无码一级毛片| 中文无字幕一区二区三区| 免费中文字幕在线观看| 91高清视频在线| www.激情五月.com| 亚洲午夜精品久久久久久性色 | 亚洲欧美日韩一区二区| 日本三级小视频| 欧美日韩国产一级| 午夜激情小视频| 久久久精品国产亚洲| 超碰aⅴ人人做人人爽欧美| 成人免费视频在线观看超级碰| 午夜精品福利影院| 蜜桃视频成人在线观看| 免费亚洲一区| 国产麻豆剧传媒精品国产| 国产精品色噜噜| 国产一级片毛片| 欧美大片国产精品| 婷婷成人激情| 国产精品91一区| 国产精品久久久网站| 婷婷视频在线播放| 丝袜亚洲精品中文字幕一区| 亚洲精品鲁一鲁一区二区三区 | 国产高清不卡二三区| 亚洲天堂岛国片| 精品毛片网大全| 亚洲精品无码久久久| www.亚洲男人天堂| 桃子视频成人app| 久久影视中文粉嫩av| 在线免费观看欧美| 波多野结衣中文字幕在线播放| 国产欧美日韩亚州综合 | 欧美一级国产精品| av网页在线| 日韩av快播网址| 神马久久av| 国产av麻豆mag剧集| 国产福利一区在线| 99成人在线观看| 欧美日韩视频在线一区二区| 高清美女视频一区| 国产精品91久久久| 国产不卡一区| 激情网站五月天| 国产欧美一区二区在线| 天天射天天干天天| 亚洲一区二区精品| 欧美free嫩15| 日韩电影大全在线观看| 日日摸夜夜添夜夜添精品视频| 黄色在线观看av| 一本色道久久综合亚洲精品按摩| 亚洲av激情无码专区在线播放| 国内精久久久久久久久久人| 国产精品22p| 日本午夜激情视频| 99精品国产视频| 亚洲自拍一区在线观看| 亚洲深夜福利在线| 午夜激情成人网| 色中色综合成人| 麻豆成人在线观看| 四虎永久免费在线| 欧美va日韩va| 午夜不卡影院| 日韩精品欧美专区| 久久精品国产亚洲a| 国精产品一区一区二区三区mba| 91麻豆精品国产91| www.8ⅹ8ⅹ羞羞漫画在线看| 好吊色欧美一区二区三区四区| 亚洲免费成人| 国产色视频一区二区三区qq号| 色婷婷激情久久| 午夜看片在线免费| 97久久精品午夜一区二区| 亚洲美女91| 在线观看国产精品一区| 欧美美女一区二区在线观看| 污片在线免费观看| 美日韩免费视频| 久久se精品一区精品二区| 国产又黄又爽又无遮挡| 亚洲黄色有码视频| 成人av色网站| 成人国产一区二区三区| 99久久免费精品| 中文字幕日韩第一页| 九九视频直播综合网| 免费成人网www| 手机精品视频在线| 欧美日韩在线一区| 国产在线看片| 久中文字幕一区| 精品一区二区免费| 国产一区二区三区影院| 国产小视频91| xxxx日韩| 深夜黄色小视频| 亚洲成人av一区| 中文字幕在线播放| 国产精品一区二区三区免费观看 | 国产精品午夜国产小视频| 午夜精品国产| a级在线免费观看| 欧美大片在线观看一区| 网友自拍亚洲| 欧美国产日韩激情| 中文字幕一区二区三区精华液| 免费国产精品视频| 91亚洲国产成人精品性色|