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

歡迎訪問 生活随笔!

生活随笔

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

数据库

MYSQL深潜 - 剖析Performance Schema内存管理

發布時間:2024/8/23 数据库 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MYSQL深潜 - 剖析Performance Schema内存管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:?本文主要是通過對PFS引擎的內存管理的源碼的閱讀,解讀PFS內存分配及釋放原理,深入剖析其中存在的一些問題,以及一些改進思路。本文源代碼分析基于Mysql-8.0.24版本。

作者 | 之樞
來源 | 阿里技術公眾號

一 引言

MYSQL Performance schema(PFS)是mysql提供的強大的性能監控診斷工具,提供了一種能夠在運行時檢查server內部執行情況的特方法。PFS通過監視server內部已注冊的事件來收集信息,一個事件理論上可以是server內部任何一個執行行為或資源占用,比如一個函數調用、一個系統調用wait、SQL查詢中的解析或排序狀態,或者是內存資源占用等。

PFS將采集到的性能數據存儲在performance_schema存儲引擎中,performance_schema存儲引擎是一個內存表引擎,也就是所有收集的診斷信息都會保存在內存中。診斷信息的收集和存儲都會帶來一定的額外開銷,為了盡可能小的影響業務,PFS的性能和內存管理也顯得非常重要了。

本文主要是通過對PFS引擎的內存管理的源碼的閱讀,解讀PFS內存分配及釋放原理,深入剖析其中存在的一些問題,以及一些改進思路。本文源代碼分析基于Mysql-8.0.24版本。

二 內存管理模型

PFS內存管理有幾個關鍵特點:

  • 內存分配以Page為單位,一個Page內可以存儲多條record
  • 系統啟動時預先分配部分pages,運行期間根據需要動態增長,但page是只增不回收的模式
  • record的申請和釋放都是無鎖的

1 核心數據結構

PFS_buffer_scalable_container是PFS內存管理的核心數據結構,整體結構如下圖:

Container中包含多個page,每個page都有固定個數的records,每個record對應一個事件對象,比如PFS_thread。每個page中的records數量是固定不變的,但page個數會隨著負載增加而增長。

2 Allocate時Page選擇策略

PFS_buffer_scalable_container是PFS內存管理的核心數據結構

涉及內存分配的關鍵數據結構如下:

PFS_PAGE_SIZE // 每個page的大小, global_thread_container中默認為256 PFS_PAGE_COUNT // page的最大個數,global_thread_container中默認為256class PFS_buffer_scalable_container {PFS_cacheline_atomic_size_t m_monotonic; // 單調遞增的原子變量,用于無鎖選擇pagePFS_cacheline_atomic_size_t m_max_page_index; // 當前已分配的最大page indexsize_t m_max_page_count; // 最大page個數,超過后將不再分配新pagestd::atomic< array_type *> m_pages[PFS_PAGE_COUNT]; // page數組native_mutex_t m_critical_section; // 創建新page時需要的一把鎖 }

首先m_pages是一個數組,每個page都可能有free的records,也有可能整個page都是busy的,Mysql采用了比較簡單的策略,輪訓挨個嘗試每個page是否有空閑,直到分配成功。如果輪訓所有pages依然沒有分配成功,這個時候就會創建新的page來擴充,直到達到page數的上限。

輪訓并不是每次都是從第1個page開始尋找,而是使用原子變量m_monotonic記錄的位置開始查找,m_monotonic在每次在page中分配失敗是加1。

核心簡化代碼如下:

value_type *allocate(pfs_dirty_state *dirty_state) {current_page_count = m_max_page_index.m_size_t.load();monotonic = m_monotonic.m_size_t.load();monotonic_max = monotonic + current_page_count;while (monotonic < monotonic_max) {index = monotonic % current_page_count;array = m_pages[index].load();pfs = array->allocate(dirty_state);if (pfs) {// 分配成功返回return pfs;} else {// 分配失敗,嘗試下一個page, // 因為m_monotonic是并發累加的,這里有可能本地monotonic變量并不是線性遞增的,有可能是從1 直接變為 3或更大,// 所以當前while循環并不是嚴格輪訓所有page,很大可能是跳著嘗試,換者說這里并發訪問下大家一起輪訓所有的page。// 這個算法其實是有些問題的,會導致某些page被跳過忽略,從而加劇擴容新page的幾率,后面會詳細分析。monotonic = m_monotonic.m_size_t++;}}// 輪訓所有Page后沒有分配成功,如果沒有達到上限的話,開始擴容pagewhile (current_page_count < m_max_page_count) {// 因為是并發訪問,為了避免同時去創建新page,這里有一個把同步鎖,也是整個PFS內存分配唯一的鎖native_mutex_lock(&m_critical_section);// 拿鎖成功,如果array已經不為null,說明已經被其它線程創建成功array = m_pages[current_page_count].load();if (array == nullptr) {// 搶到了創建page的責任m_allocator->alloc_array(array);m_pages[current_page_count].store(array);++m_max_page_index.m_size_t;}native_mutex_unlock(&m_critical_section);// 在新的page中再次嘗試分配pfs = array->allocate(dirty_state);if (pfs) {// 分配成功并返回return pfs;}// 分配失敗,繼續嘗試創建新的page直到上限} }

我們再詳細分析下輪訓page策略的問題,因為m_momotonic原子變量的累加是并發的,會導致一些page被跳過輪訓它,從而加劇了擴容新page的幾率。

舉一個極端一些的例子,比較容易說明問題,假設當前一共有4個page,第1、4個page已滿無可用record,第2、3個page有可用record。

當同時來了4個線程并發Allocate請求,同時拿到了的m_monotonic=0.

monotonic = m_monotonic.m_size_t.load();

這個時候所有線程嘗試從第1個page分配record都會失敗(因為第1個page是無可用record),然后累加去嘗試下一個page

monotonic = m_monotonic.m_size_t++;

這個時候問題就來了,因為原子變量++是返回最新的值,4個線程++成功是有先后順序的,第1個++的線程后monotonic值為2,第2個++的線程為3,以次類推。這樣就看到第3、4個線程跳過了page2和page3,導致3、4線程會輪訓結束失敗進入到創建新page的流程里,但這個時候page2和page3里是有空閑record可以使用的。

雖然上述例子比較極端,但在Mysql并發訪問中,同時申請PFS內存導致跳過一部分page的情況應該還是非常容易出現的。

3 Page內Record選擇策略

PFS_buffer_default_array是每個Page維護一組records的管理類。

關鍵數據結構如下:

class PFS_buffer_default_array { PFS_cacheline_atomic_size_t m_monotonic; // 單調遞增原子變量,用來選擇free的record size_t m_max; // record的最大個數 T *m_ptr; // record對應的PFS對象,比如PFS_thread }

每個Page其實就是一個定長的數組,每個record對象有3個狀態FREE,DIRTY, ALLOCATED,FREE表示空閑record可以使用,ALLOCATED是已分配成功的,DIRTY是一個中間狀態,表示已被占用但還沒分配成功。

Record的選擇本質就是輪訓查找并搶占狀態為free的record的過程。

核心簡化代碼如下:

value_type *allocate(pfs_dirty_state *dirty_state) {// 從m_monotonic記錄的位置開始嘗試輪序查找monotonic = m_monotonic.m_size_t++;monotonic_max = monotonic + m_max;while (monotonic < monotonic_max) {index = monotonic % m_max;pfs = m_ptr + index;// m_lock是pfs_lock結構,free/dirty/allocated三狀態是由這個數據結構來維護的// 后面會詳細介紹它如何實現原子狀態遷移的if (pfs->m_lock.free_to_dirty(dirty_state)) {return pfs;}// 當前record不為free,原子變量++嘗試下一個monotonic = m_monotonic.m_size_t++;} }

選擇record的主體主體流程和選擇page基本相似,不同的是page內record數量是固定不變的,所以沒有擴容的邏輯。

當然選擇策略相同,也會有同樣的問題,這里的m_monotonic原子變量++是多線程并發的,同樣如果并發大的場景下會有record被跳過選擇了,這樣導致page內部即便有free的record也可能沒有被選中。

所以也就是page選擇即便是沒有被跳過,page內的record也有幾率被跳過而選不中,雪上加霜,更加加劇了內存的增長。

4 pfs_lock

每個record都有一個pfs_lock,來維護它在page中的分配狀態(free/dirty/allocated),以及version信息。

關鍵數據結構:

struct pfs_lock {
std::atomic m_version_state;
}

pfs_lock使用1個32位無符號整型來保存version+state信息,格式如下:

state
低2位字節表示分配狀態。

state PFS_LOCK_FREE = 0x00
state PFS_LOCK_DIRTY = 0x01
state PFS_LOCK_ALLOCATED = 0x11

version

初始version為0,每分配成功一次加1,version就能表示該record被分配成功的次數
主要看一下狀態遷移代碼:

// 下面3個宏主要就是用來位操作的,方便操作state或version #define VERSION_MASK 0xFFFFFFFC #define STATE_MASK 0x00000003 #define VERSION_INC 4bool free_to_dirty(pfs_dirty_state *copy_ptr) {uint32 old_val = m_version_state.load();// 判斷當前state是否為FREE,如果不是,直接返回失敗if ((old_val & STATE_MASK) != PFS_LOCK_FREE) {return false;}uint32 new_val = (old_val & VERSION_MASK) + PFS_LOCK_DIRTY;// 當前state為free,嘗試將state修改為dirty,atomic_compare_exchange_strong屬于樂觀鎖,多個線程可能同時// 修改該原子變量,但只有1個修改成功。bool pass =atomic_compare_exchange_strong(&m_version_state, &old_val, new_val);if (pass) {// free to dirty 成功copy_ptr->m_version_state = new_val;}return pass; }void dirty_to_allocated(const pfs_dirty_state *copy) {/* Make sure the record was DIRTY. */assert((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY);/* Increment the version, set the ALLOCATED state */uint32 new_val = (copy->m_version_state & VERSION_MASK) + VERSION_INC +PFS_LOCK_ALLOCATED;m_version_state.store(new_val); }

狀態遷移過程還是比較好理解的, 由dirty_to_allocated和allocated_to_free的邏輯是更簡單的,因為只有record狀態是free時,它的狀態遷移是存在并發多寫問題的,一旦state變為dirty,當前record相當于已經被某一個線程占有,其它線程不會再嘗試操作該record了。

version的增長是在state變為PFS_LOCK_ALLOCATED時

5 PFS內存釋放

PFS內存釋放就比較簡單了,因為每個record都記錄了自己所在的container和page,調用deallocate接口,最終將狀態置為free就完成了。

最底層都會進入到pfs_lock來更新狀態:

struct pfs_lock {void allocated_to_free(void) {/*If this record is not in the ALLOCATED state and the caller is tryingto free it, this is a bug: the caller is confused,and potentially damaging data owned by another thread or object.*/uint32 copy = copy_version_state();/* Make sure the record was ALLOCATED. */assert(((copy & STATE_MASK) == PFS_LOCK_ALLOCATED));/* Keep the same version, set the FREE state */uint32 new_val = (copy & VERSION_MASK) + PFS_LOCK_FREE;m_version_state.store(new_val);} }

三 內存分配的優化

前面我們分析到無論是page還是record都有幾率出現跳過輪訓的問題,即便是緩存中有free的成員也會出現分配不成功,導致創建更多的page,占用更多的內存。最主要的問題是這些內存一旦分配就不會被釋放。

為了提升PFS內存命中率,盡量避免上述問題,有一些思路如下:

while (monotonic < monotonic_max) {index = monotonic % current_page_count;array = m_pages[index].load();pfs = array->allocate(dirty_state);if (pfs) {// 記錄分配成功的indexm_monotonic.m_size_t.store(index);return pfs;} else {// 局部變量遞增,避免掉并發累加而跳過某些pagesmonotonic++;}}

另外一點,每次查找都是從最近一次分配成功的位置開始,這樣必然導致并發訪問的沖突,因為大家都從同一個位置開始找,起始查找位置應該加入一定的隨機性,這樣可以避免大量的沖突重試。

總結如下:

  • 每次Allocate是從最近一次分配成功的index開始查找,或者隨機位置開始查找
  • 每個Allocate嚴格輪訓所有pages或records
  • 四 內存釋放的優化

    PFS內存釋放的最大的問題就是一旦創建出的內存就得不到釋放,直到shutdown。如果遇到熱點業務,在業務高峰階段分配了很多page的內存,在業務低峰階段依然得不到釋放。

    要實現定期檢測回收內存,又不影響內存分配的效率,實現一套無鎖的回收機制還是比較復雜的。

    主要有如下幾點需要考慮:

  • 釋放肯定是要以page為單位的,也就是釋放的page內的所有records都必須保證都為free,而且要保證待free的page不會再被分配到
  • 內存分配是隨機的,整體上內存是可以回收的,但可能每個page都有一些busy的,如何更優的協調這種情況
  • 釋放的閾值怎么定,也要避免頻繁分配+釋放的問題
  • 針對PFS內存釋放的優化,PolarDB已經開發并提供了定期回收PFS內存的特性,鑒于本篇幅的限制,留在后續再介紹了。

    五 關于我們

    PolarDB 是阿里巴巴自主研發的云原生分布式關系型數據庫,于2020年進入Gartner全球數據庫Leader象限,并獲得了2020年中國電子學會頒發的科技進步一等獎。PolarDB 基于云原生分布式數據庫架構,提供大規模在線事務處理能力,兼具對復雜查詢的并行處理能力,在云原生分布式數據庫領域整體達到了國際領先水平,并且得到了廣泛的市場認可。在阿里巴巴集團內部的最佳實踐中,PolarDB還全面支撐了2020年天貓雙十一,并刷新了數據庫處理峰值記錄,高達1.4億TPS。歡迎有志之士加入我們,簡歷請投遞到zetao.wzt@alibaba-inc.com,期待與您共同打造世界一流的下一代云原生分布式關系型數據庫。

    參考:

    [1] MySQL Performance Schema
    MySQL :: MySQL 8.0 Reference Manual :: 27 MySQL Performance Schema

    [2] MySQL · 最佳實踐 · 今天你并行了嗎?---洞察PolarDB 8.0之并行查詢
    MySQL · 最佳實踐 · 今天你并行了嗎?---洞察PolarDB 8.0之并行查詢

    [3] Source code mysql / mysql-server 8.0.24
    GitHub - mysql/mysql-server at mysql-8.0.24

    原文鏈接
    本文為阿里云原創內容,未經允許不得轉載。

    總結

    以上是生活随笔為你收集整理的MYSQL深潜 - 剖析Performance Schema内存管理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    亚洲视频,欧洲视频 | av高清一区| 日韩高清精品免费观看 | 欧美一级特黄aaaaaa大片在线观看 | 亚洲精品xxx| 在线看片成人 | 一本一道波多野毛片中文在线 | 婷婷综合 | 人人草人 | 亚洲激情综合 | 国产精品乱码久久久 | 日韩美女久久 | 五月天久久久久久 | www.av免费 | 国产精品福利久久久 | 九九九热精品免费视频观看网站 | 色五月色开心色婷婷色丁香 | 欧美日韩一区二区三区不卡 | 国产涩图 | 制服丝袜一区二区 | 亚洲视频 一区 | 超碰97免费 | 国产 视频 高清 免费 | 中文字幕.av.在线 | 在线免费观看国产黄色 | 精品高清美女精品国产区 | 在线免费av电影 | 亚洲精品国产综合99久久夜夜嗨 | 91九色视频观看 | 日韩激情精品 | 久久视奸 | 国产97在线播放 | 国产视频欧美视频 | 在线视频国产区 | 中文字幕在线看视频国产中文版 | 国产在线观看你懂得 | 亚洲精品一区二区三区新线路 | 在线看污网站 | 婷婷综合亚洲 | 精品国产_亚洲人成在线 | 黄色软件在线观看免费 | av网址在线播放 | 婷婷婷国产在线视频 | 五月天婷婷狠狠 | 一区免费观看 | 国产剧情一区二区 | 久草在线费播放视频 | 亚洲激情网站免费观看 | 91精品久久久久久久91蜜桃 | 婷婷播播网| 亚洲一二三区精品 | 久久免费一级片 | 天天操偷偷干 | 国产精品一区二区久久久 | av不卡免费在线观看 | 国内久久久久 | 日本精品视频在线观看 | 久久国产精品一二三区 | 亚洲成人家庭影院 | 亚洲精品视频在线观看免费视频 | 国产婷婷色 | www.99热精品 | 91麻豆精品91久久久久同性 | 在线看日韩 | 黄色视屏av | 日本精品一二区 | 操碰av| 99久久激情 | 高清av在线免费观看 | 在线视频 91 | 久久综合久久久 | 久久久综合香蕉尹人综合网 | 欧美成人中文字幕 | 久久99爱视频 | 国产美女无遮挡永久免费 | 国产精品24小时在线观看 | 亚洲区视频在线观看 | 最新国产精品久久精品 | 亚洲国产999 | 人人爽人人爽人人爽人人爽 | 国产精品麻豆99久久久久久 | 国产特级毛片aaaaaa毛片 | 成人av在线观 | 日日夜夜综合网 | 97免费| 久久亚洲欧美日韩精品专区 | 91在线精品播放 | 国产精品对白一区二区三区 | 最近中文字幕完整高清 | 亚洲精品9 | 精品一区二区久久久久久久网站 | 国产明星视频三级a三级点| 综合精品久久久 | 天天爽网站 | 97超碰人人澡| 婷婷国产一区二区三区 | 超碰在线国产 | 天天操婷婷 | 日韩在线视频国产 | 精品成人免费 | 久草在在线视频 | 色婷婷五 | 成人手机在线视频 | 成人影视免费看 | 欧美激情精品久久久久久免费印度 | 99精品免费久久久久久日本 | 五月天久久久久 | 国产精品美女久久久久久久久久久 | av在线免费观看黄 | 九九热在线播放 | 色综合天天综合网国产成人网 | 国产一区二区三区高清播放 | 97国产小视频 | 精品亚洲欧美一区 | 午夜久久电影网 | 91天天视频| 日韩二三区| 91高清免费观看 | 2022久久国产露脸精品国产 | 在线观看av免费 | 久久都是精品 | 在线 高清 中文字幕 | 亚洲经典精品 | 欧美综合色在线图区 | 成年人视频在线免费观看 | 久久久久久片 | 天天综合网在线 | 国产视频不卡一区 | 97超碰人人 | 日韩电影中文字幕在线观看 | 天天操天天干天天玩 | 91精品视频在线免费观看 | 香蕉网址 | 精品久久免费 | 日韩av快播电影网 | 九九精品视频在线观看 | 免费男女羞羞的视频网站中文字幕 | 韩国精品福利一区二区三区 | 国产操在线 | 久草免费新视频 | 国内精品久久久久久久久久清纯 | 激情五月婷婷综合网 | 日本久久久久 | 久久久久久久久久久久久久av | 91精品网站在线观看 | 久久婷婷久久 | 久久综合久久综合久久 | 人人舔人人干 | 97视频在线免费 | 亚洲美女久久 | 中文字幕乱码亚洲精品一区 | 日本三级中文字幕在线观看 | www.xxxx变态.com | 欧美人人爱 | 国产尤物视频在线 | 久久国产精品精品国产色婷婷 | 99视频精品全部免费 在线 | 久久免费看av| 精品亚洲欧美无人区乱码 | 亚洲精品久久久蜜桃 | 中文字幕乱码亚洲精品一区 | 亚洲精品高清视频 | 日韩欧美有码在线 | 国产资源网 | 亚洲精品www久久久 www国产精品com | 久久免费视频一区 | 99久久久久| 精品久久中文 | 久草视频网 | 天天天天综合 | 手机av在线网站 | av中文国产 | 正在播放亚洲精品 | 国产精品美女免费看 | 99爱在线观看 | 人人看人人爱 | 热久久免费视频 | 在线视频欧美精品 | 天天操夜夜想 | 99热播精品 | 国产高清区 | 国产精品乱码一区二区视频 | 成人久久久精品国产乱码一区二区 | 亚洲最新精品 | 国产一区二区播放 | 狠狠的干狠狠的操 | 免费麻豆视频 | 在线看v片 | 亚洲免费永久精品国产 | 九九九国产 | 狠狠色丁香久久综合网 | 国内精品久久久久影院一蜜桃 | 激情图片qvod | 国产99久久久国产精品免费二区 | 成人污视频在线观看 | 91精品一区二区在线观看 | 精品少妇一区二区三区在线 | 高清av网 | 国产成人久 | 国产精品二区在线观看 | 成人影音在线 | 在线 欧美 日韩 | 天堂麻豆| 婷婷99| 蜜臀精品久久久久久蜜臀 | 精品久久精品久久 | 丁香在线观看完整电影视频 | 亚洲清纯国产 | 99热都是精品 | 美女视频免费一区二区 | 国产精品久久久久国产精品日日 | 欧美日韩在线观看一区 | 激情久久伊人 | 五月天激情在线 | 国产精品久久久电影 | 久久视频国产精品免费视频在线 | 91综合久久一区二区 | 婷婷激情影院 | 在线看小早川怜子av | 国产日韩欧美综合在线 | 日韩中文字幕a | 97精品一区 | 亚洲国产日韩欧美 | 一区二区精品在线 | 在线看黄色av | 韩国一区二区av | 久久er99热精品一区二区三区 | 玖玖在线看 | 国产精品永久免费 | 国产精品麻豆视频 | 免费观看成人 | 在线观看国产区 | 久久精品理论 | 日韩精品一区在线观看 | 久久久网站 | 能在线观看的日韩av | 亚洲我射av| 天天草天天干天天射 | 久草资源免费 | 天天天天射 | 97人人澡人人爽人人模亚洲 | 在线免费性生活片 | 人人玩人人爽 | 免费视频久久 | 欧美精品久久天天躁 | 99精品久久久久 | 国产精品高潮久久av | 久久久亚洲国产精品麻豆综合天堂 | 久操伊人 | 91在线播放综合 | 国产成人av| 久久久久久久影院 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产私拍在线 | 久久狠狠干 | 国产高清中文字幕 | 日韩国产在线观看 | 国产视频在线观看免费 | 五月天婷婷狠狠 | 一级a性色生活片久久毛片波多野 | 天天婷婷 | 91精品一区二区在线观看 | 黄色片毛片 | 91av在线免费播放 | 在线综合色 | 日日操天天操狠狠操 | 午夜精品一区二区三区在线播放 | 久久免费成人网 | 久久免费精彩视频 | 国产99在线播放 | 日本视频久久久 | 久久丁香网| 国产一区二区三区在线免费观看 | 91完整版在线观看 | 日日干干| 日韩黄色免费 | 日韩欧美在线综合网 | 91热视频在线观看 | 亚洲欧美乱综合图片区小说区 | 91在线观看视频网站 | 91av手机在线 | 国产精品永久久久久久久久久 | 狠狠狠色丁香综合久久天下网 | a午夜电影 | 夜色成人网| 日韩一级黄色av | 中文字幕亚洲情99在线 | 中文字幕在线观看免费高清电影 | 91久久国产露脸精品国产闺蜜 | 美女网站一区 | 久久看片 | 最近中文字幕免费大全 | 狠色在线| 高清av免费看 | 最新一区二区三区 | 国产精品99久久免费观看 | 国产成a人亚洲精v品在线观看 | 久久九九视频 | 麻豆一精品传二传媒短视频 | 久草在线视频免费资源观看 | 国产999精品 | 国产一级在线播放 | www.夜夜爽 | 美女久久久久久久久久久 | 国产特级毛片aaaaaaa高清 | 国产黄色片久久久 | 狠狠成人 | av先锋中文字幕 | 免费成人结看片 | 波多野结衣在线中文字幕 | 国产精品久久久久久久久久久久久久 | 久草在线电影网 | 欧美无极色 | 综合色伊人| 欧洲精品视频一区二区 | 天堂网一区二区 | 精品国产电影一区二区 | 五月天婷亚洲天综合网鲁鲁鲁 | 成年人在线免费看视频 | 97在线观看视频 | 亚洲电影黄色 | 成片视频免费观看 | 成人小电影在线看 | 日韩欧美视频二区 | 亚洲97在线 | 一区国产精品 | 毛片一区二区 | 欧美日韩国产一二三区 | 欧美日韩性视频 | 日韩精品欧美精品 | 久久久香蕉视频 | av短片在线观看 | 成人av中文字幕在线观看 | 久久久国产日韩 | 免费h漫在线观看 | 久久精品国产久精国产 | 日韩精品播放 | 亚洲精品视频中文字幕 | 国产九九热视频 | 日韩av一区二区在线影视 | 91视频91蝌蚪 | 国产另类av | 日本性视频 | 国产成人精品aaa | 91黄站| 青青河边草观看完整版高清 | 天天干夜夜爱 | 国产手机免费视频 | 国产精品无av码在线观看 | 97超在线视频 | 亚洲成人软件 | 国产麻豆精品一区二区 | 亚洲国产婷婷 | 成人免费网视频 | 国产精品理论片 | 人人爽人人爽人人片av | 精品视频123区在线观看 | 超碰97中文 | 久久精品综合一区 | 久久免费a | 国产护士hd高朝护士1 | 伊人五月天av | av资源在线观看 | 五月开心激情 | 我爱av激情网 | 国产精品一区免费观看 | 久草免费电影 | 亚洲小视频在线观看 | 在线成人欧美 | 伊人天天狠天天添日日拍 | 久久国产精品99国产 | 久久久伊人网 | 人人爽人人爽人人 | 欧美精品一区二区在线观看 | 亚洲成人资源在线观看 | 免费亚洲婷婷 | 狂野欧美激情性xxxx欧美 | 91桃色在线观看视频 | 国产在线观看黄 | 欧美另类sm图片 | 日韩a在线| 日韩视频区 | 手机在线黄色网址 | 免费日韩视频 | 免费在线黄 | 国产精品中文久久久久久久 | 在线精品一区二区 | 天天综合色 | 国产成人一区二区啪在线观看 | 日韩av电影一区 | 欧美性生活一级片 | 精品福利在线视频 | 国产在线看一区 | 欧美高清成人 | 色视频成人在线观看免 | 人人干人人草 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 福利视频第一页 | 欧美成人精品xxx | a午夜在线| 色999精品| 久久综合操| 久久亚洲精品国产亚洲老地址 | 美女视频黄是免费的 | 激情五月婷婷激情 | 久久色在线观看 | 一区二区三区国 | 国产午夜三级一区二区三 | 午夜精品一区二区三区免费视频 | 国产精品欧美精品 | 草久中文字幕 | 国产精品一区二区62 | 久久久久亚洲a | 久久视频免费看 | 在线av资源 | 国产精品久久久久一区二区 | 精品国产乱码一区二 | 狠狠色狠狠色综合日日92 | 深爱激情久久 | www.久久久.cum| 亚洲日b视频 | 国产精品久久久久久模特 | 91人人视频在线观看 | 久久视频在线观看免费 | 在线观看91精品视频 | 日韩精品欧美专区 | 懂色av懂色av粉嫩av分享吧 | 日韩高清国产精品 | 欧美最猛性xxxxx亚洲精品 | 91视频在线观看免费 | 在线a亚洲视频播放在线观看 | 国产亚洲婷婷免费 | 天天操天操 | 精品在线视频观看 | 天天伊人狠狠 | 亚洲精品国产精品国自产观看 | 久久官网 | 欧美老少交 | 97超碰在线久草超碰在线观看 | 狠狠躁天天躁综合网 | 夜夜躁日日躁狠狠久久88av | 黄色av成人在线观看 | 中文电影网 | 午夜久久福利视频 | 91视频高清免费 | 色婷婷九月| 国产亚洲精品电影 | 在线免费观看黄色 | 色网站视频 | 欧美性做爰猛烈叫床潮 | 免费看黄色小说的网站 | 国产精品99精品久久免费 | 国产色视频网站 | 中文字幕中文字幕在线中文字幕三区 | 国产成人精品久久亚洲高清不卡 | 91av亚洲| 亚洲久草在线视频 | 韩日精品在线 | 国产精品 欧美 日韩 | 久久久男人的天堂 | 欧美一级激情 | 日日爽天天爽 | 91av网站在线观看 | 国产高清视频在线播放 | 色婷婷丁香 | 日韩美女免费线视频 | 日韩欧美在线免费观看 | 国产精品11 | 成人av网址大全 | 999国内精品永久免费视频 | 久久成人精品电影 | www.久久免费视频 | 综合久久久 | 久久亚洲免费 | 色午夜| 九九99靖品 | 亚洲aaa级 | 日日干美女 | 99久久激情| 999电影免费在线观看2020 | 亚洲综合色婷婷 | 免费成人在线观看 | 欧美在线1 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久国产电影 | 狠狠狠狠干 | 天天草网站 | 日韩成人一级大片 | 国产麻豆果冻传媒在线观看 | 全久久久久久久久久久电影 | 视频在线观看99 | 欧美日韩高清一区二区 | 97天天干 | 深夜免费福利 | 国产精品久久久久久影院 | 亚洲精品玖玖玖av在线看 | 最新日韩视频 | 国产又黄又爽无遮挡 | 四虎影视成人精品 | 久草视频网 | 久久国产乱 | 超碰精品在线观看 | 色综合激情久久 | 特黄特色特刺激视频免费播放 | 欧美二区视频 | 日韩网站在线播放 | 五月婷婷在线观看 | 日本aaa在线观看 | 中文字幕日韩高清 | 国产不卡网站 | 992tv在线观看网站 | 日韩av看片 | 色国产视频 | 男女精品久久 | 亚洲精品白浆高清久久久久久 | 黄色小网站免费看 | 国产精品视频你懂的 | 96国产精品视频 | 精品视频999| 亚洲精品一区二区网址 | 久久伦理网 | 久久国产亚洲 | 国产成人av一区二区三区在线观看 | 免费看的黄色小视频 | 免费av大片 | 久久久久久久久久久高潮一区二区 | 激情黄色av | 综合色爱| 夜夜婷婷| 91毛片在线 | 色在线免费 | 国产精品18久久久久久vr | 国产中文字幕视频在线观看 | 天天干天天射天天操 | 国产成人一区二区三区免费看 | 中文字幕av一区二区三区四区 | 992tv在线观看网站 | 丝袜制服天堂 | 日韩高清一二三区 | 91视频观看免费 | 久久午夜影院 | 天堂av在线 | 国产一区二区视频在线 | 波多野结衣在线视频免费观看 | 欧美日韩99 | 九色在线视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 亚洲精品97| 天天射天天艹 | 激情婷婷av | 国产麻豆精品95视频 | 在线韩国电影免费观影完整版 | 国产精品福利一区 | 综合天堂av久久久久久久 | 中文字幕精品一区二区三区电影 | 欧美日韩视频精品 | 久久精品国产成人 | 天天天射| 91传媒激情理伦片 | 不卡国产视频 | 午夜国产一区二区三区四区 | 有码视频在线观看 | 高清不卡免费视频 | 国产亚洲成人精品 | 欧美一级免费黄色片 | 欧美尹人 | 国产成人久久av免费高清密臂 | 91av视频在线免费观看 | 色偷偷网站视频 | 国产精品中文字幕在线观看 | 国产生活一级片 | 精品99久久 | 免费国产在线视频 | 婷婷伊人综合 | 99爱精品在线 | 中文字幕网站 | 亚洲精品在线免费播放 | 亚洲人成网站精品片在线观看 | 国产精品video爽爽爽爽 | 黄色一级动作片 | 日韩精品视频免费专区在线播放 | 久久久香蕉视频 | 麻豆播放 | 国产a视频免费观看 | 三级黄色在线观看 | 国产丝袜美腿在线 | 日韩视频区 | 天天艹天天爽 | 一级黄色在线免费观看 | 欧美激情精品久久久久久 | 韩日精品视频 | 欧美小视频在线 | 久久精品欧美 | 色永久免费视频 | 亚洲黄色在线观看 | 四虎最新入口 | 九九精品久久 | 在线观看中文字幕2021 | 中国一级片在线观看 | 日本久久综合网 | 欧美色黄| 久草91视频 | 欧美色精品天天在线观看视频 | 韩国av永久免费 | 免费在线观看亚洲视频 | 欧美成人播放 | 国产午夜三级一区二区三桃花影视 | 午夜久久精品 | 果冻av在线 | 九九视频网站 | 成人a级网站 | 91成人精品国产刺激国语对白 | 亚洲高清在线精品 | 综合精品久久久 | 日韩动漫免费观看高清完整版在线观看 | 91精品欧美一区二区三区 | 日韩系列| 99热亚洲精品 | 欧美夫妻性生活电影 | av中文在线影视 | 久久免费的精品国产v∧ | 午夜精品福利一区二区三区蜜桃 | 99精品偷拍视频一区二区三区 | 91成人欧美 | 久久任你操 | 欧美乱熟臀69xxxxxx | 少妇bbbb搡bbbb搡bbbb | 丁香久久激情 | 伊人中文网| 成人黄色毛片视频 | 91香蕉国产在线观看软件 | 不卡电影一区二区三区 | 国产免费久久 | 亚洲精品中文在线资源 | 国产精品专区h在线观看 | 欧美性粗大hdvideo | 久久午夜精品影院一区 | www.色就是色 | 国产视频99 | www.狠狠色.com | 亚洲免费永久精品国产 | 九九热只有这里有精品 | 亚洲视频六区 | 亚洲国产影院av久久久久 | 日韩久久精品一区二区三区下载 | 国产偷国产偷亚洲清高 | 免费三级黄色片 | 免费福利视频网 | 日韩免费观看一区二区三区 | 国产视频一 | 成人在线视频论坛 | 91成人精品一区在线播放69 | 亚洲成人av电影在线 | 国产精品成人a免费观看 | 免费情趣视频 | 中文字幕在线观看视频免费 | 久久精品小视频 | 丝袜+亚洲+另类+欧美+变态 | 亚洲国产精品99久久久久久久久 | 成人a免费看 | 精品麻豆入口免费 | 色在线视频网 | 成人免费大片黄在线播放 | 久久高清国产视频 | 四虎成人精品 | 又色又爽又激情的59视频 | 欧美在一区 | 999成人网 | av在线官网| 天天看天天干 | 成人理论电影 | 国产精品久久久久久久免费观看 | 99一区二区三区 | 天天射天天射 | 国产精品爽爽爽 | 91最新地址永久入口 | 国产96精品 | www四虎影院| 激情五月播播久久久精品 | 日韩免费一区二区 | 亚洲日本欧美在线 | 午夜精品av在线 | 精品福利网 | www色片 | 久热爱| 97超碰总站 | www日韩在线 | 九九国产精品视频 | 中文字幕在线影视资源 | 日日夜夜中文字幕 | 91av在线播放 | 天天插夜夜操 | 欧美日韩高清 | 免费在线中文字幕 | 久久久久久美女 | 欧美大片在线看免费观看 | 国产精品中文字幕在线 | 免费在线国产视频 | 亚洲欧美日韩不卡 | 国产夫妻性生活自拍 | 国产精品网红福利 | 99久久精品国产亚洲 | 亚洲成年人在线播放 | 欧美日韩在线观看一区二区三区 | 日韩欧美国产精品 | 色99之美女主播在线视频 | 手机av在线网站 | 日本大尺码专区mv | 亚州性色 | 激情五月五月婷婷 | 亚洲综合在线一区二区三区 | 国产在线色 | 一级a性色生活片久久毛片波多野 | 免费男女羞羞的视频网站中文字幕 | 日韩精品视频免费看 | 亚洲激情视频 | 丁香六月国产 | 国产日韩欧美在线影视 | 911久久香蕉国产线看观看 | 亚洲欧美在线视频免费 | 国产大陆亚洲精品国产 | 天天干天天操天天拍 | 亚洲一级影院 | 久久久久久黄色 | 在线视频99 | 五月天久久久久 | 国产精品永久免费观看 | 久久福利在线 | 久久久国产精华液 | 99久久久国产精品 | 日韩欧美精品一区二区三区经典 | 久久久精品综合 | 中文字幕免费高清 | 欧美性色网站 | 日本三级国产 | 日韩成人免费观看 | 玖玖玖精品| 久久久久免费观看 | av在线小说 | 深爱激情亚洲 | 国产精品大尺度 | 欧美日韩一级久久久久久免费看 | 国产精品嫩草55av | 亚洲精品mv在线观看 | 久草在线免费看视频 | 一区二区三区在线观看中文字幕 | 在线观看视频一区二区三区 | 日韩av进入 | 国产91全国探花系列在线播放 | 香蕉在线影院 | 国产在线精品福利 | 久久久精品99 | 九九久久免费 | 久久色在线播放 | 国产黄色在线 | 国产伦精品一区二区三区在线 | 91探花在线视频 | 国产精品毛片久久久久久久久久99999999 | 亚洲综合在线播放 | 在线黄色av电影 | 日韩精品在线免费播放 | 天天操天天色天天射 | 日本久久电影 | 美女网站视频免费黄 | 在线观看av麻豆 | 精品国产人成亚洲区 | 二区三区视频 | 在线一二三四区 | 日韩免费视频观看 | 九色91av| 久热只有精品 | 国产色黄网站 | 免费视频黄色 | 亚洲精品美女 | 欧美va天堂在线电影 | 在线av资源 | 有码中文在线 | 午夜精品福利影院 | 久久久久久久久毛片精品 | 日韩av视屏在线观看 | 超碰免费成人 | 在线亚洲日本 | 激情婷婷在线观看 | 久久精品一区二 | 久久精品国产亚洲aⅴ | 精品亚洲免费视频 | 国产精品乱码高清在线看 | 美女视频久久 | 在线欧美中文字幕 | 99亚洲国产精品 | 在线观看不卡视频 | 国产精品成人一区二区 | 天天草av | 99热这里只有精品在线观看 | 91成人免费看 | 天躁狠狠躁 | 国产在线精品二区 | 免费看麻豆 | 91免费版在线| 久久精品日韩 | 99这里只有久久精品视频 | 国产精品淫 | 最近中文字幕视频完整版 | 色a4yy| 日韩一二三区不卡 | 中文字幕一区二区三区四区视频 | 久久久精品一区二区 | 人人超在线公开视频 | 婷婷色狠狠 | 免费在线国产视频 | 久久久国产精华液 | 99情趣网视频 | 久久久亚洲网站 | 麻豆视频免费 | 97成人精品视频在线播放 | 999视频在线播放 | 成人av片免费观看app下载 | 97超碰影视 | www.国产在线观看 | 久久毛片网| 免费日韩高清 | 久久久久久久久艹 | 91久久一区二区 | 日本女人逼 | 8x成人免费视频 | 精品久久久久久国产 | 99爱视频| 国产在线资源 | 最近免费中文字幕mv在线视频3 | 欧美一二三区播放 | 在线国产视频观看 | 久久久精品国产一区二区电影四季 | 永久免费精品视频网站 | 日韩三级免费观看 | 亚洲最大av| 69av免费视频| 久久精品这里精品 | 日韩大片免费在线观看 | 黄色精品一区 | 中文亚洲欧美日韩 | 17videosex性欧美 | 国产黄色片免费观看 | 在线看的毛片 | 婷婷色网址 | 久久久久综合精品福利啪啪 | 国产视频在线观看免费 | 在线亚洲观看 | 国产色视频网站2 | 久久婷综合| 久久久久久久久亚洲精品 | 天天干,天天插 | 国产伦精品一区二区三区照片91 | 国产91精品一区二区绿帽 | 在线国产福利 | 一区二区av | 久久久久9999亚洲精品 | 国产精品一区二区久久精品 | 亚洲欧美国产日韩在线观看 | 日韩视频在线一区 | 久久精品三 | 日韩专区视频 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品ⅴa有声小说 | 夜夜躁日日躁狠狠久久88av | 中文字幕在线播放一区 | 视频二区在线 | 日韩中文字幕亚洲一区二区va在线 | 中文av不卡| 成人国产电影在线观看 | 精品国产乱码 | 日韩69av | 天天干天天射天天爽 | 四虎在线免费观看 | 国产精品婷婷 | 免费av免费观看 | 黄色成人av网址 | 91毛片视频| 91麻豆精品国产91久久久久久久久 | 久久激情五月激情 | 天堂久久电影网 | 国产精品第72页 | 水蜜桃亚洲一二三四在线 | 伊人婷婷激情 | 久久精品高清视频 | 午夜av免费观看 | 亚洲综合在线观看视频 | 久久香蕉国产精品麻豆粉嫩av | 高清av在线免费观看 | 国产区精品视频 | 国产精品二区三区 | av黄色免费在线观看 | 国产一级免费在线观看 | 久久精品99久久久久久2456 | 日韩欧美在线视频一区二区 | 97热在线观看 | a天堂中文在线 | 日韩精品免费一区二区 | 国产一区二区三区在线免费观看 | av高清影院 | 亚洲国产精品一区二区久久hs | 欧美福利片在线观看 | 日韩欧美视频在线免费观看 | 成人黄色电影在线观看 | 天天色天天射综合网 | 国产成人一区二区三区影院在线 | 国产在线国偷精品产拍免费yy | 天天操操操操操操 | 日本特黄特色aaa大片免费 | 97国产精品一区二区 | 四虎在线视频 | 免费人成在线观看网站 | 中文字幕国产一区二区 | 中文字幕第一页在线视频 | 日韩在线观看你懂的 | 在线视频亚洲 | 奇米网在线观看 | 精品一区二区精品 | 蜜臀av性久久久久av蜜臀三区 | 亚洲爽爽网 | 亚洲精品国产精品国自 | 日本精品一区二区三区在线播放视频 | 午夜在线免费观看视频 | 国产97色在线 | 国产激情久久久 | 日韩av免费网站 | 国产精品亚洲精品 | 色多多视频在线 | 日韩美女高潮 | 日韩免费观看视频 | 精品国产精品久久一区免费式 | 蜜桃视频在线视频 | 91麻豆精品国产91久久久久久久久 | 久久精品www人人爽人人 | 国产精品一区二区三区视频免费 | 97av在线视频免费播放 | 四虎成人精品永久免费av九九 | 国产69精品久久app免费版 | 国内小视频在线观看 | 亚洲欧洲日韩 | 日韩在线观看的 | 免费在线电影网址大全 | 国产精品一区在线播放 | 99 久久久久 | 亚洲天天干 | 欧美日韩国产欧美 | 亚洲亚洲精品在线观看 | 九色在线 | bbbb操bbbb| 国产 视频 久久 | 一区二区不卡 | 欧美成人影音 | 激情视频亚洲 | 日韩在线观看影院 | 九九免费精品视频 | 久久99在线视频 | www色网站 | 久久久久久久久久久成人 | 国产精品 欧美 日韩 | 国产一区二区久久精品 | 日韩精品一区二区三区中文字幕 | 久久精品久久久精品美女 | 成人av高清 | 欧美精品你懂的 | 97精品在线视频 | 亚洲精品国产欧美在线观看 | 亚洲激情综合 | 天天干天天做天天操 | 在线观看中文字幕亚洲 | 午夜视频在线网站 | 天天干,天天射,天天操,天天摸 | 精品成人在线 | 黄色毛片在线看 | 国产精品视频99 | 亚洲涩涩涩 | 夜夜操天天操 | 最新av网址在线 | 成人精品影视 | 在线国产中文字幕 | 在线观看黄网站 | 久久五月婷婷综合 | 久久夜色精品国产欧美一区麻豆 | 欧美久久久久久久久久久久 | a视频在线观看免费 | 国产黄色资源 | 国产一区在线免费观看 | 中文字幕在线看视频 | 日本三级香港三级人妇99 | 国产在线观看你懂得 | 日日干激情五月 | 国产第一页精品 | 国产精品99久久久久 | 日日夜夜精品视频天天综合网 | 97精品国产手机 | 伊人电影天堂 | 国产福利91精品 | 蜜臀av.com | 毛片的网址 | 夜夜高潮夜夜爽国产伦精品 |