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

歡迎訪問 生活随笔!

生活随笔

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

数据库

MySQL:Innodb page clean 线程 (二) :解析

發布時間:2023/11/29 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL:Innodb page clean 线程 (二) :解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數據結構和入口函數

1、數據結構

?●??page_cleaner_t:整個Innodb只有一個,包含整個page clean線程相關信息。其中包含了一個page_cleaner_slot_t的指針。
變量名含義
mutex用于保護整個page_cleaner_t結構體和page_cleaner_slot_t結構體,當需要修改結構體信息的時候需要獲取這個mutex,如在pc_request函數中
is_requested一個條件變量,用于喚醒堵塞在這個條件之上的工作線程
is_finished一個條件變量,用于通知協調線程刷新工作已經完成
n_workers當前存在的工作線程總數
requested布爾值,當前是否需要進行臟數據刷新工作
lsn_limit需要刷新到lsn的位置,當需要同步刷新的時候,這個值將被賦予,以保證小于這個lsn的日志都已經完成了刷盤工作
n_slots槽的數量,槽的數量和buffer instance的數量相同
n_slots_requested當前處于需要刷新狀態下(PAGE_CLEANER_STATE_REQUESTED)的槽的數量
n_slots_flushing當前處于刷新狀態下(PAGE_CLEANER_STATE_FLUSHING)的槽的數量
n_slots_finished當前處于已經刷新完成狀態下(PAGE_CLEANER_STATE_FINISHED)的槽的數量
flush_time整個(以innodb buffer為單位)刷新消耗的時間(累計 page_cleaner->flush_time += ut_time_ms() - tm;)
flush_pass整個(以innodb buffer為單位)刷新的次數(累計 page_cleaner->flush_pass++;)
slots指針指向實際的槽
is_running布爾值,如果關閉innodb會被設置為false,進行強行刷新臟數據
?●??page_cleaner_slot_t:每個buffer instance都包含一個這樣的結構體,page clean工作線程刷新的時候每個線程都會輪詢的檢測每個槽,直到找到沒有被其他page clean線程刷新的槽進行刷新工作或者所有的槽(buffer instance )都刷新完成為止。參考pc_flush_slot函數。
變量名含義
state狀態PAGE_CLEANER_STATE_REQUESTED、PAGE_CLEANER_STATE_FLUSHING和PAGE_CLEANER_STATE_FINISHED中的一種
n_pages_requested本槽需要刷新的總的塊數量
n_flushed_list已經刷新的塊數
succeeded_list布爾值,刷新是否完成
flush_list_time本槽刷新消耗的時間(累計參考pc_flush_slot函數)
flush_list_pass本槽進行刷新操作的次數(累計參考pc_flush_slot函數)

2、入口函數

?●??協調工作線程入口:buf_flush_page_cleaner_coordinator

?●??工作線程入口:buf_flush_page_cleaner_worker

二、主循環解析

其由函數buf_flush_page_cleaner_coordinator實現。實際正常運行情況下的工作都包含在while (srv_shutdown_state == SRV_SHUTDOWN_NONE) 這個大循環下。

1、是否需要睡眠1秒判斷

首先如果沒有活躍的change buffer 并且沒有pending的物理塊,并且上次刷新的塊數量不為0,則不需要睡眠1秒,源碼總有如下解釋:

/* The page_cleaner skips sleep if the server is idle and there are no pending IOs in the buffer pool and there is work to do. */

if (srv_check_activity(last_activity) || buf_get_n_pending_read_ios() ret_sleep = pc_sleep_if_needed( || n_flushed == 0){ if (srv_shutdown_state != SRV_SHUTDOWN_NONE) { next_loop_time, sig_count); //睡眠一秒 break; } } else if (ut_time_ms() > next_loop_time) { //如果當前時間大于 上次刷新 時間+1 秒則 設置為OS_SYNC_TIME_EXCEEDED ret_sleep = OS_SYNC_TIME_EXCEEDED; } else { ret_sleep = 0; }

但是這個睡眠是可以被喚醒的,比如同步刷新應該就會喚醒它(buf_flush_request_force函數)。參考函數os_event::wait_time_low

2、IO能力不足警告

如前文所描述這里產生如下警告:

page_cleaner: 1000ms intended loop took **ms. The settings might not be optimal.((flushed="**" , during the time.)

源碼片段:

if (curr_time > next_loop_time + 3000) { //如果刷新時間 大于了 上次時間 +1 秒+3 秒 則報info if (warn_count == 0) { ib::info() << "page_cleaner: 1000ms" << "ms. The settings might not" " intended loop took " << 1000 + curr_time - next_loop_time if (warn_interval > 300) { " be optimal. (flushed=" << n_flushed_last << ", during the time.)"; } warn_interval = 600; } else { warn_interval *= 2; 3、同步刷新判斷 ?●??觸發條件
(ret_sleep != OS_SYNC_TIME_EXCEEDED && srv_flush_sync && buf_flush_sync_lsn > 0)

同步會喚醒正在睡眠狀態的page clean協調工作線程那么睡眠應該不會滿足一秒的條件所以不會被標記為OS_SYNC_TIME_EXCEEDED,同時srv_flush_sync和buf_flush_sync_lsn均會被設置接下來就是喚醒工作線程進行刷新,同時本協調線程也完成部分任務。

?●??工作代碼
pc_request(ULINT_MAX, lsn_limit); //喚醒page clean 工作線程干活 /* Coordinator also treats requests */ //協調者同樣要完成部分任務 while (pc_flush_slot() > 0) {} ?●??喚醒操作

如前文描述在checkpoint或者DML語句執行過程中都會通過log_free_check檢查是否redo log處于安全的狀態,如果不安全就會調用如下代碼(log_preflush_pool_modified_pages函數中)喚醒page clean線程進行同步刷新:

if (srv_flush_sync) { /* wake page cleaner for IO burst */ buf_flush_request_force(new_oldest); //設置全局變量同時通過broadcast喚醒同步刷新 } buf_flush_wait_flushed(new_oldest); //所有線程等待同步刷新完成

4、活躍刷新

?●??觸發條件
srv_check_activity(last_activity)

這里判斷是否有活躍的線程,所謂活躍就是調用srv_inc_activity_count函數進行增加的,一般來講DML和DDL會標記為活躍,purge線程及其工作線程工作期間會標記為活躍。可以將斷點做到srv_inc_activity_count進行debug。所以線上數據庫DML比較多所以一般都會是活躍刷新。

?●??工作代碼

這里涉及到刷新多少個塊計算主要函數為 page_cleaner_flush_pages_recommendation,后面在討論。

n_to_flush = page_cleaner_flush_pages_recommendation(&lsn_limit, last_pages); //此處n_to_flush就是本次需要刷新的塊數的數量 /* Coordinator also treats requests */ //工作協調線程同樣要完成部分任務 pc_request(n_to_flush, lsn_limit); //喚醒page clean 工作線程干活 pc_wait_finished(&n_flushed_list);//等待其他刷新完成 while (pc_flush_slot() > 0) {}

5、空閑刷新

?●??觸發條件
else if (ret_sleep == OS_SYNC_TIME_EXCEEDED)

當睡足了1秒,并且沒有活躍的線程。那么就進行空閑刷新,一般來講如果沒有DML/DDL等語句那么應該進行是空閑刷新。

?●??工作代碼
buf_flush_lists(PCT_IO(100), LSN_MAX, &n_flushed); //io能力 刷新到那個lsn 以及傳出刷新的塊數量 //PCT_IO是一個宏如下: #define PCT_IO(p) ((ulong) (srv_io_capacity * ((double) (p) / 100.0)))

可以看到這里的百分比直接是100%及按照innodb_io_capacity參數的設定進行刷新。

當然這里只是看了正常期間工作的代碼,如果是Innodb shutdown也會觸發同步刷新。可自行參考代碼。

三、page_cleaner_flush_pages_recommendation函數

前面提過這個函數,是活躍刷新刷新塊的計算函數,下面直接給出整個代碼

{ cur_lsn = log_get_lsn();//獲取當前的lsn 在 redo buffer中的 if (prev_lsn == 0) { //靜態變量如果是0則代表是第一次執行本函數 prev_time = ut_time(); //獲取當前時間 /* First time around. */ prev_lsn = cur_lsn; return(0); } sum_pages += last_pages_in; if (prev_lsn == cur_lsn) { //如果沒有redo日志生成 return(0); } time_t curr_time = ut_time(); ((static_cast<double>(sum_pages) double time_elapsed = difftime(curr_time, prev_time); avg_page_rate = static_cast<ulint>( / time_elapsed) /* How much LSN we have generated since last call. */ + avg_page_rate) / 2); //算出上次刷新每秒刷新的pages數量,同時加上次計算的每秒平均刷新塊數 然后除以2 得到一個每秒刷新的pages數量 !!!第一個計算條件avg_page_rate 生成 lsn_rate = static_cast<lsn_t>( static_cast<double>(cur_lsn - prev_lsn) / time_elapsed);//計算redo lsn生成率 ulint flush_pass = page_cleaner->flush_pass; lsn_avg_rate = (lsn_avg_rate + lsn_rate) / 2;//計算redo每秒平均生成率 /* aggregate stats of all slots */ mutex_enter(&page_cleaner->mutex); ulint flush_tm = page_cleaner->flush_time; page_cleaner->flush_time = 0; page_cleaner->flush_pass = 0; ulint list_tm = 0; mutex_exit(&page_cleaner->mutex); ulint list_pass = 0; for (ulint i = 0; i < page_cleaner->n_slots; i++) {//掃描所有的槽 page_cleaner_slot_t* slot; slot = &page_cleaner->slots[i]; list_tm += slot->flush_list_time; list_pass += slot->flush_list_pass; slot->flush_list_time = 0; slot->flush_list_pass = 0; } pct_for_lsn = af_get_pct_for_lsn(age);//計算出lsn的比率 百分比(l列如4.5) oldest_lsn = buf_pool_get_oldest_modification(); //獲取flush list中最老的ls ut_ad(oldest_lsn <= log_get_lsn());//斷言 age = cur_lsn > oldest_lsn ? cur_lsn - oldest_lsn : 0; //獲取當前LSN和最老LSN的之間的差值 pct_for_dirty = af_get_pct_for_dirty(); //計算出一個刷新百分比 (比如100) !!!!重點 pct_total = ut_max(pct_for_dirty, pct_for_lsn);//取他們的大值 buf_pool_t* buf_pool = buf_pool_from_array(i); /* Estimate pages to be flushed for the lsn progress *///計算target_lsn ulint sum_pages_for_lsn = 0; lsn_t target_lsn = oldest_lsn + lsn_avg_rate * buf_flush_lsn_scan_factor; //計算下一次刷新的 目標lsn 及target_lsnbuf_flush_lsn_scan_factor是定值3 for (ulint i = 0; i < srv_buf_pool_instances; i++) {//循環整個buffer instance找到小于target_lsn的臟塊 ulint pages_for_lsn = 0; sum_pages_for_lsn += pages_for_lsn; //這里匯總所有 innodb buffer實例中 flush list 小于這個 target lsn 的 page 總數 buf_flush_list_mutex_enter(buf_pool); for (buf_page_t* b = UT_LIST_GET_LAST(buf_pool->flush_list);//每個innodb buffer的末尾的flush list 進行掃描,頭插法? b != NULL; b = UT_LIST_GET_PREV(list, b)) { if (b->oldest_modification > target_lsn) { break; } ++pages_for_lsn; //某個 innodb buffer 實例中 flush list 小于這個 target lsn 的 page計數 } buf_flush_list_mutex_exit(buf_pool); /* Cap the maximum IO capacity that we are going to use by mutex_enter(&page_cleaner->mutex); ut_ad(page_cleaner->slots[i].state == PAGE_CLEANER_STATE_NONE);//斷言所有的槽處于沒有刷新狀態 page_cleaner->slots[i].n_pages_requested = pages_for_lsn / buf_flush_lsn_scan_factor + 1; //確認槽的n_pages_requested值 mutex_exit(&page_cleaner->mutex); } sum_pages_for_lsn /= buf_flush_lsn_scan_factor;//buf_flush_lsn_scan_factor為定值3 n_pages = (n_pages + avg_page_rate + pages_for_lsn) / 3; // 3部分組成 1、根據參數計算出來的IO能力 2、以往每秒刷新頁的數量 3、根據target lsn 計算出來的一個需要刷新的塊數 max_io_capacity. Limit the value to avoid too quick increase */ n_pages = PCT_IO(pct_total); //根據 前面得到的 pct_total 和 srv_io_capacity參數得到 刷新的塊數 !!!第二個計算參數生成。 if (age < log_get_max_modified_age_async()) { //如果日質量小于 異步刷新的范疇 ulint pages_for_lsn = std::min<ulint>(sum_pages_for_lsn, srv_max_io_capacity * 2); //即便是需要刷新的塊數很多,最多只能刷max_io_capacity*2的數量!!!第三個計算參數生成 } if (n_pages > srv_max_io_capacity) { } n_pages = srv_max_io_capacity; } return(n_pages);

此函數最后計算出了需要刷新的塊,其中刷新比率計算的的重點函數為af_get_pct_for_dirty和af_get_pct_for_lsn 下面將給出代碼注釋,其實前文中的算法就來自af_get_pct_for_dirty。

四、af_get_pct_for_dirty和af_get_pct_for_lsn函數

?●??af_get_pct_for_dirty函數
double dirty_pct = buf_get_modified_ratio_pct(); //得到 修改的塊/總的塊的 的百分比 記住臟數據比率 if (dirty_pct == 0.0) { /* No pages modified */ return(0); } if (srv_max_dirty_pages_pct_lwm == 0) { //如果innodb_max_dirty_pages_pct_lwm沒有設置 ut_a(srv_max_dirty_pages_pct_lwm <= srv_max_buf_pool_modified_pct); if (dirty_pct >= srv_max_buf_pool_modified_pct) { //如果臟數據比率大于了innodb_max_dirty_pages_pct則返回比率100% /* The user has not set the option to preflush dirty pages as we approach the high water mark. */ return(100); /* We have crossed the high water mark of dirty pages In this case we start flushing at 100% of innodb_io_capacity. */ } /* We should start flushing pages gradually. */ //innodb_max_dirty_pages_pct_lwm參數設置 } else if (dirty_pct >= srv_max_dirty_pages_pct_lwm) { //如果設置了innodb_max_dirty_pages_pct_lwm 并且臟數據比率大于了 return(static_cast<ulint>((dirty_pct * 100) return(0);//否則返回0 / (srv_max_buf_pool_modified_pct + 1))); //則返回 (臟數據比率/(innodb_max_dirty_pages_pct+1))*100 也是一個比率 如(45/76)*100 }
?●??af_get_pct_for_lsn函數:

注意innodb_cleaner_lsn_age_factor參數默認設置為high_checkpoint,可以看到算法最后是除以700.5,所有前文我說這個函數算出來的比率一般比較小。

if (age < max_async_age && !srv_adaptive_flushing) { //如果小于異步刷新 且 自適應flush 沒有開啟 /* We have still not reached the max_async point and /* If we are here then we know that either: the user has disabled adaptive flushing. */ return(0); } 2) User may have disabled adaptive flushing but we have reached 1) User has enabled adaptive flushing max_async_age. */ lsn_age_factor = (age * 100) / max_async_age; //比率lsn_age_factor = (本次刷新的日志量/(logtotalsize*(9/10)*(7/8))) ut_ad(srv_max_io_capacity >= srv_io_capacity); switch ((srv_cleaner_lsn_age_factor_t)srv_cleaner_lsn_age_factor) { case SRV_CLEANER_LSN_AGE_FACTOR_LEGACY: case SRV_CLEANER_LSN_AGE_FACTOR_HIGH_CHECKPOINT: //innodb_cleaner_lsn_age_factor參數默認設置為high_checkpoint return(static_cast<ulint>( ((srv_max_io_capacity / srv_io_capacity) * (lsn_age_factor * sqrt((double)lsn_age_factor))) / 7.5)); //430 return(static_cast<ulint>( * (lsn_age_factor * lsn_age_factor //(10 * (3.3*10*10))/700 =4.3 ((srv_max_io_capacity / srv_io_capacity) // ((max_io_cap /io_cap) * (sqrt(lsn_age_factor)*lsn_age_factor*lsn_age_factor))/700.5 * sqrt((double)lsn_age_factor))) / 700.5)); //

五、總結

本文只是解釋了對于page clean線程的結構和刷新方式,但是真正的刷新工作實際上從pc_flush_slot函數調用才開始,后面非常復雜。


原文發布時間為:2018-11-14

本文作者:重慶八怪

本文來自云棲社區合作伙伴“老葉茶館”,了解相關信息可以關注“老葉茶館”。

總結

以上是生活随笔為你收集整理的MySQL:Innodb page clean 线程 (二) :解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

美女网站免费福利视频 | 色婷婷国产在线 | 国产精品乱码久久久 | 久久精品网站视频 | 狠狠干狠狠色 | 在线国产日韩 | 久草色在线观看 | 最新免费av在线 | 国产一级不卡毛片 | 亚洲国产999 | 日韩欧美电影在线 | 国产一区二区高清视频 | 欧美成人黄色片 | 少妇视频在线播放 | 亚洲桃花综合 | 中文字幕888 | 中文成人字幕 | www.久热| 黄污在线观看 | 日韩免费电影一区二区 | 69国产盗摄一区二区三区五区 | 最近免费在线观看 | 黄色性av | 日韩免费在线一区 | 精品在线观看免费 | 日本精a在线观看 | 人人看人人爱 | 91精品国产福利 | 天天综合在线观看 | 色在线视频 | 午夜精品视频福利 | 黄色一级大片在线免费看产 | 国产福利免费在线观看 | 国产三级午夜理伦三级 | 黄色三级免费看 | 97超级碰碰碰碰久久久久 | 精品一区二区在线免费观看 | 亚洲最大成人免费网站 | www久久精品 | 国产精品美女久久久久久久网站 | 亚洲精品国产综合99久久夜夜嗨 | 一级免费黄视频 | 国产一区私人高清影院 | 久草在线 | 国内精品久久天天躁人人爽 | 亚洲成人资源 | 色婷婷激情综合 | 亚洲理论片在线观看 | 免费电影播放 | 色先锋av资源中文字幕 | 久久欧洲视频 | 日韩欧美在线观看一区二区三区 | 免费视频你懂的 | av电影在线观看 | 亚洲成人黄色在线观看 | 欧美激情另类文学 | 成人在线播放av | 精品美女在线视频 | 人人爽人人爽 | 国产高清在线观看 | 九九热视频在线播放 | 成人免费ⅴa | 成人动漫一区二区三区 | 久久综合免费视频 | 日韩精品一区二区三区中文字幕 | 日韩欧美在线综合网 | 日日夜夜婷婷 | 亚洲精品综合一区二区 | 久久久www成人免费毛片麻豆 | 欧美五月婷婷 | 国产精品女主播一区二区三区 | 黄色片网站| 成人av资源网 | 亚洲国产中文字幕在线视频综合 | 久久精品中文字幕免费mv | 手机看片福利 | 国产精品毛片久久久久久久 | 亚洲第一区在线观看 | 亚洲精品国偷自产在线99热 | 久久久精品视频成人 | 91精品国产麻豆国产自产影视 | 五月综合色 | 月丁香婷婷 | 免费观看一级视频 | 美女黄网站视频免费 | 狠狠网站 | 亚洲精品视频网 | 日韩在线三级 | 337p日本欧洲亚洲大胆裸体艺术 | 91久久久久久久一区二区 | 婷婷成人在线 | 99热这里是精品 | 美国三级黄色大片 | 中文字幕永久 | 亚洲欧美国产视频 | 大胆欧美gogo免费视频一二区 | 91精品一区二区三区久久久久久 | 在线电影中文字幕 | 激情婷婷六月 | 91av99| 久久久男人的天堂 | 国产不卡在线看 | 久草在线视频免费资源观看 | 人人狠狠综合久久亚洲婷 | 亚洲精品99久久久久中文字幕 | 久久国产精品久久精品 | 日韩欧美在线免费 | 国产资源在线视频 | 最近中文字幕免费观看 | 国产精品女人网站 | 四虎影院在线观看av | 五月婷婷香蕉 | 日韩av片无码一区二区不卡电影 | 一级理论片在线观看 | 911久久香蕉国产线看观看 | 日韩av偷拍 | 欧美日韩高清国产 | 综合在线观看色 | 欧美在一区 | 午夜骚影| av免费片 | 国产精品乱码久久久久久1区2区 | 亚洲国产资源 | 天天干天天天天 | 色综合久久五月 | 91大神精品视频在线观看 | 久久久久国产a免费观看rela | 激情久久久久久久久久久久久久久久 | 天天色天天操天天爽 | 国产3p视频 | 国产高清久久久 | 夜夜躁日日躁狠狠久久88av | 国产精品久久久久一区二区三区 | 天天爱天天射天天干天天 | 狠狠色伊人亚洲综合成人 | 黄色国产精品 | 国产精品视频你懂的 | 日韩精品中文字幕在线不卡尤物 | 91视频 - x99av | 国产成人亚洲精品自产在线 | 天天爽天天爽天天爽 | 97色婷婷成人综合在线观看 | 91麻豆视频网站 | 天天艹天天 | 亚洲乱码精品久久久久 | 中文字幕在线视频网站 | 久久精品欧美一 | 九草视频在线观看 | 国产精品一区免费观看 | 久久精品999| 久久综合爱| 亚洲国产精品视频在线观看 | 四虎伊人 | 2019av在线视频 | 日韩视频免费观看高清完整版在线 | av日韩精品 | 国产欧美精品在线观看 | 97天天干| 亚洲精品视频在线播放 | 国产高清一 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产精品自产拍在线观看蜜 | 中文字幕中文字幕在线中文字幕三区 | 超碰97免费观看 | 国产最新91| 亚洲免费av网站 | 亚洲天堂精品 | 国产 字幕 制服 中文 在线 | 国产第一二区 | 久综合网 | 亚洲国产剧情av | 日日插日日干 | 免费av在线网 | 国产r级在线观看 | 亚洲综合激情五月 | 在线视频你懂得 | 久久亚洲精品国产亚洲老地址 | 91在线国内视频 | 999精品| 97超碰国产精品女人人人爽 | 免费看国产曰批40分钟 | 免费观看完整版无人区 | 国产在线一线 | 97国产精品一区二区 | 日韩免费在线视频观看 | 在线视频在线观看 | 夜夜澡人模人人添人人看 | 国产亚洲视频中文字幕视频 | 91av视屏| 99久久精品免费看国产一区二区三区 | 欧美一级片在线 | 91福利免费 | 精品欧美小视频在线观看 | 久久在线观看视频 | 久久好看免费视频 | 人人狠狠综合久久亚洲 | 亚洲国产精品小视频 | 久久公开视频 | 天天色.com| 精品一区av | 精品欧美一区二区精品久久 | 国产剧情一区 | 国产精品99久久久久的智能播放 | 精品久久综合 | 色综合久久88色综合天天6 | 日本精品一区二区 | 国产在线观看污片 | 91高清视频免费 | 国产精品久久久久9999 | 韩日视频在线 | 美女视频黄是免费的 | 国产精品观看在线亚洲人成网 | 91女人18片女毛片60分钟 | 高清一区二区三区 | 在线播放亚洲激情 | 国产精品18久久久久久vr | 欧美精品久久久久久久久久白贞 | 国产精品美女 | 中文字幕一二 | 99在线观看视频网站 | av看片网址 | 国产成人中文字幕 | 国产精品毛片一区视频 | 成片视频在线观看 | 女人18片毛片90分钟 | 精品美女在线视频 | 国产精品成人久久久 | 国产黄在线播放 | 黄色免费电影网站 | 国产午夜在线观看 | 久久艹人人 | 国产精品久久久久av免费 | 国产日韩欧美在线一区 | 天天精品视频 | 日本中文字幕观看 | 碰碰影院| 91日韩在线专区 | 国产精品欧美精品 | 国产精品a级 | 亚一亚二国产专区 | 国产成人黄色片 | 又爽又黄又无遮挡网站动态图 | 日韩一级片大全 | 在线日韩av| 五月天伊人网 | 一区二区不卡视频在线观看 | 97超视频免费观看 | 精品国产资源 | 久久er99热精品一区二区 | 激情动态| 欧美做受xxx | 成年人黄色免费网站 | 欧美日韩视频一区二区三区 | 国产精品久久久av久久久 | www四虎影院 | 精品视频久久久久久 | 国产成人精品久久二区二区 | 欧美精品久久久久久久久久丰满 | 天天视频亚洲 | 99视频一区 | 久久免费片 | 偷拍福利视频一区二区三区 | 成人久久精品视频 | 久草在线视频在线 | 欧美日韩不卡在线观看 | 91亚州| 欧美性黑人 | av黄色av | 欧美狠狠操 | 亚洲婷婷综合色高清在线 | 日日夜夜精品免费 | 日韩大片免费观看 | 在线看av网址| 欧美午夜a | 日韩a在线播放 | 亚洲视频免费视频 | japanese黑人亚洲人4k | 日韩国产在线观看 | 正在播放一区 | 中文字幕免费在线看 | 日韩午夜在线观看 | 久久久高清免费视频 | av久久久 | 日本午夜在线观看 | 欧美aa在线 | 国产精品一级视频 | 婷婷综合 | 在线观看91久久久久久 | 中文字幕韩在线第一页 | 免费看久久久 | 在线播放亚洲 | 国产高清不卡av | 精品久久久久亚洲 | 成人资源在线播放 | av日韩av| 亚洲成人网在线 | 中文资源在线官网 | 色网站免费在线看 | 亚洲女人天堂成人av在线 | 黄p在线播放 | 国产免费又爽又刺激在线观看 | 韩国av三级| 色综合久久中文字幕综合网 | 视频精品一区二区三区 | 天天操狠狠操 | 亚洲天天看 | 国产91学生粉嫩喷水 | 日韩激情久久 | 精品国产一区二区三区蜜臀 | 精品在线视频一区二区三区 | 中文字幕第一页在线 | 成人一级电影在线观看 | 91伊人影院| 黄色成人av在线 | 在线成人观看 | 久草在线免 | 日韩免费播放 | 一级电影免费在线观看 | 午夜国产福利在线观看 | 狠狠色丁香婷婷综合久小说久 | 国产美女在线精品免费观看 | 成在人线av | 色噜噜在线观看视频 | 欧美一区二区三区激情视频 | 欧美人体xx | 久久99热久久99精品 | 欧美精品免费在线 | 久久国产精品一区二区三区四区 | 久久综合色天天久久综合图片 | 国产91精品一区二区麻豆亚洲 | 亚洲国产999 | 手机av看片 | 国产高清黄 | 婷婷国产精品 | 激情欧美在线观看 | 国产在线不卡一区 | 久久精品亚洲综合专区 | 国产成人亚洲精品自产在线 | 丰满少妇对白在线偷拍 | 久久久久久综合 | 国产成人久久精品亚洲 | 中文字幕在线久一本久 | 国产精品一区在线 | 欧美日韩视频 | 水蜜桃亚洲一二三四在线 | 亚洲精品免费视频 | 在线免费黄色片 | 激情久久五月 | 日韩免费一级a毛片在线播放一级 | 国产黄在线免费观看 | 欧美视频99 | 国产免费观看视频 | 久草在线视频新 | 日韩av成人在线观看 | 在线观看免费黄色 | 丁香视频全集免费观看 | 91精品国产亚洲 | japanese黑人亚洲人4k | 天堂va在线高清一区 | 日韩毛片在线一区二区毛片 | 黄色亚洲在线 | 91精品蜜桃 | 欧美成人xxxx | 欧美视频在线二区 | 久久精品黄 | 国产精品免费一区二区三区 | 天天干天天色2020 | 国产在线观看你懂得 | 人人爽人人澡人人添人人人人 | 黄色在线小网站 | 麻豆精品视频在线观看免费 | 国产精久久久久久久 | a级黄色片视频 | 精品一区 精品二区 | 中文字幕av一区二区三区四区 | 国产又粗又猛又黄视频 | 日韩在线观看你懂的 | 99视频在线观看视频 | 91麻豆操| 天天天在线综合网 | 国产视频中文字幕在线观看 | 国内精品久久久久久久久久 | 久久综合网色—综合色88 | 在线观看的av网站 | 天天干天天操天天射 | 国产123区在线观看 国产精品麻豆91 | 欧美精品国产综合久久 | 亚洲无毛专区 | 97成人免费视频 | 午夜国产成人 | av成人免费网站 | 欧美精品黑人性xxxx | 久久久久久久精 | 国产麻豆精品一区 | 99在线高清视频在线播放 | 日韩中文字幕亚洲一区二区va在线 | 亚洲九九爱 | 99久久久| 99在线免费观看视频 | 日本一区二区三区免费看 | 天天天射 | 国产精品露脸在线 | 亚洲美女精品 | 欧美日韩性视频 | 日韩一区正在播放 | 日韩精品首页 | 久久精品免费观看 | 欧美亚洲三级 | 国产一区视频在线播放 | 成人午夜久久 | 精品成人久久 | 国产精品久久99综合免费观看尤物 | 久久国内视频 | 波多野结衣最新 | 久久男人免费视频 | 国产小视频免费观看 | 五月激情站| 免费视频一二三 | 天天天天天天操 | 91精品综合在线观看 | www五月天婷婷 | 一级成人网 | 久久国产精品视频观看 | 91少妇精拍在线播放 | 激情综合网婷婷 | 久久久久久国产精品美女 | 粉嫩av一区二区三区四区 | 免费国产在线观看 | 色99中文字幕 | 国产精品一区在线播放 | 亚洲午夜在线视频 | 色婷婷福利 | 九九在线精品视频 | 日韩欧美网址 | 超碰人人在线观看 | 日韩一区二区三免费高清在线观看 | 国产精品国产亚洲精品看不卡 | 97国产超碰 | 国产一区二区三区久久久 | 久久久国产精品麻豆 | 亚洲欧洲中文日韩久久av乱码 | 精品视频免费看 | 久久99久久99精品免视看婷婷 | 中国一级片在线播放 | 欧美一级黄色网 | 九草在线观看 | 韩国精品一区二区三区六区色诱 | 亚州中文av | 婷香五月 | av短片在线| 久影院 | 五月婷婷丁香在线观看 | 国语久久 | 国产一区二区三区高清播放 | 精品一区av | 亚洲国产美女久久久久 | 国产在线精品播放 | 久久久999免费视频 日韩网站在线 | 欧美日韩一级在线 | 黄色大全免费观看 | 91亚洲精品久久久中文字幕 | 麻豆一区在线观看 | 免费看的黄色的网站 | 黄色官网在线观看 | 久久久久久久免费 | 国产精品一区二区三区四 | 国产成人精品一区二区在线观看 | 成人v| 国产成人三级一区二区在线观看一 | 狠狠色丁香九九婷婷综合五月 | 久久成人国产精品免费软件 | 日韩a在线 | 在线免费成人 | 国产三级午夜理伦三级 | 久草在线视频免费资源观看 | 有码中文在线 | 一区二区视频在线观看免费 | 中文字幕高清视频 | 天天天干夜夜夜操 | 玖玖玖国产精品 | 国产资源在线播放 | 国产精品高清在线观看 | 国产免费视频在线 | 国产精品一区二区在线观看 | 国产精品成人一区二区三区吃奶 | 97视频在线免费 | 波多野结衣综合网 | 精品女同一区二区三区在线观看 | 成人h视频在线播放 | 久久tv | 午夜精品久久一牛影视 | 香蕉视频在线看 | 久久国产午夜精品理论片最新版本 | 成人av电影在线播放 | 在线观看视频精品 | 国产精品一区二区美女视频免费看 | 韩国精品福利一区二区三区 | 久久久久五月天 | 久久精品永久免费 | 国产精品一区二区久久 | 日韩欧美一区二区不卡 | 国产黄a三级三级三级三级三级 | 三级黄色大片在线观看 | 日韩免费在线网站 | 99久久久久久 | 欧美成人影音 | 免费a视频在线观看 | 日p视频 | 亚洲欧美国产视频 | 99热国产精品 | 亚洲国产激情 | 亚洲国产99| 欧美久久久久久久久 | 亚洲综合最新在线 | 欧美日韩在线网站 | 国产婷婷vvvv激情久 | 91av综合 | 日日干av | 99视频国产在线 | 日本久草电影 | 九色精品免费永久在线 | 好看的国产精品视频 | 国产精品福利在线观看 | 亚洲精品一区二区三区高潮 | 国产精品一区二区在线免费观看 | 日韩在线高清免费视频 | 国产黄色免费观看 | 1区2区视频 | 黄色毛片在线看 | 偷拍区另类综合在线 | 国产精品久久久久久超碰 | 高清av网站 | 超碰97人人在线 | 人人超碰人人 | 亚洲欧美综合 | 亚洲特级毛片 | 精品久久久久久亚洲综合网 | 国产精品久久久久久久久岛 | 色婷婷狠狠五月综合天色拍 | 国产精品热视频 | 欧美贵妇性狂欢 | 在线免费观看视频一区二区三区 | 国产视频 亚洲精品 | 欧美在线18 | 99热手机在线 | 久久精品亚洲 | 亚洲精品黄 | 亚洲春色奇米影视 | 一级黄视频| 欧美成人亚洲成人 | 最新av电影网站 | 91视频88av | 操一草 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 免费色婷婷 | 国产成人区 | 国产精品精品久久久久久 | 99自拍视频在线观看 | 国产亚洲一区 | 精品国产伦一区二区三区观看说明 | 欧美色久 | 成年人电影免费在线观看 | 欧美日韩三区二区 | 中文字幕在线人 | 亚洲国产网站 | 天堂在线一区二区 | 欧美男女爱爱视频 | 欧美成人在线网站 | 免费观看国产成人 | 国产精品福利在线 | 日日夜夜天天久久 | 国产精品久久久久久久久久久久午夜片 | 色在线视频 | 最近免费在线观看 | 看片的网址 | 日韩午夜电影网 | 黄色毛片观看 | 深爱激情亚洲 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产美女久久 | 午夜精品久久久久久久爽 | 国产色视频123区 | 久久久久久久18 | 五月婷婷丁香在线观看 | 成年人视频在线免费播放 | 在线观看视频福利 | 在线精品视频免费播放 | 午夜国产在线观看 | 中文字幕专区高清在线观看 | 成人一级免费视频 | 日韩精品免费一区二区三区 | 国产精品久久嫩一区二区免费 | 91在线公开视频 | 国产成在线观看免费视频 | 亚洲免费观看在线视频 | 人人爽人人舔 | 精品国产一区二区三区不卡 | 国产精久久久久久妇女av | 久久一久久 | 粉嫩一区二区三区粉嫩91 | 国产又粗又猛又黄视频 | 国产精品a久久 | 国产成人777777 | aav在线 | 久久成人精品电影 | 天天爽天天爽夜夜爽 | 亚洲国产免费看 | 久草精品在线播放 | 成人久久免费 | 国产精品男女 | 国产精品久久久久久69 | 久久久精品国产免费观看一区二区 | 91成人精品国产刺激国语对白 | 狠狠色丁香婷婷 | 精品国偷自产在线 | 亚洲精品免费在线播放 | 欧美色综合久久 | 91探花视频| 亚洲动漫在线观看 | 久久精品二区 | 久久免费观看视频 | 国产精品mm | 99久久精品久久久久久动态片 | 久久久999| 成人av免费在线看 | 成年人在线看视频 | 欧美二区视频 | 欧美日韩在线网站 | 欧洲精品视频一区二区 | 久久经典国产视频 | 五月婷婷中文 | 久草在线在线视频 | 日韩在线视频观看 | 久久影院精品 | 永久免费精品视频 | 国产亚洲字幕 | 97精品国产97久久久久久 | 国产成人精品国内自产拍免费看 | 国产视频一区二区三区在线 | 一区二区国产精品 | 国产一区网| 国产第一页在线观看 | 欧美另类成人 | 久久久免费精品国产一区二区 | 亚洲日本韩国一区二区 | 国产不卡在线观看 | 日韩精品一区二区在线 | 天天鲁一鲁摸一摸爽一爽 | 久久久国产精品成人免费 | 亚洲乱码久久久 | 九色最新网址 | 免费日韩精品 | 粉嫩av一区二区三区四区在线观看 | 久草在线在线视频 | 中文字幕亚洲综合久久五月天色无吗'' | 中文字幕视频网站 | 国产综合香蕉五月婷在线 | 99欧美| 欧美色综合久久 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲最新av在线网站 | 狠狠色噜噜狠狠狠狠 | 在线激情电影 | 视频在线在亚洲 | 午夜美女福利直播 | 免费网站观看www在线观看 | 成年人免费在线看 | 9热精品 | 欧美污网站 | 久久国产福利 | 韩国精品视频在线观看 | 国产精品久久久久久久久久99 | 天天干天天摸 | 中文字幕久久久精品 | 69久久99精品久久久久婷婷 | 中文资源在线观看 | 欧美久久久久久久久久 | 国产 日韩 在线 亚洲 字幕 中文 | 中文字幕一区二区三区乱码不卡 | 九九热精品在线 | 久久精品99北条麻妃 | 久久精品1区2区 | 精品视频123区在线观看 | 91激情小视频 | 国产精品免费在线观看视频 | 97色免费视频 | 久久国产精品电影 | 中文字幕美女免费在线 | 天无日天天操天天干 | 日韩欧美在线播放 | 五月花婷婷 | 中午字幕在线 | 日韩欧美视频免费看 | 精品一区精品二区 | 2022国产精品视频 | 香蕉视频色 | 九九热视频在线播放 | 操操操人人 | 最新真实国产在线视频 | 免费成人短视频 | 亚洲精品在线观看视频 | 高清久久久久久 | 99色在线观看| 日本免费久久高清视频 | 成人影音在线 | 五月婷婷毛片 | 一级α片 | 在线日韩| 91福利社区在线观看 | 97成人资源 | 免费看的黄色片 | 视频在线精品 | 天天干婷婷| 亚洲作爱 | 欧美日韩国产一二三区 | 中文字幕在线播放一区二区 | 一本大道久久精品懂色aⅴ 五月婷社区 | 美女黄频视频大全 | 成全在线视频免费观看 | 高清免费在线视频 | 久久精品999 | 狠狠色噜噜狠狠狠狠 | 国产在线更新 | 97视频中文字幕 | 婷婷天天色 | 亚洲色视频 | 午夜精品久久久久久久99无限制 | 久草视频中文在线 | 尤物九九久久国产精品的分类 | 婷婷深爱 | 久草精品视频 | 五月花激情 | 久久黄色免费视频 | 午夜精品久久久久久 | 人成免费网站 | 国产在线精品一区 | 在线观看免费视频 | 五月婷婷激情六月 | 国产高清视频在线 | 在线观看岛国片 | 久久久国产一区二区 | 在线观看91网站 | 久久久久久久久福利 | 亚州性色| 中文资源在线官网 | 婷婷久久婷婷 | 国内精品久久久久久 | 久久99久国产精品黄毛片入口 | 曰韩精品| 国产成人av网 | 久久99精品国产 | 亚洲永久精品视频 | 成人黄色资源 | 中文字幕丝袜制服 | 免费在线观看视频一区 | 91久久精品日日躁夜夜躁国产 | 四虎伊人 | 日韩黄色一区 | 午夜久久网站 | 毛片激情永久免费 | 日韩欧美在线视频一区二区 | 91丨porny丨九色 | 国产精品区在线观看 | 玖玖在线观看视频 | 97国产在线 | 亚洲精品毛片一级91精品 | 夜夜躁日日躁狠狠久久88av | 天天干天天干天天干 | 超碰97在线看 | 午夜精品福利在线 | 国产黄色一级大片 | 一区二区欧美在线观看 | 国内精品在线观看视频 | av福利电影 | 久草免费在线观看视频 | 插插插色综合 | 国产精品自拍在线 | 久久精品国产精品亚洲 | 国产五十路毛片 | 激情欧美丁香 | 日韩精品一区二区三区中文字幕 | 婷婷成人亚洲综合国产xv88 | 精品视频中文字幕 | 成人一级黄色片 | 成人一级影视 | 中文字幕日韩电影 | 天天色天天射天天综合网 | 中文字幕色站 | 国产成人在线网站 | 国产黄色视| 在线91观看 | 国产玖玖视频 | 国产美女被啪进深处喷白浆视频 | 日韩黄色在线电影 | 国产精品久久久久四虎 | 91精品国产三级a在线观看 | 亚洲激情婷婷 | 久久人人爽视频 | www.黄色在线 | 久久成人国产精品一区二区 | 久av在线 | 国产黄色精品 | 视频一区久久 | 一区二区视频网站 | 五月婷婷六月丁香在线观看 | 国产老太婆免费交性大片 | 国产美女精品视频免费观看 | 激情文学综合丁香 | 久久网站免费 | 婷婷久久一区 | 黄色99视频 | 亚洲成人黄色 | 成人av高清 | 91亚洲精品视频 | 在线免费av观看 | 国产视频黄 | 波多野结衣一区二区三区中文字幕 | 久久久久亚洲天堂 | 天天干夜夜夜操天 | www麻豆视频| 成人午夜电影网站 | 国产日韩精品一区二区在线观看播放 | 99精品视频在线免费观看 | 伊人狠狠色 | 日本高清dvd | 99久久综合狠狠综合久久 | 欧美色插| 日本久久久久久久久久久 | 久99久视频 | 高清精品视频 | 又粗又长又大又爽又黄少妇毛片 | 五月天网站在线 | 日本最新一区二区三区 | 91九色porny蝌蚪主页 | 亚洲国产小视频在线观看 | 一区二区三区在线视频111 | 国产精品欧美精品 | 五月香视频在线观看 | 综合激情网... | 91在线网站 | 久久不射电影院 | 成人毛片一区二区三区 | 少妇bbb搡bbbb搡bbbb | 亚洲午夜精品一区二区三区电影院 | 中文字幕日本特黄aa毛片 | 久草在线免费播放 | 亚洲黄色av | 激情av资源网 | 国产精品字幕 | 日韩特黄一级欧美毛片特黄 | 日韩成人免费观看 | 韩日精品在线观看 | 日韩大片在线免费观看 | 日免费视频 | 久久精品直播 | 欧美一区二区三区在线视频观看 | 碰超在线| 日日草夜夜操 | 在线免费观看国产黄色 | 最近高清中文字幕 | 国产一区二区视频在线播放 | 免费成人av | 亚洲国产福利视频 | 91精选在线观看 | 视频一区二区在线观看 | 四虎成人精品在永久免费 | 欧美动漫一区二区三区 | av成人在线网站 | 久久这里只精品 | 97韩国电影 | 97免费视频在线播放 | 黄色在线看网站 | 在线观看小视频 | 午夜av免费观看 | 国产很黄很色的视频 | 综合视频在线 | 在线观看中文字幕一区二区 | 国产日韩欧美精品在线观看 | 亚洲免费国产视频 | 亚洲精品啊啊啊 | www.色的| www.日本色 | 国产成人一二三 | 黄影院| 九月婷婷人人澡人人添人人爽 | 精品国产视频一区 | 96精品高清视频在线观看软件特色 | 国产一级a毛片视频爆浆 | 午夜婷婷在线播放 | 久久99国产精品视频 | 欧美精品一级视频 | 中文免费在线观看 | av在线一二三区 | 日本一区二区不卡高清 | 毛片网在线播放 | 国产福利精品在线观看 | 久久久久久久久久久久久9999 | 亚洲国产精久久久久久久 | 国产69久久精品成人看 | 欧洲成人av| 婷婷综合伊人 | 中文字幕免费高清在线观看 | 欧美在线视频一区二区三区 | 干 操 插| 911久久| 五月婷婷天堂 | av中文字幕在线播放 | 久久精品美女视频 | 日韩精品在线一区 | 草久热| 最近中文字幕完整视频高清1 | 亚洲精品玖玖玖av在线看 | 久久国产免费视频 | 精品一二三区视频 | 麻豆视频免费版 | 国产日本在线 | 91人人澡 | 三级黄色a | 欧美黄色免费 | 国产伦精品一区二区三区无广告 | 国产精品18久久久 | 日韩不卡高清视频 | 婷婷色亚洲 | 国产精品久久久久久久久久久久午夜片 | 欧美激情另类文学 | av电影免费观看 | 色综合天天在线 | 99精品欧美一区二区三区 | 欧美激情视频免费看 | 五月婷婷天堂 | 99热99re6国产在线播放 | av观看久久久| 成人免费看黄 | 五月婷婷丁香在线观看 | 天天激情在线 | 中文字幕在线人 | 欧美日韩不卡一区二区三区 | 亚洲理论影院 | a级国产乱理论片在线观看 特级毛片在线观看 | 九九热久久久 | 日韩毛片久久久 | 国产一区二区在线免费观看 | 久久黄色精品视频 | 久久久受www免费人成 | 久久久精品国产一区二区 | 日韩中文字幕a | 久久草网站 | 中文字幕日韩有码 | 99久久99视频只有精品 | 激情久久久久久久久久久久久久久久 | 黄色大全在线观看 | 久久国产精品久久精品 | 91高清视频| 在线精品视频免费播放 | 日韩三级久久 | 97视频资源| 永久免费在线 | 黄色一级动作片 | av软件在线观看 | 色婷婷狠狠干 | 麻豆mv在线观看 | 香蕉视频4aa | 国产一二区精品 | 在线观看色网站 | 色播五月激情综合网 | 国产视频日本 | 亚洲综合欧美精品电影 | 久热免费在线观看 | 黄色成人av网址 | 久久久亚洲影院 | 天天综合视频在线观看 | 国产 中文 日韩 欧美 | 久久99最新地址 | 九九在线精品视频 | 精品免费观看视频 | 97成人精品区在线播放 | 51久久夜色精品国产麻豆 | 欧美日韩一区二区视频在线观看 | 91九色精品女同系列 | 特黄免费av | 国产亚洲va综合人人澡精品 | 亚洲欧美视频 | 成人国产精品 | 国产一级片一区二区三区 | 欧美精彩视频 | www.夜夜 | 国产 一区二区三区 在线 | 久久乐九色婷婷综合色狠狠182 | 国产香蕉久久 | 国产美女在线免费观看 | 日日爽天天操 | 精品国产亚洲一区二区麻豆 | 天天色播| 97视频在线免费播放 | 青青草国产精品视频 | 成人黄色电影在线观看 | 欧美福利片在线观看 | 久久国内精品99久久6app |