日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql加速搜索_巧用MySQL AHI加速神器,让你的InnoDB查询飞起来!

發布時間:2023/12/20 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql加速搜索_巧用MySQL AHI加速神器,让你的InnoDB查询飞起来! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:巧用MySQL AHI加速神器,讓你的InnoDB查詢飛起來!

作者:張青林,騰訊云布道師、MySQL架構師,隸屬騰訊TEG-基礎架構部-CDB內核開發團隊,專注于MySQL內核研發&相關架構工作,有著服務多個10W級QPS客戶的數據庫優化及穩定性維護經驗。

騰訊云數據庫團隊:繼承騰訊數據庫團隊十多年海量存儲的內部數據庫運營和運維經驗,推出一系列高性能關系型、分布式、文檔型和緩存類數據庫產品,并提供高可用性、自動化運維和易維護的云數據庫綜合解決方案。

MySQL 定位用戶記錄的過程可以描述為:

打開索引 -> 根據索引鍵值逐層查找 B+ 樹 branch 結點 -> 定位到葉子結點,將 cursor 定位到滿足條件的 rec 上;

如果樹高為 N,則需要讀取索引樹上的 N 個結點并進行比較,如果 buffer_pool 較小,則大量的操作都會在 pread 上,用戶響應時間變長;

另外,MySQL 中 Server 層與 Engine 之間的是以 row 為單位進行交互的,engine 將記錄返回給 server 層,server 層對 engine 的行數據進行相應的計算,然后緩存或發送至客戶端,為了減少交互過程所需要的時間,MySQL 做了兩個優化:

如果同一個查詢語句連續取出了 MYSQL_FETCH_CACHE_THRESHOLD(4) 條記錄,則會調用函數 row_sel_enqueue_cache_row_for_mysql 將 MYSQL_FETCH_CACHE_SIZE(8) 記錄緩存至 prebuilt->fetch_cache 中,在隨后的 prebuilt->n_fetch_cached 次交互中,都會從prebuilt->fetch_cache 中直接取數據返回到 server 層,那么問題來了,即使是用戶只需要 4 條數據,Engine 層也會將 MYSQL_FETCH_CACHE_SIZE 條數據放入 fetch_cache 中,造成了不必要的緩存使用。另外,5.7 可以根據用戶的設置來調整緩存用戶記錄的條數;

Engine 取出數據后,會將 cursor 的位置保存起來,當取下一條數據時,會嘗試恢復 cursor 的位置,成功則并繼續取下一條數據,否則會重新定位 cursor 的位置,從而通過保存 cursor 位置的方法可以減少 server 層 & engine 層交互的時間;

Server 層 & engine 層交互的過程如下,由于 server & engine 的 row format 不一樣,那么 engine row format -> server row format 在讀場景下的開銷也是比較大的。

1

AHI 功能作用

由以上的分析可以看到 MySQL 一次定位 cursor 的過程即是從根結點到葉子結點的路徑,時間復雜度為:height(index) + [CPU cost time],上述的兩個優化過程無法省略定位 cursor 的中間結點,因此需要引入一種可以從 search info 定位到葉子結點的方法,從而省略根結點到葉子結點的路徑上所消耗的時間,而這種方法即是自適應索引(Adaptive hash index, AHI)。查詢語句使用 AHI 的時候有以下優點:

可以直接通過從查詢條件直接定位到葉子結點,減少一次定位所需要的時間;

在 buffer pool 不足的情況下,可以只針對熱點數據頁建立緩存,從而避免數據頁頻繁的 LRU;

但是 AHI 并不總能提升性能,在多表Join & 模糊查詢 & 查詢條件經常變化的情況下,此時系統監控 AHI 使用的資源大于上述的好處時,不僅不能發揮 AHI 的優點,還會為系統帶來額外的 CPU 消耗,此時需要將 AHI 關閉來避免不必要的系統資源浪費,關于 AHI 的適應場景可以參考:https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/innodb-adaptive-hash.html

2

AHI 內存結構

AHI 會監控查詢語句中的條件并進行分析(稍后會進行詳細的介紹),當滿足 AHI 緩存建立的條件后,會選擇索引的若干前綴索引列對熱點數據頁組建 hash page 以記錄 hash value -> page block 之間的對應關系,本小節主要對 AHI 的內存結構 & 內存來源進行相應的介紹,其內存結構如圖:

上圖是 AHI 的一個內存結構示意圖,AHI 主要使用以下兩種內存:

系統初始化分配的 hash_table 的內存,其中每一個 hash_table 的數組大小為:(buf_pool_get_curr_size() / sizeof(void*) / 64),根據機器位數的不同,數組大小不同, 32位機器為 buffer_pool大小的 1/256, 64 位機器為 buffer_pool 大小的 1/512, 此部分內存為系統內存(mem_area_alloc->malloc),主要用于構建 hash_table 結構;

當 AHI 對數據頁面構造 AHI 緩存時,此時使用 buffer_pool 的 free 鏈接中的內存,即 buffer_pool 的內存,所以在頁數據發生變化的時候,需要對 AHI 緩存進行相應的維護;

3

AHI 實現解析

AHI在查詢過程中的作用范圍

MySQL 中 Server & InnoDB 的交互中是以行為單位進行交互的,InnoDB逐行取數據的過程可以分為以下 6 個步驟:

如果發現其它線程需要對btr_search_latch上鎖,則釋放 btr_search_latch,然后執行 1; (5.6 & 5.7 在實現上不同)

嘗試從 row_prebuilt_t->fetch_cache 中取數據庫記錄,有則直接返回,如果沒有數據或者不可以使用 fetch cache, 則執行2;

在滿足條件的情況下,使用 AHI 定位 cursor 位置并返回數據, 否則執行 3;

根據 direction 的值確認是否可以從 row_prebuilt_t中恢復 cursor 的位置,如果 direction = 0 或不可以從 row_prebuilt_t中恢復 cursor 的位置, 則調用 btr_pcur_open_at_index_side 打開索引,調用 btr_cur_search_to_nth_level,如果可以使用 AHI,則快速定位葉子結點,否則遍歷 height(index) 個結點定位 cursor, 然后進入 4;如果可以從 row_prebuilt_t 恢復則執行 5;

根據查找的值在葉子結點中逐個匹配,查找滿足條件的記錄,返回數據,取下一條記錄時執行 3,5;

移動 cursor 到下一條記錄并返回數據。

AHI 則在第 [2, 3] 兩個步驟中影響著定位葉子結點的過程,根據查詢條件定位葉子節點的過程中發揮著 hash 的作用,AHI 的實現主要包括 AHI 初始化過程、構建條件、使用過程、維護過程、系統監控等部分,我們從源碼的實現的角度上分析上述過程。

AHI初始化過程

AHI 作為 buffer_pool 的一部分,是建立查詢條件與 REC 在內存中位置的一個 hash_table, 在系統啟動的時候會隨著 buffer_pool 的初始化而自動的建立相應的內存結構,其初始化過程為:

利用系統內存 (malloc) 創建全局變量 btr_search_sys 及其鎖結構;

利用系統內存 (malloc) 建立 hash_table 內存結構,并初始化其成員變量,其中 hash_table 數組的大小取決于當前 buffer_pool 的 size 與 系統的機器位數,計算公式為:buf_pool_get_curr_size() / sizeof(void*) / 64,hash_table_t 的結構如下所示:

說明:

所有 buffer_pool instances 共享一個 AHI, 而不是每一個 buffer_pool instance 一個 AHI;

5.7.8 之前 AHI 只有一個全局的鎖結構 btr_search_latch,當壓力比較大的時候會出現性能瓶頸,5.7.8 對 AHI 進行了拆鎖處理,詳情可以參考函數: btr_get_search_table() & btr_search_sys_create();

AHI 的 btr_search_latch (bug#62018) & index lock 是MySQL中兩個比較大的鎖(詳情可以參考:https://www.percona.com/blog/2010/02/25/index-lock-and-adaptive-search-next-two-biggest-innodb-problems/)。5.7 通過對 AHI 鎖拆分 (5.7 commit id: ab17ab91) 以及引入不同的索引鎖協議 (WL#6326) 解決了這兩個問題。

AHI構建條件

AHI 是建立在 search info & REC 內存地址之間的映射信息,在系統接受訪問之前并沒有足夠的信息來建立 AHI 的映射信息,所以需要搜集 SQL 語句在執行過程中的 search_info & block info 信息并判斷是否可以為數據頁建立 AHI 緩存,其中:

search info 對應 btr_search_t, 用于記錄 index 中的 n_fields (前綴索引列數) & n_bytes(last column bytes) 信息,這些被用于計算 fold 值;

block info 用于記錄計算 fold 的值所需要的 fields & bytes 之外,還記錄了在此情況下使用 AHI 在此數據頁上潛在成功的次數;

我們簡單地對AHI統計信息的幾個方面進行描述。

觸發 AHI 索引統計的條件

SQL 語句在定位 cursor 的過程中會執行 btr_cur_search_to_nth_level 函數,當打開 AHI 的時候,在btr_cur_search_to_nth_level 返回之前會調用 btr_search_info_update 來更新相應的統計信息,如果當前的索引的 serch_info->hash_analysis < BTR_SEARCH_HASH_ANALYSIS (17),則對 search info & block info 不進行統計,否則則會調用 btr_search_info_update_slow 更新 search info & block info 信息,實現如下:

AHI中索引查詢信息(index->search_info)的更新與自適應的過程

背景知識:

btr_cur_search_to_nth_level 中在定位 cursor 的過程中會在樹的每一層調用 page_cur_search_with_match 來確定下一個 branch 結點或葉子結點,page_cur_search_with_match 函數會將查詢過程中比較的前綴索引列數 & 最后一列匹配的字節數記錄至 {cursor->up_match, cursor->up_bytes, cursor->low_bytes, cursor->low_match},目的是為了保存與 search tuple 在比較過程時的最小比較單元,詳細的計算過程可以參考 page_cur_search_with_match 的實現代碼。

首先判斷當前 index 是否為 insert buffer tree,如果是 insert buffer,則不進行 AHI 等相關的操作;

其次,如果當前索引的 info->n_hash_potential = 0,則會按照推薦算法從 {cursor->up_match, cursor->up_bytes, cursor->low_bytes, cursor->low_match} 推薦出前綴索引列數 & 最后一列的字節數用于計算 AHI 中存儲的鍵 {ha_node_t->fold} 的值。

當 info->n_hash_potential != 0 時,則會判斷當前查詢匹配模式 & index->search_info 中保存的匹配模式是否發生變化,如果沒有發生變化,則會增加此模式下潛在利用 AHI 成功的次數 (info->n_hash_potential),否則需要重新推薦前綴索引列等相關信息,并清空 info->n_hash_potential 的值(info->n_hash_potential = 0),AHI 就是利用這種方法來實現自適應的,所以在打開 AHI 的系統中不建議經常變換查詢條件,前綴索引等信息的計算過程如下:

由以上算法可以看出,選擇{info->n_fields, info->n_bytes, info->left_side}的依據則是在不超過 unique index 列數的前提下,使其計算代價最小,而 index->info->left_side 的值則會決定存儲同一數據頁上相同前綴索引的最左記錄還是最右記錄。

數據頁block信息的更新

數據頁 block info 的更新主要包括數據頁上的索引匹配模式、在已有索引匹配模式下成功的次數以及是否為該數據頁建立 AHI 緩存信息的判斷,其主要過程如下:

將 index->info->last_hash_succ 設置為 FALSE,此時其它線程無法使用該索引上 AHI 功能;

如果 index->search_info 的匹配格式 & 該數據頁上保存的匹配模式相同時,則增加此 block 使用 AHI 成功的次數 block->n_hash_helps, 如果已經為該數據頁建立 AHI 緩存,則設置 index->info->last_hash_succ = TRUE;

如果 index->search_info 的匹配格式 & 該數據頁上保存的匹配模式不相同,則設置 block->n_hash_helps=1 且使用 index->search_info 對 block 上的索引匹配信息進行重新設置,詳細過程可參考 btr_search_update_block_hash_info;

判斷是否需要為數據頁建立 AHI 緩存,在數據頁 block 上使用 AHI 成功的次數大于此數據頁上用戶記錄的 1/16 且當前前綴索引的條件下使用 AHI 成功的次數大于 100 時, 如果此數據頁使用 AHI 潛在成功的次數大于 2 倍該數據頁上的用戶記錄或者當前推薦的前綴索引信息發生了變化的時,則需要為數據頁構造 AHI 緩存信息,詳情可參考以下代碼;

AHI構建過程(收集&判斷&建立)

AHI 的構建過程指的是根據 index->search_info 構建查詢條件 & 數據頁的 hash 關系,其主要過程為:

1、收集 hash 信息。遍歷該數據頁上的所有用戶記錄,建立由前綴索引信息&物理記錄之間的映射關系的數組{folds, recs},其中index->info->left_side用來判斷在前綴索引列相同情況下如何保存物理頁記錄,從代碼中可以得知:當left_side為TRUE時前綴索引列相同的記錄只保存最左記錄,當left_side為FALSE時前綴索引列相同的記錄只保存最右記錄,代碼實現如下:

2、如果之前該數據頁已經存在 AHI 緩存信息但前綴索引信息與當前的信息不一致,則釋放之前緩存的 AHI 信息,如果釋放超過了一個 page size,則將釋放的數據頁退還給 buffer_pool->free 鏈表;

3、調用 btr_search_check_free_space_in_heap 來確保 AHI 有足夠的內存生成映射信息 ha_node_t {fold, data, next},該內存從 buffer_pool->free 鏈表獲得,詳情參考:buf_block_alloc(), fold 的值的計算可參考函數:rec_fold();

4、由于操作過程中釋放了 btr_search_latch,需要再次檢查 block 上的AHI信息是否發生了變化,如果發生變化則退出函數;

5、調用 ha_insert_for_fold 方法將之前收集的信息生成 ha_node_t, 并將其存放到 btr_search_sys->hash_table 的數組中,其中存放后的結構可以參考圖 AHI memory structure;

for (i = 0; i < n_cached; i++) {

ha_insert_for_fold(table, folds[i], block, recs[i]);

}

AHI使用條件及定位葉子結點過程

在“AHI 在查詢過程中的作用范圍”一節中我們詳細的介紹了 MySQL 中 Server 層 & engine 層中的交互方式以及 AHI 在整個過程中的位置 & 作用,下面著要看一下在 步驟 2、3 中 AHI 是如何工作的。

步驟 2 中,是使用 AHI 的一種 shortcut 查詢方式,只有在滿足很苛刻的條件后才能使用 AHI 的 shortcut 查詢方式,這些苛刻條件包括:

當前索引是 cluster index;

當前查詢是 unique search;

當前查詢不包含 blob 類型的大字段;

記錄長度不能大于 page_size/8;

不是使用 memcache 接口協議的查詢;

事物開啟且隔離級別大于 READ UNCOMMITTED;

簡單 select 查詢而非在 function & procedure;

在滿足以上條件后才能使用 AHI 的 shortcut 查詢方式定位葉子結點,5.7 中滿足條件后的操作可以簡單的描述為:

rw_lock_s_lock(btr_get_search_latch(index));

...

row_sel_try_search_shortcut_for_mysql()

...

rw_lock_s_lock(btr_get_search_latch(index));

步驟 3 中使用 AHI 快速定位葉子結點同樣需要滿足一些條件,具體可以參考代碼:btr_cur_search_to_nth_level(),在此不再累述,我們著重分析一下使用 AHI 定位葉子節點的過程。

1、對 index 所在的 hash_table 上鎖,使用查詢條件中的 tuple 信息計算出鍵值 fold;

rw_lock_s_lock(btr_search_get_latch(index));

fold = dtuple_fold(tuple, cursor->n_fields, cursor->n_bytes, index_id);

2、在 hash_table 上進行查找 key = fold 的 ha_node_t;

3、釋放鎖資源并根據返回的記錄定位葉子結點;

block = buf_block_align(rec);

rw_lock_s_unlock(btr_search_get_latch(index));

btr_cur_position(index, (rec_t*) rec, block, cursor);

4、定位到葉子結點后的過程和不使用 AHI 之后的過程類似,直接返回記錄并記錄 cursor 位置。

AHI維護&監控

MySQL 5.7 中有兩個 AHI 相關的參數,分別為:

innodb_adaptive_hash_index, innodb_adaptive_hash_index_parts,其中 innodb_adaptive_hash_index 為動態調整的參數,用以控制是否打開 AHI 功能;innodb_adaptive_hash_index_parts 是只讀參數,在實例運行期間是不能修改,用于調整 AHI 分區的個數(5.7.8 引入),減少鎖沖突,詳細介紹可以參考官方說明:innodb_adaptive_hash_index及innodb_adaptive_hash_index,本節主要介紹操作 AHI 的相關命令以及命令的內部實現過程。

1)打開AHI操作&內部實現

set global innodb_adaptive_hash_index=ON,此命令只是對全局變量進行設置,代碼實現如下:

2)關閉AHI操作&內部實現

set global innodb_adaptive_hash_index= OFF,此命令用于關閉 AHI 功能,具體實現可參考 btr_search_disable(), 關閉流程說明:

設置 btr_search_enabled = FALSE,關閉 AHI 功能;

將數據字典中所有緩存的表對象的 ref_count 設置為0,只有 btr_search_info_get_ref_count(info, index) = 0 的情況下才能清除數據字典中的緩存對象,詳情見 dict_table_can_be_evicted();

將所有數據頁中的統計信息置空,具體實現可參考 buf_pool_clear_hash_index();

釋放 AHI 所使用的 buffer_pool 的內存,btr_search_disable 具體實現如下:

3) AHI緩存信息的維護

AHI 維護的是 search info & REC 在物理內存地址的 hash 關系,當物理記錄的位置或者所在 block 的地址發生變化時,AHI 也需要對其進行相應的維護,如新記錄的的插入,表記錄的的刪除,數據頁的分裂,drop table & alter table,LRU 換頁等都需要對 AHI 進行相應的維護,詳情可參考函數 btr_search_update_hash_ref() & btr_search_drop_page_hash_index() & buf_LRU_drop_page_hash_for_tablespace()的實現;

4) AHI信息的監控

AHI 默認情況下只對 adaptive_hash_searches (使用 AHI 方式查詢的次數) & adaptive_hash_searches_btree (使用 bree 查詢的次數,需要遍歷 branch 結點) 進行監控,更詳細的監控需要進行額外的設置,詳細設置方法可參考 innodb_monitor_enable &module_adaptive_hash,打開 AHI 的監控方法、使用監控、重置監控的方法如下:

值得一提的是只有執行 set global innodbmonitor_reset_all='adaptive_hash%' & set global innodb_monitor_disable='adaptive_hash%' 才對狀態進行重置,如果發現 adaptive_hash_searches << adaptive_hash_searches_btree 的時候,則應該關閉 AHI 以減少不必要的系統消耗。

相關專題:

精選專題(官網:dbaplus.cn)

◆近期熱文 ◆

◆MVP專欄 ◆

丨丨丨丨

責任編輯:

總結

以上是生活随笔為你收集整理的mysql加速搜索_巧用MySQL AHI加速神器,让你的InnoDB查询飞起来!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

狠狠躁日日躁 | 久久久久久免费网 | 日韩欧美在线观看一区二区三区 | 99精品久久久久久久久久综合 | 97视频在线观看免费 | 91在线区| 在线91视频 | 免费看片亚洲 | 伊人久久五月天 | 日韩在线中文字幕视频 | 亚洲综合视频在线 | 久久久免费在线观看 | 国产一区在线观看视频 | 成人资源在线播放 | 久久综合色一综合色88 | 国产亚洲精品成人 | 91丨九色丨高潮 | 色网站视频| 国产视频久久久久 | 三级黄色三级 | 亚洲精品久久久久999中文字幕 | 欧洲精品码一区二区三区免费看 | 国产美女精品视频 | 黄色小说18 | 超碰日韩在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 99国产一区二区三精品乱码 | 911香蕉视频 | av电影不卡 | 久久伊人精品天天 | 亚洲九九影院 | 久久一精品 | 在线观看免费av网 | 国产精品中文字幕av | 一区二区中文字幕在线播放 | 欧美日韩另类在线 | 欧美aaa一级 | av电影一区二区三区 | 日韩在线免费不卡 | 97免费在线观看 | 麻豆传媒视频在线 | 美女网站色在线观看 | 精品uu | 日本成人中文字幕在线观看 | 国产在线观看你懂得 | 成人黄色片在线播放 | 日韩高清一区二区 | 9999精品视频 | 国产一区二区免费在线观看 | 手机看片中文字幕 | 久久不卡视频 | 久日精品 | 中文字幕在线观看第二页 | 99免费在线观看视频 | 在线精品视频在线观看高清 | 96精品视频| 欧美在线观看视频免费 | 在线免费观看黄色大片 | 深夜免费福利在线 | 激情综合电影网 | 99久久超碰中文字幕伊人 | 嫩小bbbb摸bbb摸bbb | 人人干人人上 | 最新av在线网址 | av色综合网 | 91视频在线国产 | 日韩精品五月天 | 国产在线免费av | 久久精品这里都是精品 | 五月激情综合婷婷 | 亚洲国产成人在线观看 | 国产一区二区三区免费视频 | 少妇视频在线播放 | 国产91电影在线观看 | 91免费的视频在线播放 | 久久综合免费视频 | 九九热精品视频在线观看 | 久久久久国产成人免费精品免费 | 日女人电影 | 天堂网一区 | 香蕉网在线观看 | 成人av电影在线观看 | av片免费播放 | 久久国产a | 99爱这里只有精品 | 99久热在线精品视频观看 | 国内精品久久久久影院日本资源 | 中文字幕一区二区三区四区 | 91精品国产电影 | 国产精彩在线视频 | 99久久精品国产免费看不卡 | 人人玩人人添人人 | 中文字幕在线视频国产 | 久久99久久99精品中文字幕 | 日韩在线观看视频一区二区三区 | 美女av免费| 日韩网站在线看片你懂的 | 久久网页 | 日狠狠 | 五月天狠狠操 | 国产欧美日韩精品一区二区免费 | 中国一级片视频 | 色婷婷福利 | 一级a毛片高清视频 | 国产九色在线播放九色 | 国产成人精品免费在线观看 | 久草视频中文 | 久久r精品 | 欧美伦理电影一区二区 | 久久久久久久久久久免费av | 中文字幕av免费 | 国产传媒中文字幕 | 美女很黄免费网站 | 亚洲电影一级黄 | 日韩大片在线免费观看 | 黄色毛片一级 | 成人av免费在线播放 | 97人人人人 | 免费涩涩网站 | 日韩在线大片 | aaa日本高清在线播放免费观看 | 亚洲一二三在线 | 美女国产免费 | 欧美日韩亚洲第一页 | 91毛片在线 | 在线一区观看 | 色播六月天 | 亚洲精品在线观看的 | 国精产品999国精产品岳 | 丁香花中文在线免费观看 | 欧美精品在线观看一区 | 黄色软件视频大全免费下载 | 亚洲a网| 综合影视 | 日韩av免费大片 | 五月天最新网址 | 99国产在线 | av官网在线| 国产二区视频在线观看 | 色多多视频在线观看 | 亚洲专区一二三 | 一级黄色片在线免费看 | 日韩午夜视频在线观看 | 国产91综合一区在线观看 | 久久电影色 | 国内精品视频一区二区三区八戒 | 在线观看岛国片 | 久久久久免费精品国产 | 久久精品国产免费看久久精品 | 国产一二三四在线视频 | 麻豆成人网| 日日夜夜天天射 | 午夜精品一区二区三区在线播放 | a精品视频 | 韩国精品一区二区三区六区色诱 | 成人免费精品 | 国产精品视频地址 | 久久国产精品99久久久久久进口 | 91片网 | 91干干干| 碰超在线观看 | 天天亚洲 | 国产精品综合久久久 | 麻豆播放 | 日韩中文在线电影 | 91久久久国产精品 | 麻豆视频网址 | 国产精品剧情在线亚洲 | 韩国精品一区二区三区六区色诱 | 亚洲小视频在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产日韩欧美在线看 | 日韩欧美高清免费 | 色多多污污在线观看 | 国产精品video爽爽爽爽 | 中文字幕区 | 色欧美综合 | 久久不卡av| 激情网站免费观看 | 国产精品久久久久一区二区三区共 | 国产aaa毛片 | 久久久久综合精品福利啪啪 | 国产高清在线a视频大全 | 久草在线综合网 | 一级成人免费视频 | 人人添人人澡 | 国产999精品久久久久久麻豆 | 综合精品在线 | 精品久久精品久久 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 天天天操操操 | 国外调教视频网站 | 日本中文字幕在线一区 | 黄色av影视| 日本中文字幕在线视频 | 青青草在久久免费久久免费 | 国产高清视频在线播放一区 | 久久精品官网 | 国内三级在线 | 欧美日韩一区二区久久 | 国产精品免费久久久久久久久久中文 | 中文字幕在线影院 | 在线成人中文字幕 | 久久6精品 | 天天操天天干天天插 | 99在线观看精品 | 亚洲免费av在线播放 | 一区二区三区免费在线 | 在线视频欧美日韩 | 日韩视频专区 | 亚洲欧美一区二区三区孕妇写真 | 亚洲精品一区二区网址 | 欧美精品久久人人躁人人爽 | 一区二区三区在线免费播放 | 中文字幕av最新 | 美女av免费 | 亚洲九九 | 国产精品久久99精品毛片三a | 国产色在线观看 | 在线观看国产亚洲 | 国产精品6 | 最近高清中文字幕 | 久久久999精品视频 国产美女免费观看 | 欧美久久成人 | 精品国产成人av在线免 | 久久精品一二三 | 日本精品久久久久久 | 美国av大片 | 国产不卡高清 | 日韩精品欧美专区 | 久久综合干 | 美女av电影 | 国产精品久久久久久久电影 | 99热最新在线 | 欧美色图亚洲图片 | 国产69精品久久99不卡的观看体验 | 欧美成人在线免费 | 在线视频一区二区 | 最近高清中文字幕 | 中文字幕日韩电影 | 欧美精品久久久久久久久久久 | 99免费在线播放99久久免费 | 成人午夜黄色影院 | 久久精品一区二区三区视频 | 欧美国产日韩一区二区三区 | 久久99国产一区二区三区 | 国产精品9999久久久久仙踪林 | 中文字幕在线播放一区 | 91视频91色 | 丁香六月国产 | 99在线精品视频观看 | 91在线产啪 | 国产一区二区三区免费观看视频 | 综合久久网 | 97超碰人人澡 | 在线观看免费 | 色婷婷免费 | 国产在线精品区 | 六月丁香激情综合色啪小说 | ww视频在线观看 | 日日干网 | 国产成人精品午夜在线播放 | 一级黄色片在线播放 | 激情五月视频 | 911久久| 日韩爱爱网站 | 狠狠色噜噜狠狠狠合久 | 99re6热在线精品视频 | 成人av免费在线观看 | 在线不卡a | 成人啪啪18免费游戏链接 | 欧美日韩高清一区二区 | www.操.com| 视频91在线 | 久久久久国产精品午夜一区 | 丁香高清视频在线看看 | 中文字幕高清在线播放 | 国产高清不卡 | 亚洲精品久久久蜜臀下载官网 | 高清日韩一区二区 | 欧美亚洲三级 | 国产不卡av在线播放 | 国产亚洲精品久久久久久电影 | 国产日产欧美在线观看 | 在线观看视频日韩 | 国产流白浆高潮在线观看 | 国产精品成人自产拍在线观看 | av中文在线观看 | 亚洲人成免费 | 久久精品免视看 | 黄色app网站在线观看 | 91在线区 | 国产成人精品在线 | 美女国产精品 | 日韩sese| 日韩在线观看视频网站 | 亚洲色图27p | 国产成人一区二区三区在线观看 | 349k.cc看片app| 国产九九在线 | 中文字幕一区二区三区四区久久 | 国产综合激情 | 婷婷亚洲综合五月天小说 | 日韩免费一区 | 久久综合九色九九 | 亚洲 中文字幕av | 亚洲午夜av电影 | 91人人视频在线观看 | 日日草夜夜操 | 亚洲精品大全 | 国产香蕉97碰碰久久人人 | 91探花国产综合在线精品 | 日韩91av| 久久只精品99品免费久23小说 | 狠狠干.com | 久久成人在线视频 | 在线黄色观看 | 93久久精品日日躁夜夜躁欧美 | 中文字幕在线视频一区 | 四虎影视av| 69精品在线观看 | 天堂网一区二区三区 | www.com.黄| 天天干,夜夜操 | 国产精品成人久久久久 | 视频在线观看入口黄最新永久免费国产 | 99久久综合狠狠综合久久 | 黄影院| 丁香 久久 综合 | 午夜av电影 | 久久国产经典视频 | 一区在线免费观看 | 亚洲 中文字幕av | 婷婷色吧 | 欧美在线a视频 | 91桃色免费观看 | 国产精品毛片久久蜜 | 日韩免费观看视频 | 福利视频午夜 | 爱爱av网| 久久久久久久久综合 | 深爱激情亚洲 | 久久久香蕉视频 | 99久久久国产精品美女 | 成年人看片 | 日本中文不卡 | 免费三级av | 久久国色夜色精品国产 | 丁香婷婷色综合亚洲电影 | 久久精品一区二区三区国产主播 | 日韩二区三区在线观看 | 日本精品久久久久影院 | 美女黄色网在线播放 | 五月天天av | sesese图片 | 国内精品99 | 欧美 日韩 性 | 波多野结衣在线观看一区二区三区 | 狠狠的操狠狠的干 | 成人黄性视频 | 久久成人午夜视频 | 国产精品成人一区 | 欧美精品一区二区免费 | 亚洲精品一区二区三区新线路 | 久久影院亚洲 | 中文字幕专区高清在线观看 | 中文字幕在线日本 | 国产午夜精品一区二区三区嫩草 | 中文在线a∨在线 | 日韩激情av在线 | 日韩国产精品久久 | 久草网视频在线观看 | 99精品久久99久久久久 | 亚洲第一中文字幕 | 日韩理论片| 中文字幕av在线播放 | 亚洲国产午夜 | 欧美日韩在线播放 | 人人爽人人香蕉 | 久久国产精品第一页 | 亚洲九九九 | 国产男女无遮挡猛进猛出在线观看 | 在线影院av | 91久久一区二区 | 玖玖视频精品 | 国产精品高潮在线观看 | 亚洲一区日韩 | 91人人人| 亚洲福利精品 | 国产成人av电影在线观看 | 亚洲国产精品传媒在线观看 | 国产免费看 | 毛片二区 | 国产精品久久久久久五月尺 | 黄网站www| 国产精品一区二区在线免费观看 | 在线影院av| 97成人免费 | 最新av中文字幕 | 天天干天天搞天天射 | 欧美a视频在线观看 | av色图天堂网| 九九综合久久 | 青草草在线 | 美女在线免费观看视频 | 中文字幕在线观看一区二区 | av导航福利 | 在线观看视频一区二区三区 | 二区中文字幕 | 欧美三级在线播放 | 成人久久18免费网站图片 | 久久综合九色99 | 92中文资源在线 | 天天射天天射天天射 | 夜夜夜夜操 | 日韩在线播放视频 | 精品美女久久 | 一 级 黄 色 片免费看的 | 中文字幕在线免费看线人 | av黄网站 | 综合久久综合久久 | 国产黄大片在线观看 | 在线色亚洲 | 最近中文字幕完整高清 | 97品白浆高清久久久久久 | 玖玖精品在线 | 欧美精选一区二区三区 | 国产福利一区在线观看 | 欧美日韩精品区 | 91av视频网站| 在线亚洲午夜片av大片 | 国产黄大片在线观看 | 精品美女久久久久久免费 | 欧美精品一区二区三区四区在线 | 在线观看91久久久久久 | 国产伦理久久精品久久久久_ | 欧洲亚洲女同hd | 麻豆免费视频网站 | 久久免费公开视频 | 国产乱老熟视频网88av | 国产理论一区二区三区 | 日韩精品视频久久 | 久久精品91久久久久久再现 | 免费精品国产va自在自线 | 香蕉视频在线免费 | 日韩视频1| 美女一二三区 | www.99热精品 | 粉嫩av一区二区三区免费 | 色婷婷综合激情 | 特级毛片在线免费观看 | 久久国产免费看 | 国产精品国产亚洲精品看不卡 | 亚洲精品视频在线免费播放 | 国产精品视频永久免费播放 | 在线免费中文字幕 | 国产中文字幕在线播放 | 91在线视频一区 | 免费电影播放 | 四虎永久免费 | 国产精品theporn| 国内精品久久久久久久久久 | 欧美色插| 91精品在线免费观看视频 | 你操综合 | 91麻豆精品国产91久久久久久久久 | 五月天久久婷 | 成人一级在线观看 | 亚洲精品色婷婷 | 日韩欧美在线国产 | 99视频在线精品国自产拍免费观看 | 天天干.com | 国产精品入口传媒 | 天天操天天摸天天爽 | 狠狠婷婷 | 久久久久久久久久影院 | 久久亚洲福利 | 精品视频免费在线 | 不卡av免费在线观看 | 一区二区精 | 激情视频免费观看 | 国产精品热视频 | 日日夜夜骑 | 久久久精品 一区二区三区 国产99视频在线观看 | 久久成人麻豆午夜电影 | 久久精品国产v日韩v亚洲 | 天天干视频在线 | 欧美日韩在线精品一区二区 | 91麻豆精品国产91久久久无限制版 | 精品91久久久久 | 欧美成人视 | 播五月婷婷 | 麻花豆传媒mv在线观看 | 日本xxxx裸体xxxx17 | 中文字幕免费在线看 | 在线免费看黄色 | 欧美亚洲专区 | 国产精品久久久久久爽爽爽 | 天堂av在线中文在线 | 视频在线观看亚洲 | 日韩在线观看的 | 碰超人人 | 中文字幕国产一区二区 | 999久久久欧美日韩黑人 | wwwww.国产 | 精品亚洲免费 | av在线免费观看黄 | 91免费国产在线观看 | 国内精品久久久久久 | 国产日韩欧美视频 | 国产免费人成xvideos视频 | 99在线热播精品免费 | 久久久久国产成人精品亚洲午夜 | 亚洲精品在线免费播放 | 久久国产精品小视频 | 九九精品久久久 | 精品久久一 | 韩国一区二区三区在线观看 | 99精品网站 | 丁香六月综合网 | 亚洲激情av | 毛片激情永久免费 | 97视频在线观看成人 | 亚在线播放中文视频 | 在线观看岛国 | 国产精品99久久久久 | 五月婷婷激情六月 | 国产精品久久久一区二区三区网站 | 国产精品乱码久久久久 | 欧美日韩破处 | av一区二区在线观看中文字幕 | 中文字幕在线免费看线人 | 国产成人av免费在线观看 | 九九视频热 | 伊人视频 | 99久久超碰中文字幕伊人 | 久久精品三 | 99免费在线观看 | 精品视频 | 天天拍天天草 | 亚洲首页 | 69久久99精品久久久久婷婷 | 色婷婷播放 | 精品一二三区视频 | 亚洲精品在线二区 | 久久观看最新视频 | 在线综合色 | 就要干b| av中文字幕亚洲 | 日韩羞羞| 一区二区三区在线电影 | 五月激情综合婷婷 | 国产99久久久国产精品免费看 | 久久精品精品电影网 | www.com.黄| 亚洲午夜久久久久久久久久久 | av一本久道久久波多野结衣 | 九色精品 | 欧美另类网站 | 91视频啊啊啊 | 91成人免费电影 | 亚洲精品一区中文字幕乱码 | 日日干干 | 国产精品理论片在线播放 | 久久精选| 毛片一级免费一级 | 超碰在线人人97 | 九九在线精品视频 | 久久毛片网站 | 99热超碰 | 日韩字幕| 在线观看www.| 欧美日韩成人一区 | 在线观看一| 日日操网 | 精品一区精品二区 | 久久综合久久综合九色 | 久久午夜视频 | av短片在线观看 | 亚洲美女久久 | 国产精品福利小视频 | 午夜精品久久久久久久久久 | 国产成年免费视频 | 九九综合久久 | 99久久精品国产毛片 | 久久伊99综合婷婷久久伊 | 日本激情中文字幕 | 美女黄频视频大全 | 韩日成人av | 西西444www大胆无视频 | 激情视频网页 | 国产一级二级在线观看 | 911久久 | 91麻豆精品国产91久久久无需广告 | 日本 在线 视频 中文 有码 | 中文字幕中文字幕在线中文字幕三区 | 久久久久久久毛片 | 婷婷资源站 | 久久精品视频在线观看 | 国产精品久久人 | 日韩欧美在线不卡 | 亚洲色图美腿丝袜 | 日韩精品视频一二三 | 美女网站免费福利视频 | 一区二区视频在线看 | 精品久久久久一区二区国产 | 欧美中文字幕第一页 | 亚洲免费视频在线观看 | 中文字幕在线观看的网站 | 亚洲日本在线一区 | 99精品视频一区二区 | 91免费高清在线观看 | 国产 欧美 日产久久 | 免费a网站 | 欧美日韩免费一区 | 欧美 亚洲 另类 激情 另类 | 国产v在线观看 | 在线免费观看视频 | 久久在线精品 | 一区二区三区高清在线 | 中文字幕国产视频 | 美女视频黄的免费的 | 国产尤物在线观看 | 国内精品久久久久久久久久 | 精品一区久久 | 91人人爱| 中文字幕中文字幕在线一区 | 蜜桃视频色 | 黄p在线播放 | 99视频一区 | 日本中文字幕电影在线免费观看 | 456成人精品影院 | 99热精品在线 | 日本精品午夜 | 国产在线不卡一区 | 91看片网址| 九九有精品 | 97在线公开视频 | 人人藻人人澡人人爽 | 不卡的av在线 | 激情狠狠干 | 亚洲国产精品女人久久久 | 精品福利av | 色一级片 | 日韩伦理一区二区三区av在线 | 久久99这里只有精品 | 97视频在线免费观看 | 在线视频你懂 | 欧美日韩中文视频 | 国产精品专区一 | 国产精品成人国产乱 | 久久首页 | 97精品欧美91久久久久久 | 免费三及片 | 久久久久看片 | 成人av电影在线播放 | 五月激情久久久 | 激情综合一区 | 亚洲最大在线视频 | www.日日操.com| 97人人模人人爽人人喊中文字 | 国产精品久久久久久久久久久久午夜 | 一级特黄av| 午夜精品久久久久久久99无限制 | 91av色 | 麻豆传媒视频在线 | 91亚洲精品在线观看 | 国产福利免费在线观看 | 日韩欧美一区二区三区在线 | 国产精品99久久久久人中文网介绍 | 成人在线免费小视频 | 天天色宗合| 国产又粗又猛又爽又黄的视频免费 | 在线视频欧美日韩 | 亚洲黄色在线观看 | 激情综合婷婷 | 成人网大片 | 99久久爱 | 亚洲一级电影 | 久久视频6 | 91精品国产综合久久福利不卡 | 福利一区二区在线 | 午夜丁香网 | 欧美日韩国产综合一区二区 | 激情丁香综合五月 | 99视屏 | 亚洲视频,欧洲视频 | 免费在线观看日韩视频 | 国产精品福利小视频 | 99久久婷婷 | av色图天堂网 | 在线成人性视频 | 欧美在线观看视频一区二区三区 | 在线免费观看视频 | 精品在线播放 | 在线免费观看黄色大片 | 四虎伊人 | 五月婷婷丁香综合 | 亚洲成人av一区 | 日韩视频欧美视频 | 国产美女永久免费 | 成人黄色免费在线观看 | 欧美日韩18 | 色婷丁香 | 亚洲精品福利视频 | 在线观看a视频 | 日韩精品免费一区二区 | 99麻豆视频 | 精品成人在线 | 五月婷婷久久综合 | 久久免费视频在线观看6 | 久久伊人八月婷婷综合激情 | 色狠狠婷婷 | 伊人伊成久久人综合网小说 | 成年人免费电影 | 黄色动态图xx | 国产精久久久 | 久久久久欧美精品 | 亚洲狠狠婷婷综合久久久 | 成人午夜剧场在线观看 | 欧美综合在线视频 | 国产精品久久久久婷婷 | 国产精品18久久久久久久 | 精品福利av| 亚洲经典中文字幕 | 98久9在线 | 免费 | 国产高h视频 | 国产视频久 | 在线观看的黄色 | 久久视频国产精品免费视频在线 | 日本激情动作片免费看 | 免费观看一级一片 | 日韩精品一区二区三区水蜜桃 | 超碰在线99 | www.超碰 | 在线日韩视频 | 美女免费网站 | av软件在线观看 | 涩av在线 | 欧美精品首页 | 中文字幕在线观看2018 | 午夜视频欧美 | 国产丝袜高跟 | 在线看一区| 91污在线观看 | 国产美女视频免费观看的网站 | 精品资源在线 | 亚洲综合狠狠干 | 亚洲国产精品一区二区久久hs | 国产高清专区 | 人人干在线 | 91麻豆免费视频 | 国产一级片免费播放 | 亚洲高清在线视频 | 久久久这里有精品 | 久香蕉| 中文字幕av日韩 | 国产福利91精品张津瑜 | 亚洲午夜不卡 | 五月婷婷在线观看视频 | 狠狠干五月天 | 在线视频欧美精品 | www蜜桃视频 | 国产一区二区电影在线观看 | 欧美一区二区三区在线播放 | 一区二区三区韩国免费中文网站 | 日韩精品免费专区 | 日韩视频一区二区在线 | 又色又爽又激情的59视频 | 国产专区在线播放 | 欧美亚洲免费在线一区 | 久草干 | 天天插综合网 | 99精品久久99久久久久 | 成人一区在线观看 | 黄色99视频 | 九九九九精品九九九九 | 国产在线精品二区 | 亚洲精品免费在线视频 | 777奇米四色| 免费日韩一区二区三区 | 怡红院av | 激情欧美一区二区三区 | 亚洲无吗av| 亚洲精品中文在线 | 久久久久久久久久福利 | 99在线热播精品免费99热 | av手机在线播放 | 日日摸日日爽 | 久久国产欧美日韩 | 亚洲视频精选 | 日韩黄色免费电影 | 五月天电影免费在线观看一区 | 在线免费黄网站 | 操久久免费视频 | 网站你懂的 | 久久国产精品第一页 | 久久综合久久综合久久 | 天天综合成人网 | 国产精品麻豆果冻传媒在线播放 | av一级网站| a视频在线播放 | 97日日 | 在线观看一区二区视频 | 亚洲综合在线播放 | av蜜桃在线 | 99久久精 | 国产精品原创av片国产免费 | 久久久久高清 | 最近免费中文字幕mv在线视频3 | 免费久久99精品国产婷婷六月 | 精品亚洲欧美一区 | 最新国产在线视频 | 欧美成人va | 免费观看成人av | 精品中文字幕在线播放 | 中文字幕av一区二区三区四区 | 2019中文字幕第一页 | 精品国产一区在线观看 | 午夜av电影院 | 国产黄视频在线观看 | 中国一级片在线观看 | 高清av在线免费观看 | 欧美色图30p | 91九色在线观看 | 九九久久婷婷 | 黄污视频网站大全 | 欧美日韩高清在线 | 蜜臀av免费一区二区三区 | 国产在线观看av | 亚洲日本va午夜在线影院 | 天天操夜夜操国产精品 | 久久免费视频观看 | 99激情网 | 亚洲成人xxx | 狠狠干网 | 久久私人影院 | 免费视频一二三区 | 一级黄色电影网站 | 久久y | 亚洲精品xxxx| 奇米网网址 | 亚洲人人精品 | 五月丁香 | 一区免费视频 | 五月婷婷av | 国产精品一区二区三区99 | 欧美日韩国产高清视频 | 中文字幕第| 国产片网站 | 在线看片成人 | 国产性天天综合网 | 亚洲五月婷婷 | 99热在线观看免费 | 欧美网站黄色 | 天堂av在线 | 久久久久亚洲精品中文字幕 | 成人av日韩 | 国产精品乱码久久久久久1区2区 | 国产一线天在线观看 | 91亚洲精品在线 | 丝袜+亚洲+另类+欧美+变态 | 在线免费观看国产视频 | 久久久蜜桃一区二区 | 天天干天天综合 | 伊人久操| 亚洲国产综合在线 | 偷拍区另类综合在线 | 国产精品网站一区二区三区 | 日韩v欧美v日本v亚洲v国产v | 亚洲资源一区 | 日本一区二区高清不卡 | 国产群p视频 | 四虎影视av| 久久久久在线观看 | 女人高潮一级片 | 天天操人 | 网址你懂的在线观看 | 8x成人免费视频 | 国产做爰视频 | 亚洲伊人天堂 | 97成人免费 | www天天操 | 精品国产乱码久久久久久浪潮 | 亚洲自拍偷拍色图 | 国产女人18毛片水真多18精品 | 国产黄在线 | 99精品视频网| 欧美日韩国产一区二区三区在线观看 | 国产精品18久久久久久vr | 视频一区二区精品 | 欧美一级免费在线 | 免费在线电影网址大全 | 国产高清精 | 视频一区二区国产 | 中文字幕在线观看免费高清完整版 | 日韩精品免费一区二区在线观看 | 黄色av电影免费观看 | 日韩精品久久久久久久电影竹菊 | 在线中文字幕播放 | 亚洲国产精品500在线观看 | 中文在线a√在线 | 日韩亚洲在线视频 | 久久免费视频7 | 成人免费视频在线观看 | 久久久久女人精品毛片 | a成人v | 天天综合网 天天 | 欧美一区免费在线观看 | 日本h视频在线观看 | 中文字幕第一页在线 | 久久久免费在线观看 | 日韩在线观看小视频 | 麻豆免费视频网站 | 91福利小视频 | 中文字幕在线资源 | 天天摸日日操 | 亚洲激情影院 | 特黄免费av | 五月天六月丁香 | 日日躁你夜夜躁你av蜜 | av九九九| 在线观看一区二区精品 | 人人添人人 | 免费成人av | 国产精品97| 久久久视频在线 | av一级二级 | 天天干中文字幕 | 五月激情av | 在线日韩av | 国产不卡在线播放 | 激情www | 福利视频第一页 | 日韩精品免费在线观看视频 | 国产在线一区观看 | 国产欧美综合视频 | 一区二区三区四区影院 | 久久九九久久九九 | 99热这里只有精品久久 | 国产女做a爱免费视频 | 九九综合久久 | 99在线观看免费视频精品观看 | 91女子私密保健养生少妇 | 国产视频精品久久 | 日韩在线电影一区二区 | 精品在线视频一区 | 日韩精品视频免费在线观看 | 亚洲视频axxx| 久久久国产精品成人免费 | 国产精品一区二区久久精品爱微奶 | 99精品国产99久久久久久福利 | 欧美一级片在线观看视频 | 91av在线视频免费观看 | 二区三区在线 | 久久综合射 | 91桃色在线免费观看 | 久久线视频 | 日韩 在线 | 欧洲精品久久久久毛片完整版 | 亚洲美女在线一区 | 亚洲二级片| 久久一区国产 | 天天射射天天 | 天天操天天操天天操天天 | 日本电影黄色 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 不卡中文字幕在线 | 精品欧美乱码久久久久久 | 97精品国产aⅴ | 日日精品| 91视频高清免费 | 黄色资源网站 | 日韩毛片在线一区二区毛片 | 日韩精品亚洲专区在线观看 | 国产色视频一区二区三区qq号 | 三级av免费观看 | 中文字幕亚洲综合久久五月天色无吗'' | 国产91全国探花系列在线播放 | 亚洲欧美日韩一区二区三区在线观看 | 波多野结衣视频一区二区三区 | 国产一区二区免费看 | 99在线观看视频网站 | 亚洲欧洲精品一区二区 | 亚洲三级网站 | 欧美成人精品三级在线观看播放 | 在线电影日韩 | 99亚洲精品在线 | av在线日韩 | 激情视频综合网 | 成人免费在线播放视频 | 91天天操| 91新人在线观看 | 超碰人人草 | 国产一区二区视频在线 | 九九视频一区 | 日韩久久一区 | 国产精品久久久久久久久久免费看 |