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

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

數據庫 SQL Server
作為綜合性多業務的“互聯網+生活服務”平臺, 美團點評 對數據庫的穩定運行有較高的要求,小概率的性能抖動(包括慢SQL)都會造成一定的可用性損失。本文將從過去幾年遇到的一些性能問題中,挑選了一個較為棘手的案例,探究端到端數據庫性能問題的解決思路,為DBA同學在解決類似問題時提供一種參考。

作為綜合性多業務的“互聯網+生活服務”平臺, 美團點評 對數據庫的穩定運行有較高的要求,小概率的性能抖動(包括慢SQL)都會造成一定的可用性損失。本文將從過去幾年遇到的一些性能問題中,挑選了一個較為棘手的案例,探究端到端數據庫性能問題的解決思路,為DBA同學在解決類似問題時提供一種參考。

問題描述

在一段時間內不斷有開發同學反饋,線上應用程序獲取數據超時,通過C AT 監控系統發現這些應用的SQL 99line都比較高,這在一定程度上影響了對應業務的QoS,比如達不到99.99%的業務可用性(超時被定義為不可用)。這些問題出現在很多業務場景中,是一個普遍性問題。

通過 C AT 監控系統、SQL樣本、慢查詢系統等進一步了解,發現這類SQL有如下特征:

  • 基本上都是以主鍵或唯一鍵為條件的簡單查詢,查詢后的結果集及掃描的行數都比較小;
  • 查詢的表的數據總量也很小,最小的表甚至只有幾千行;
  • 時間達到了幾百ms,甚至1s;
  • 數據庫的slow log里沒有記錄這類SQL。

下圖為CAT相關監控數據的樣本,以xxx-service這個service為例:

99line的監控數據,有很多SQL的返回時間超過100ms以上。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

SQL的絕對數量在2016年9月6日當天為 :3788。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

具體到某個SQL,甚至達到了929ms。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

FB_Coach的表結構如下:

可看到最多641條記錄,還有聯合索引。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

概要分析

要想定位到原因,必須通過排除法找到該SQL到底慢在哪個階段,這樣才能縮小范圍。接下來我們來分析慢SQL的花費時間組成。從下圖可看出,時間主要由3部分組成:

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

  • App Server:發出SQL請求的時間,接收返回結果的時間
  • 網絡:SQL請求包及查詢結果在網絡上花費的時間
  • MySQL Server:發出SQL到查詢結果整個過程花費的時間

我們可以通過抓包工具獲取每個階段花費的時間,從而定位到底慢在哪個階段。

問題解決思路迭代

思路1:確認哪個過程花費的時間最多

方法:分別在APP Server與MySQL Server部署TcpDump抓包工具,得到數據包在4個監測點的“到達時間”。為了方便,把如下4個Wireshark分析結果(對TcpDump抓取日志分析)按4個方位標注:

  • APP Server 發出SQL(左上)
  • MySQL Server 收到SQL(右上)
  • MySQL Server 將查詢發出(右下)
  • APP Server 收到查詢結果(左下)

從數據可以準確的看出時間主要花費在MySQL內部,具體時間為22.569285000-21.962634000=0.6066509999999994(秒),約為606ms。

抓包結果: 慢在MySQL Server端。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

思路2: 一條SQL進入MySQL Server到查詢結果輸出分哪些階段?

方法: 將MySQL內部對SQL查詢的流程進行梳理,采用排除法定位問題。要 把經典圖拿出來說事了,以下基礎知識主要來自于《高性能MySQL》,“拿來主義”一下。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

首先可以看到,MySQL主要有三個組件:連接/線程處理、MySQL Server層、存儲引擎層。

  • 最上層主要進行連接處理、授權認證、安全等;
  • 第二層包括查詢解析、分析、優化(這三個是解決問題最關心的)、緩存管理、所有內置函數、存儲過程、觸發器、視圖,似乎扯得有點遠;
  • 第三層包含了主要的存儲引擎層,MySQL Server層(第二層)通過“存儲引擎API”向存儲引擎層存儲和提取數據,此層主要是數據存儲相關。

接下來通過一個客戶端請求查詢數據,看看MySQL主要做哪些工作吧。

每個客戶端(可能理解為App負責連接數據庫的組件,我們叫DAL)連接到MySQL服務器進程后會擁有一個線程,這個連接的所有查詢都會在該線程中去執行,同時服務器會緩存線程,以減少創建或銷毀線程的開銷和頻繁的上下文切換。

當客戶連接到MySQL服務器時,服務器會分配一個線程,之后進行權限認證,認證通過后,MySQL就開始解析該SQL查詢,并創建內部數據數據結構(解析樹),然后對其各種優化,***調用存儲引擎API獲取或存儲需要的數據,***將查詢結果返回給客戶端。

通過以上“背書”,我們大概了解了一個SQL請求的執行過程,那到底慢在哪個階段呢?

通過“慢SQL特點”的第4條知道,“數據庫的slow log里沒有記錄這類SQL”,那慢SQL發生的階段就可以排除了。

MySQL slow log是記錄SQL執行過程花費的時間,記錄的時間從“SQL解析”到“存儲引擎”返回數據整個過程,所以可以排除該SQL是慢在第二層和第三層,那么只能是把時間花費在***層了?和線程相關?

結果: 很可能慢在MySQL線程管理上。

思路3: 是創建線程慢?thread cache不夠用,需要頻繁的創建線程?

方法:查看當時數據庫的狀態值

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

可以看到,當時空閑的thread很多,監控圖也沒有抖動,所以并沒有頻繁地創建線程。 慢SQL產生的時間點,空閑的thread很多,并沒有進行大量的線程創建。

那問題到底出現在和線程相關的哪個環節呢? 先把所有和thread相關的參數列出來。

  • thread_cache_size
  • thread_concurrency
  • thread_handling
  • thread_pool_high_prio_mode
  • thread_pool_high_prio_tickets
  • thread_pool_idle_timeout
  • thread_pool_max_threads
  • thread_pool_oversubscribe
  • thread_pool_size
  • thread_pool_stall_limit
  • thread_stack
  • thread_statistics

一眼看過去,大部分是和Thread-Pool相關。同時意識到這些問題是隨著升級到MySQL 5.6產生的,5.6引入了 Thread-Pool 功能。

結果: 看來MySQL5.6的 Thread-Pool 有很大嫌疑了。

思路4: 關閉MySQL 5.6的 Thread-Pool ,確認一下問題

方法: 調整MySQL參數 thread_handling = pool-of-threads---- → thread_handling = One-Connection-Per-Thread。

結論: 關閉 Thread-Pool 功能后,減少78%的慢SQL,側面證明是 Thread-Pool 的問題。

以下是具體的證據,以xxx-service這個service為例: 打開 Thread-Pool 功能(2016年9月6日當天數據)。

99line占比:有好多超過100ms的SQL。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

慢SQL數量:3788

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

關閉 Thread-Pool 功能后(2016年9月13日當天數據)。

99line占比:已經看不到超過100ms的sql了,都在10ms以內。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

慢SQL數量:818

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

那么關閉 Thread-Pool ? 答案很顯然,不能! Thread-Pool 是MySQL5.6重要的功能,能夠保證MySQL數據庫高并發下的性能穩定。

思路5: 調優 Thread-Pool 相關參數

方法:深入了解 Thread-Pool 的工作原理,查找可能產生慢SQL的參數。

結果: 找到了相關參數(thread_pool_stall_limit),并且效果明顯,慢SQL數量從最初的3788減少到63,幾乎全部消滅掉。

以xxx-service這個service為例,調整后的效果,2016年9月20日當天的數據:

99line占比:

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

慢SQL數量:63

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

ok,效果有了,總結一下。

問題分析

1、基本原理

沒有引入Thread-Pool前,MySQL使用的是one thread per connection,一旦connection增加到一定程度,MySQL的性能將急劇下降甚至被壓跨。引入Thread-Pool后將會解決上述問題,同時會減少MySQL內部的線程數(節省內存)及頻繁創建線程的開銷(節省CPU)。

2、Thread-Pool 是如何工作的?

在MySQL內部有一個專用的thread用來監聽數據庫連接請求,當一個新的請求過來,如果采用以前的模型(one-thread-per-connection),main listener(這是主線程中的listener,為了避免與thread group 中的listener混淆,我們稱之為“Main listener”)將從thread cache中取出1個thread或創建1個新的thead立即處理該連接請求,由該thread完成該連接的整個生命周期;

而如果采用Thread-Pool模型,這個連接請求將會被隨機放到一個thread group(thread pool由多個thread group 組成)的隊列中,之后該thread group中worker thread從隊列中取出并建立連接,一旦連接建立,該連接對應的socket句柄將與該thread group中的listener關聯起來,之后該連接將在該thread group中完成它的生命周期。

接下來我們來說說Thread Group 。Thread Group是Thread-Pool的核心組件,所有的操作都是發生在thread group。Thread-Pool由多個(數量由參數thread_pool_size來決定,默認等于cpu個數)thrad group組成。一個連接請求被隨機地綁定到一個thread group,每個thread group獨立工作,并且占用一個核的CPU。所以thread group都會***限度地保持一個thread處于ACTIVE狀態,并且***只有一個,因為太多就有可能壓跨數據庫。

Thread Group中的thread一般有4個狀態:

  • TP_STATE_LISTENER
  • TP_STATE_IDLE
  • TP_STATE_ACTIVE
  • TP_STATE_WAITING

當一個線程作為listener運行時就處于“TP_STATE_LISTENER”,它通過epoll的方式監聽聯接到該Thread Group的所有連接,當一個socket就緒后,listener將決定是否喚醒一個thread或自己處理該socket。此時如果Thread Group的隊列為空,它將自己處理該socket并將狀態更改為“ACTIVE”,之后該thread 在MySQL Server內部處理“工作”,當該線程遇到鎖或異步IO(比如將數據頁讀入到buffer pool)這些wait時,該thread將通過回調函數的方式告訴thread pool,讓其把自己標記為“WAITING”狀態。

此時,假設隊列中有了新的socket準備就緒,是立即創建新的線程還是等待剛才的線程執行結束呢?

由于Thread-Pool最初設計的目標是保持一定數量的線程處于“ACTIVE”狀態,具體的實現方式就是控制thread group的數量和thread group內部處于"ACTIVE"狀態的thread的數量。控制thread group內部的ACTIVE狀態的數量,方法就是***限度地保證處于ACTIVE狀態的線程個數是1。很顯然,當前thread group中有一個處于WAITING狀態的thread了,如果再啟用一個新的線程并且處于ACTIVE狀態,剛才的線程由WAITING變為ACTIVE狀態時,此時將會有2個“ACTIVE”狀態的線程,和最初的目標似乎相背,但顯然也不能讓后續就緒的socket一直等待下去,那應該怎么處理?

那么此時需要一個權衡了,提供了這樣的一個方法:對正在ACTIVE或WAITING狀態的線程啟用一個計數器,超過計數器后將該thread標記為stalled,然后thread group創建新的thread或喚醒sleep的thread處理新的sokcet,這樣將是一個很好的權衡。超時時間該參數thread_pool_stall_limit來決定,默認是500ms。

如果一個線程無事可做,它將保持空閑狀態(TP_STATE_WAITING)一定時間(thread_pool_idle_timeout參數決定,默認是60秒)后“自殺”。

3、和我們遇到的具體問題相關的點

假設上文提到的由“ACTIVE”轉化為“WAITING”狀態的線程(標記為“線程A”)所執行的“SQL"可能是一個標準的慢SQL(命名為SQLA,執行時間較長),那么后續有連接請求分配到了同一個thread group,那么新連接的SQL(命名SQLB)需要等待線程A結束;如果SQLA執行時間超過500ms,該thread group創建新的worker線程來處理SQLB。

不管哪種情況,SQLB都會在線程等待上花費很多時間,此時SQLB就是CAT監控系統上看到的慢SQL。又因為SQLA不一定都是慢SQL,所以SQLB也不是每次在線程等待上花費較多的時間,這就吻合我們看到的現象“一定比例的慢SQL”。

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

解決方法

找到問題了,那么解決辦法就簡單了。調整thread_pool_stall_limit=10,這樣就強迫被SQLA更快被標記為stalled,然后創建新的線程來處理SQLB。

帶來的價值

  • 以xxx-service為例,減少了98.3%的慢SQL,效果很明顯;
  • 該問題的解決讓百個產品線從中受益,業務可用性超過了99.99%。

 

簡單SQL也很慢?數據庫端到端性能問題的解決思路探討

首先我們分析了慢SQL的特點及該SQL花費的時間組成,通過“時間花費在哪”這一通用方法,不斷把問題范圍縮小,最終通過排除法將問題鎖定在MySQL內部線程。

對于MySQL內部線程,我們通過對參數“全量掃描”,發現了與MySQL 5.6新開啟的參數有關,粗略確定了Thread-Pool是導致慢SQL問題的。

之后通過關閉Thread-Pool進一步確認是開啟該功能引起的。之后我們不斷調整參數和閱讀大量相關的資料,最終將問題解決。

通過以上問題的解決,我們可以學到一些端到端的性能問題解決思路:

定位問題

劃分問題的邊界

每個問題總有它的邊界。當我們無法一眼看出來問題的邊界在哪里時,就需要不斷的通過排除法縮小邊界,在特定的邊界內就用特定的專業知識來定位問題。

搜集關鍵數據得出靠譜結論

比如生產環境中會有各種數據,包含監控數據、臨時部署工具獲取的數據,充分利用這些數據支撐我們的結論。

對問題產生的時間或影響范圍進行上下文聯想

很多問題是隨著一些改變產生的,就像軟件的生命周期一樣,受到各種環境的變化影響。通過問題產生的上下去尋找問題的原因,可以發現大部分問題的產生原因。

解決問題

不斷嘗試

有很多人認為,知道問題的原因了,解決問題是比較容易的。其實我認為這個是反的。因為只有清楚知道問題解決了,才能證明問題的原因是對的。在找到問題的原因之前,其實我們已經通過不斷的調整和測試把問題解決了。所以解決問題很關鍵,貌似是廢話。

合理的理論推斷問題產生的原因

問題解決了,原因也找到了,***一步還要“自圓其說”,這就需要深究技術原理,找到切入點,復現問題了。

解決問題的方法有千萬種,這里列舉了其中一種,希望能夠幫助到大家。

責任編輯:未麗燕 來源: 推酷
相關推薦

2014-07-07 17:40:34

云智慧

2014-06-25 10:43:43

華為

2013-07-04 10:55:20

2021-04-19 17:09:51

戴爾

2010-07-06 14:40:15

解決SQL Serve

2017-03-24 17:18:30

2012-07-04 11:20:43

戴爾

2013-11-06 08:04:40

戴爾大數據

2013-11-01 18:08:00

戴爾

2010-07-22 13:52:24

2013-09-09 16:53:58

大數據英特爾端到端

2022-11-08 15:11:17

GPU開源

2011-03-17 17:50:39

SQL Server數

2014-08-14 11:52:34

ITILAPM

2016-07-11 10:59:54

端到端可視性網絡監控ISP

2021-10-04 18:59:41

蘋果iCloudSafari書簽

2014-06-06 10:22:30

2020-10-26 13:51:11

Kafka數據端到端

2021-06-30 09:00:00

測試Web軟件

2024-03-13 09:39:45

端到端自動駕駛
點贊
收藏

51CTO技術棧公眾號

182在线播放| 国 产 黄 色 大 片| 国产精品一区二区三区av麻| 精品视频免费看| 日本成人在线不卡| 三区在线观看| 国内外成人在线| 欧美一级视频一区二区| 成人欧美一区二区三区黑人一 | 青青国产在线| 久久精品国产在热久久| 高清亚洲成在人网站天堂| 老熟妇一区二区| 国产 日韩 欧美 综合 一区| 欧美中文字幕一区二区三区| 中国丰满熟妇xxxx性| 国产在线一二三区| 成人h动漫精品| 成人美女av在线直播| 国产精品777777| 欧美日韩视频| 日韩在线视频网站| 永久免费看mv网站入口78| 视频一区视频二区欧美| 欧美熟乱第一页| 久草青青在线观看| 俺来俺也去www色在线观看| 国产精品久久久久久亚洲毛片| av伊人久久| 亚洲成av人片| 少妇熟女一区二区| 免费观看成年在线视频网站| 粉嫩av一区二区三区| 国产精品私拍pans大尺度在线| 亚洲精品视频在线观看免费视频| 永久91嫩草亚洲精品人人| 国产亚洲精品日韩| 丰满少妇一区二区三区| 加勒比视频一区| 日韩欧美国产一二三区| 天堂av8在线| 国产成人毛片| 91国产福利在线| 日本熟妇人妻中出| 345成人影院| 日韩欧美国产骚| 91成人在线观看喷潮教学| 丰满诱人av在线播放| 亚洲黄色小说网站| 国产欧美精品aaaaaa片| 18网站在线观看| 亚洲综合一区二区三区| 久久久久久久久久久久久国产| 无遮挡的视频在线观看| 国产精品久久久久久久久动漫| 亚洲欧美日产图| 国产原创在线观看| 亚洲精选在线视频| 日本aa在线观看| 俄罗斯一级**毛片在线播放| 无吗不卡中文字幕| 欧美不卡在线播放| 在线观看福利电影| 91久久久免费一区二区| 成人亚洲视频在线观看| 亚洲电影有码| 欧美日韩高清在线播放| 超碰人人草人人| 精品成人18| 精品国内二区三区| 麻豆精品国产传媒av| 香蕉久久精品| 中文字幕亚洲第一| 日本黄色小说视频| 亚洲美洲欧洲综合国产一区| 欧美一级淫片videoshd| 天天干天天插天天射| 免费高清成人在线| 99re视频在线播放| 性xxxxbbbb| 国产精品午夜免费| 免费看污污视频| 白浆视频在线观看| 欧美色电影在线| 中文 日韩 欧美| 国产伦乱精品| 中文字幕亚洲一区| 天天干中文字幕| 国产精品视频久久一区| 国产精品久久久久久久天堂 | 日韩三级中文字幕| 无码人妻精品一区二区三区99不卡| 久久九九热re6这里有精品| 亚洲天堂成人在线| 国产又黄又爽又无遮挡| 性欧美精品高清| 91精品视频一区| 亚洲日本在线播放| 亚洲欧洲精品一区二区三区 | aa级大片免费在线观看| 一本色道亚洲精品aⅴ| 亚洲综合20p| 欧美男gay| 欧美激情xxxxx| 国产成人av免费| www.在线欧美| 超碰免费在线公开| 中文在线免费视频| 欧美变态口味重另类| 国产又黄又粗的视频| 国产精品www.| 成人在线免费观看视视频| 色鬼7777久久| 亚洲国产欧美日韩另类综合| 国产精品一区二区小说| 日韩电影不卡一区| 欧美成人网在线| 懂色av蜜臀av粉嫩av喷吹| 不卡一卡二卡三乱码免费网站| 亚洲一区综合| 色香欲www7777综合网| 精品久久国产老人久久综合| 午夜精品一区二区三区视频| 日韩精品亚洲专区| 国产欧美综合精品一区二区| 午夜小视频在线观看| 欧美色男人天堂| 久久久久无码精品国产sm果冻| 精品91视频| ts人妖另类在线| 麻豆tv入口在线看| 欧美系列亚洲系列| 波多野吉衣中文字幕| 一本色道久久| 国产精品久久久久久久天堂第1集| 色的视频在线免费看| 日本高清无吗v一区| 成人免费av片| 久久久久免费| 欧美精品一区二区三区在线看午夜 | 亚洲 高清 成人 动漫| 成人免费直播在线| 欧美国产日韩一区| a网站在线观看| 亚洲欧美另类久久久精品| 亚洲欧美日韩精品一区| 成人写真视频| 国产中文欧美精品| 男人影院在线观看| 538在线一区二区精品国产| 亚洲熟女毛茸茸| 激情小说亚洲一区| 欧美美女黄色网| 日韩欧美中文字幕在线视频 | 图片区小说区区亚洲五月| 三级成人在线| 中文字幕国内精品| 91久久精品国产91性色69| 国产精品欧美经典| 亚洲视频在线不卡| 欧美精品色网| 精品国产一区二区三区免费| 中文字幕在线直播| 一本色道久久综合狠狠躁篇怎么玩| 波多野结衣一二区| 国产精品久久久久久福利一牛影视 | 日韩欧美成人一区| 日本特黄特色aaa大片免费| 97成人超碰视| 免费涩涩18网站入口| 久久久久久久久久久9不雅视频| 亚洲影影院av| 极品视频在线| 一本色道久久88精品综合| 国产又黄又猛又爽| 亚洲五码中文字幕| 公侵犯人妻一区二区三区| 美女诱惑一区二区| 国产美女作爱全过程免费视频| 精品淫伦v久久水蜜桃| 国产精品大陆在线观看| 国产乱色在线观看| 精品一区二区三区三区| 亚洲天堂2021av| 亚洲国产综合人成综合网站| 成人免费网站黄| 国精品**一区二区三区在线蜜桃 | 奇米色777欧美一区二区| 日韩视频在线免费播放| 欧美网色网址| 91亚洲精品视频| 大胆人体一区| 欧美国产极速在线| 国产最新视频在线观看| 欧美成人精品高清在线播放| 黄色在线免费观看| 亚洲人成精品久久久久久| 久久一区二区电影| 国产综合久久久久久鬼色 | 亚洲国产精品久久久久久女王| 一区视频网站| 国产精品吊钟奶在线| 色呦呦在线看| 中文字幕日韩欧美在线 | 色yeye香蕉凹凸一区二区av| 蜜桃av中文字幕| 欧美日韩国产色站一区二区三区| 日本熟妇一区二区| 亚洲欧美偷拍卡通变态| 欧美福利第一页| 99精品国产99久久久久久白柏| 91国内在线播放| 欧美亚洲一区| 日韩网站在线免费观看| 久久精品亚洲欧美日韩精品中文字幕| 欧美一区观看| 女一区二区三区| 7777奇米亚洲综合久久| jizz欧美| 国产精品6699| 电影一区二区三区| 97视频免费在线看| 青草在线视频| 久久精品色欧美aⅴ一区二区| 黄色大片在线免费观看| 亚洲精品美女视频| 亚洲国产精品久久久久爰性色| 欧美日韩国产首页| 亚洲无码精品在线播放| 色婷婷一区二区三区四区| 亚洲国产综合久久| 亚洲一级在线观看| 九九免费精品视频| 亚洲免费电影在线| 日本福利片在线观看| 国产精品久久免费看| 成人做爰69片免网站| 久久久久久电影| av黄色免费网站| 26uuu亚洲| 亚洲国产欧美视频| 91在线一区二区| 黄色国产在线观看| 久久品道一品道久久精品| 少妇毛片一区二区三区| 久久精品一区二区三区av| 欧美老熟妇乱大交xxxxx| 久久精品在线观看| 一区二区精品免费| 亚洲国产精品高清| 免费黄色国产视频| 亚洲欧洲一区二区三区| 色在线观看视频| 亚洲一二三四在线| 在线观看亚洲欧美| 色哟哟国产精品免费观看| 天天爱天天做天天爽| 日本久久精品电影| 亚洲自拍偷拍另类| 欧美一区二区美女| 亚洲av永久无码国产精品久久| 精品欧美一区二区久久| 四虎在线视频免费观看| 亚洲欧美999| yourporn在线观看中文站| 日韩在线观看免费高清完整版| 黄色免费在线网站| 国内精品久久久久久影视8| 三级在线观看视频| 国产精品入口夜色视频大尺度| www一区二区三区| 成人av资源网| 亚洲素人在线| 中文字幕日韩精品一区二区| 红桃视频欧美| 欧美日韩第二页| 经典三级在线一区| 国产人妻黑人一区二区三区| 国产日韩一级二级三级| 久久久久久视频| 欧美午夜激情在线| 一级黄色片网站| 亚洲成人精品在线| 国产永久免费高清在线观看视频| 日韩日本欧美亚洲| av在线私库| 国产精品视频一区二区三区四 | 久久99精品国产91久久来源| 久久久无码人妻精品无码| 2021久久国产精品不只是精品| 国产日韩精品中文字无码| 亚洲国产视频一区| 久久久久久av无码免费看大片| 日韩一区二区精品| 高清在线观看av| 久久免费福利视频| 欧美v亚洲v综合v国产v仙踪林| 超碰国产精品久久国产精品99| 久久av资源| 日本黄色片一级片| 蜜臀av性久久久久蜜臀aⅴ四虎| 91亚洲一线产区二线产区| 中文字幕乱码亚洲精品一区| 国产无套粉嫩白浆内谢| 欧美老女人第四色| 九色视频在线观看免费播放 | 日韩三区免费| 国产精品一码二码三码在线| 青青草91久久久久久久久| 欧美精品一区二区三区三州| 狠狠色丁香婷综合久久| 五月天精品视频| 亚洲成人动漫av| 国产美女www爽爽爽视频| 伊人男人综合视频网| 成人美女黄网站| 国产精品我不卡| 欧美a级在线| 色播五月激情五月| 久久精品夜色噜噜亚洲a∨| 久久免费小视频| 日韩视频免费直播| 国产原创在线观看| 成人激情视频在线| 成人羞羞视频播放网站| 亚洲精品中文字幕无码蜜桃| 91在线视频官网| 国产一区二区三区影院| 日韩欧美一区在线| av片哪里在线观看| 91色中文字幕| 91精品国产91久久综合| gai在线观看免费高清| 亚洲国产精品精华液2区45| 青青艹在线观看| 国产午夜一区二区| 国产一区二区主播在线| 日本在线一区| 狂野欧美一区| 国产综合精品久久久久成人av| 色婷婷综合五月| 99riav在线| 国产日韩精品在线| 国产精品传媒精东影业在线| 免费一区二区三区在线观看| 国产精品久久久久久亚洲伦| 国产一区二区波多野结衣| 色偷偷888欧美精品久久久| 国产黄色精品| 少妇熟女一区二区| 国产成人av一区| 国产在线拍揄自揄拍无码视频| 亚洲国产成人av在线| gogo久久| 蜜桃视频在线观看91| 葵司免费一区二区三区四区五区| 精品人伦一区二区| 欧美日韩夫妻久久| 国产黄色在线网站| 国产精品免费一区二区三区观看| 黄色免费成人| 亚洲天堂网一区二区| 色综合久久中文字幕| h视频网站在线观看| 成人淫片在线看| 日韩香蕉视频| 亚洲精品国产一区黑色丝袜 | 国产精品你懂得| 99精品视频精品精品视频| 搡的我好爽在线观看免费视频| 亚洲综合男人的天堂| 天堂91在线| 国产精品678| 综合久久亚洲| 欧美性xxxx图片| 欧美日韩国产影片| 99爱在线视频| 视频在线观看成人| 国产91精品露脸国语对白| 久久国产视频精品| 日韩中文字幕在线免费观看| 超碰97成人| 日本成人在线免费视频| 一区二区三区日韩| 国产在线播放av| 91免费版黄色| 日韩高清欧美激情| 久久综合综合久久| 国产一区二区三区日韩欧美| 99久久久国产| 欧美视频免费播放| 玉足女爽爽91| 成人一区二区不卡免费| 成人自拍爱视频| 久久精品久久99精品久久| 看片网址国产福利av中文字幕| 日韩视频一区在线| 亚洲三级网址| 蜜桃视频无码区在线观看| 欧美亚洲综合一区|