精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

亚洲成人网av| 亚洲人成在线观看一区二区| 九九热99久久久国产盗摄| 无码人妻久久一区二区三区蜜桃| 亚洲第一黄色片| 国产视频一区三区| 色天天综合狠狠色| 毛茸茸free性熟hd| 依依综合在线| 亚洲欧美另类久久久精品| 国内精品久久久久久久果冻传媒| 中国一级片在线观看| 日本一区二区乱| 日韩欧美一区二区三区| 400部精品国偷自产在线观看| 在线观看免费中文字幕| 狠色狠色综合久久| 一区二区成人av| 无码av免费精品一区二区三区| 国产三区视频在线观看| aaa国产一区| 国产欧美日韩精品在线观看 | 蜜臀国产一区| 亚洲婷婷国产精品电影人久久| 国产精品久久久久福利| 日本a级片视频| 欧美日韩有码| 亚洲精品久久久久| 五月天国产视频| 国产一区二区三区影视| 天天色天天爱天天射综合| 黄色录像特级片| av电影在线播放高清免费观看| 青青草国产精品亚洲专区无| 高清欧美性猛交xxxx| www.99re7| 青青一区二区三区| 亚洲欧洲午夜一线一品| 日韩av成人网| 精品一区二区三区四区五区| 欧美日韩一区二区三区免费看| 亚洲第一精品区| 国产福利在线| 久久久国产午夜精品 | 久草资源在线视频| 久久精品99久久无色码中文字幕| 欧美日韩一级二级| 日av中文字幕| 夜鲁夜鲁夜鲁视频在线播放| 亚洲一区二区三区四区不卡| 欧美做暖暖视频| 成人区精品一区二区不卡| 国产精品国产三级国产aⅴ中文| 18成人在线| 国产欧美熟妇另类久久久 | 久久99久久99精品中文字幕| 娇小11一12╳yⅹ╳毛片| 成人在线免费观看91| 亚洲欧洲中文天堂| 偷拍女澡堂一区二区三区| 日韩精品社区| 亚洲欧美日韩第一区| 免费看污黄网站在线观看| 首页亚洲中字| 亚洲人精品午夜在线观看| 久久精品—区二区三区舞蹈| 国产麻豆精品久久| 一区二区三区四区在线观看视频| 性高潮免费视频| 涩爱av色老久久精品偷偷鲁 | 欧美成人免费一级人片100| 青青青视频在线播放| 91亚洲国产成人久久精品| 色噜噜狠狠狠综合曰曰曰| 国产精品suv一区二区88| 久久精品亚洲人成影院| 久久国产精品影片| jizz国产免费| 日韩成人一级大片| 成人乱人伦精品视频在线观看| 日韩久久中文字幕| 日韩vs国产vs欧美| 成人免费看吃奶视频网站| 国产后入清纯学生妹| 国产91在线|亚洲| 精品在线观看一区二区| 国内在线精品| 亚洲乱码日产精品bd| 男人添女荫道口图片| 成人爱爱网址| 欧美一区二区三区在线电影| 制服丝袜av在线| 国产va免费精品观看精品视频 | 91高清在线| 亚洲乱码国产乱码精品精98午夜| 日韩av免费电影| 97视频在线观看网站| 亚洲精品老司机| 少妇av一区二区三区无码| 亚洲美女炮图| 日韩一区二区三免费高清| 真人bbbbbbbbb毛片| 欧美电影《轻佻寡妇》| 久久乐国产精品| 中文字幕黄色av| 不卡视频在线观看| 一本一道久久久a久久久精品91| 电影av在线| 亚洲制服丝袜av| 黄色国产小视频| 99精品中文字幕在线不卡| 亚洲精品视频免费| 欧美精品乱码视频一二专区| 老司机免费视频久久| 99精彩视频| av男人的天堂在线| 欧美性生交xxxxx久久久| 一区二区三区入口| 天堂俺去俺来也www久久婷婷| 亚洲国产一区二区三区四区| 美女网站视频色| 国产精品五区| 国产成人成网站在线播放青青| av 一区二区三区| 欧美激情一区三区| 免费在线观看的av网站| 国产精品毛片久久久| 久久精品国产一区| 在线免费av片| 久久久久久久久蜜桃| 国产一区二区三区小说| 精品国产不卡一区二区| 日韩中文在线中文网三级| 久久久成人免费视频| 99精品在线免费| 日本a在线天堂| 欧美久久一区二区三区| 久久九九有精品国产23| 在线观看免费观看在线| 国产精品亲子伦对白| 国产精品亚洲二区在线观看| 久久丝袜视频| 国内免费久久久久久久久久久| 日韩美一区二区| 91免费看`日韩一区二区| 黄色网在线视频| 亚洲2区在线| 久久99国产精品久久久久久久久| 亚洲精品成人在线视频| 99re66热这里只有精品3直播| 日韩精品一线二线三线| 超碰国产一区| 亚洲欧美日韩精品久久奇米色影视| 亚洲自拍偷拍图| 日韩av中文在线观看| 日本精品二区| 成人涩涩视频| 中文国产成人精品久久一| 欧美国产一级片| 国产精品久久久久永久免费观看| www..com日韩| 超碰97久久| 91干在线观看| 九色在线免费| 欧美无乱码久久久免费午夜一区| 免费观看污网站| 亚洲大胆视频| 欧美日本韩国国产| 成年美女黄网站色大片不卡| 亚洲天堂日韩电影| 91国内精品视频| 一区二区三区精品视频在线| 日本少妇xxxx| 日本中文字幕一区二区有限公司| 国产亚洲福利社区| jizz内谢中国亚洲jizz| 一区二区三区国产视频| 国产精品久久无码一三区| 一区二区三区精品在线观看| 免费a在线观看播放| 热久久国产精品| 三年中国中文在线观看免费播放| 户外露出一区二区三区| 色妞色视频一区二区三区四区| 久久国产精品免费看| 国产欧美一区二区三区鸳鸯浴| 我的公把我弄高潮了视频| 日韩av三区| 国产精品福利片| а√天堂8资源在线官网| 亚洲高清一二三区| 中文字幕一区二区三区人妻四季 | 日本h片在线观看| 国产婷婷色综合av蜜臀av| 波多野结衣一二区| 亚洲综合丝袜美腿| 黄色aaa视频| 国产精品一区二区在线观看网站| 在线成人性视频| 国产精东传媒成人av电影| 国产精品成人国产乱一区| 欧美人与牲禽动交com| 国产视频久久久久久久| 99国产精品久久久久久久成人 | 精品视频久久久| 一区二区三区黄| 欧美性高潮在线| 国产精品成人69xxx免费视频 | 国产日韩欧美一二三区| 久久香蕉一区| 日韩视频免费看| 日本v片在线免费观看| 欧美一区二区久久| 最近中文字幕在线免费观看| 性欧美疯狂xxxxbbbb| 极品尤物一区二区| 2020国产精品自拍| 精品国产免费久久久久久婷婷| 午夜日韩视频| 亚洲精品国产精品国自产| 精品综合久久88少妇激情| 国产日韩欧美在线视频观看| 成人av三级| 91av国产在线| www.综合| 九色成人免费视频| 免费在线观看av| 一本大道亚洲视频| 日本高清中文字幕二区在线| 精品美女一区二区| www.97超碰| 欧美一区二区三区在线观看视频| 国产午夜精品无码一区二区| 亚洲视频免费观看| 97在线观看免费高| 国产精品国产自产拍高清av王其| 狠狠干狠狠操视频| 日韩激情中文字幕| 九色porny91| 丝袜亚洲另类丝袜在线| 国产精品99久久免费黑人人妻| 欧美大片aaaa| 亚洲一区二区在线免费观看| 日韩成人激情| 亚洲欧洲一二三| 日韩久久综合| 国产91av视频在线观看| 天天av综合| 欧美日韩dvd| 国内精品99| 黄色三级中文字幕| 亚洲福利一区| 欧美综合在线播放| 美女爽到呻吟久久久久| 日本999视频| 精品在线播放免费| www.久久av.com| 国产一区二区三区在线观看精品| 国产精品-区区久久久狼| 羞羞答答国产精品www一本 | 韩国av一区| 国产午夜精品视频一区二区三区| 清纯唯美亚洲综合一区| 在线观看日韩片| 牛夜精品久久久久久久99黑人| 欧美日韩精品免费观看| 精品久久久亚洲| 一区二区精品国产| 欧美成人一品| 免费国产黄色网址| 日韩国产精品久久久| 久久精品视频在线观看免费| 国产成人亚洲精品狼色在线| www.日本高清| 国产精品青草久久| 国产亚洲精品av| 色久优优欧美色久优优| 亚洲一级黄色大片| 欧美成人a在线| 免费在线超碰| 久久精品成人一区二区三区| 日本色护士高潮视频在线观看| 日韩在线观看免费网站| 成人免费视屏| 2021国产精品视频| 四虎国产精品免费久久| 国产伦精品一区二区三区四区视频 | 国产一区二区三区电影在线观看| 成人区精品一区二区| 亚洲动漫精品| 国产日韩欧美大片| 一本久道综合久久精品| 日韩av.com| 久久一区二区三区四区| 青草影院在线观看| 91久久线看在观草草青青| 91午夜交换视频| 亚洲精品久久久久久下一站| 日本在线人成| 欧美亚洲国产另类| 日本一区二区三区播放| 色之综合天天综合色天天棕色| 成人精品视频| 久久亚洲中文字幕无码| 国产一区二区电影| 波多野结衣a v在线| 一区二区三区四区乱视频| 成人黄色激情视频| 亚洲经典中文字幕| 国产在线高清视频| 国产精品91在线| 精品人人人人| 国产91在线亚洲| 另类的小说在线视频另类成人小视频在线 | 国产一区白浆| 粗大的内捧猛烈进出视频| 中文字幕成人在线观看| 久久久久女人精品毛片九一| 欧美mv日韩mv国产| 黄色免费在线观看网站| 国产精品成人va在线观看| 欧美绝顶高潮抽搐喷水合集| av中文字幕av| 紧缚捆绑精品一区二区| 天天干天天舔天天操| 色综合久久久久综合体| 日本高清视频网站| 欧美激情在线观看| 在线播放一区二区精品视频| 宅男噜噜99国产精品观看免费| 欧美日韩三级电影在线| 欧美一级视频在线| 中文字幕第一区第二区| 欧美国产一级片| 在线播放日韩av| 日韩一区二区三区在线免费观看| 国产精品美女主播在线观看纯欲| 影音成人av| 欧美二区在线看| 香蕉久久国产| 在线不卡av电影| 色婷婷综合久久久中文字幕| 色播色播色播色播色播在线| 91av在线视频观看| 亚洲美女15p| 欧美亚洲日本在线观看| 国产亲近乱来精品视频 | 97电影在线观看| 国产精品视频资源| 四虎成人av| 一级黄色片在线免费观看| 亚洲美女屁股眼交3| 精品人妻伦一区二区三区久久 | 亚洲已满18点击进入在线看片| www.久久东京| 日韩av中文字幕第一页| 99久久免费视频.com| 97超碰人人干| 亚洲欧美日韩一区二区三区在线| 在线中文字幕视频观看| 成人资源av| 蜜桃av一区| 女教师淫辱の教室蜜臀av软件| 亚洲国产aⅴ天堂久久| 天堂v在线观看| 日韩av免费看| 久久一区二区三区电影| 一级淫片在线观看| 一区二区三区在线观看欧美 | av成人福利| 麻豆av福利av久久av| 日韩av不卡一区二区| 久久久久久久麻豆| 亚洲国产成人精品电影| 欧美一级鲁丝片| 亚洲成色www久久网站| 国产一区二区三区黄视频| 国产网址在线观看| 在线成人激情黄色| 日本免费精品| 密臀av一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 久久久久久无码精品大片| 日韩中文字幕精品| 日韩精品免费视频一区二区三区| 在线视频亚洲自拍| 成人动漫精品一区二区| 国产黄网在线观看| 久热精品视频在线免费观看| 日韩av网站在线免费观看| 亚洲视频第二页| 亚洲成在线观看| 在线免费观看的av网站| 国产一区二区精品在线| 奇米色777欧美一区二区| 免费在线观看日韩| 在线视频中文亚洲| 欧美18免费视频| 欧美一级小视频| 欧洲一区在线观看|