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

過去五年,PolarDB云原生數據庫是如何進行性能優化的?

原創 精選
云計算 云原生
在這項論文工作中,我們分析了云存儲的性能特征,將它們與本地SSD存儲進行了比較,總結了它們對B-tree和LSM-tree類數據庫存儲引擎設計的影響,并推導出了一個框架CloudJump來指導本地存儲引擎遷移到云存儲的適配和優化。

作者 |  蟄語、暴跳

云數據庫實現計算存儲分離,支持計算與存儲的獨立擴展,其用戶還可以享受按量付費等特性。這使得基于云數據庫的系統更加高效、靈活。因此,構建并使用云原生數據庫的勢頭愈演愈烈。另一方面,云化存儲服務已經是云的標準能力,存儲側提供兼容通用的文件接口,并且不對外暴露持久化、容錯處理等復雜細節,其易用性和規模化帶來的高性價比使得云存儲成為了云上系統的第一選擇。在通用云存儲服務上構建云數據庫,無疑是一種既能夠享受規模化云存儲紅利,又能夠通過可靠云存儲服務實現降低維護成本、加速數據庫開發周期的方案。

然而,考慮到云存儲和本地存儲之間的特性差異,在將本地數據庫遷移到云上構建云數據庫時,如何有效使用云存儲面臨了許多挑戰。對此,我們在論文里分析了基于B-tree和LSM-tree的存儲引擎在云存儲上部署時面臨的挑戰,并提出了一個優化框架CloudJump,以希望能夠幫助數據庫開發人員在基于云存儲構建數據庫時使系統更為高效。我們以云原生數據庫PolarDB為案例,展示了一系列針對性優化,并將部分工作擴展應用到基于云存儲的RocksDB上,以此來演示CloudJump的可用性。

更詳細的內容請參閱論文《PolarDB-CloudJump: Optimizing Cloud Database For Cloud Storage》。

圖片

背景

我們討論的云存儲主要基于彈性分布式塊存儲,云中其他類型的存儲服務,例如基于對象的存儲,不在本文的討論范圍內。共享云存儲(如分布式塊存儲服務加分布式文件系統)可以作為多個計算節點的共享存儲層,提供QoS(服務質量)保證、大容量、彈性和按量付費定價模型。對于大多數云廠商和云用戶來說,擁有云存儲服務比構建和維護裸機SSD集群更有吸引力。因此,與其為云本機數據庫構建和優化專用存儲服務,不如利用現有云存儲服務構建云本機數據庫,這是一種非常可行的選擇。此外,隨著云存儲服務幾乎實現了標準化,相應的開發、遷移變得更加快速。

圖片

圖1展示了本地數據庫(不含備份)與shared-storage云原生數據庫的系統結構,AWS Aurora首先引導了這種從本地數據庫向shared-storage云原生數據庫的遷移。它將數據庫分為存儲層和計算層,并可以獨立擴展每一層。為了消除了傳輸數據頁中產生的沉重的網絡開銷,它進一步定制了存儲層,在數據頁上應用重做日志,從而不再需要在兩層之間傳輸數據頁。無疑這種設計在云中提供了一種非標準存儲服務,只能由Aurora的計算層使用。

另一種方案是依賴標準化接口的云存儲服務遷移或構建獲得云數據庫,這也是本文的研究目標。前面已經提到過,這樣做的優勢主要在于的可以實現系統的快速開發、平滑遷移、收納標準化規模化存儲服務的原有優勢等。此外,特別是在我們項目(PolarDB)的硬件環境、已有背景下,兼顧服務可靠性和開發迭代需求,針對進行云存儲服務特性進行性能優化是最迫切的第一步。

挑戰與分析

云存儲和本地SSD存儲在帶寬、延遲、彈性、容量等方面存在巨大差異,例如圖2展示了在穩態條件下本地SSD與云存儲I/O延時、帶寬與工作線程關系,它們對數據庫等設計有著巨大影響。此外,共享存儲的架構特性也會對云存儲帶來影響,如多個節點之間的數據一致性增加了維護cache一致性開銷。

圖片

通過系統實驗、總結分析等,我們發現CloudJump面臨以下技術挑戰:

  • 遠程分布式存儲集群的訪問導致云存儲服務的I/O延遲高;
  • 通常聚合I/O帶寬未被充分利用;
  • 在具有本地存儲的單機上運行良好但需要適應云存儲而導致特性改變的傳統設計,例如文件cache緩存;
  • 長鏈路導致各種數據庫I/O操作之間的隔離度較低(例如,日志刷寫與大量數據I/O的競爭);
  • 云用戶允許且可能使用非常大的單表文件(例如數十TB)而不進行數據切分,這加劇了I/O問題的影響。

針對不同的數據存儲引擎,如基于B-tree和LSM-tree的存儲引擎,這些特性差異會帶來不同的性能差異,表1歸納總結了這些挑戰及其對數據庫設計的影響。其中有共性問題,如WAL路徑寫入變慢、共享存儲(分布式文件系統)cache一致性代價等;也有個性問題,如B-tree結構在獨占資源情況下做遠程I/O、遠程加劇I/OLSM-tree讀放大影響等。

圖片

優化原則

CloudJump針對上述挑戰,提出7條優化準則:

  • Thread-level Parallelism:例如依據I/O特性實驗,采用(更)多線程的日志、數據I/O線程及異步I/O模型,將數據充分打散到多個存儲節點上。
  • Task-level Parallelism:例如對集中Log buffer按Page Partition分片,實現并行寫入并基于分片進行并行Recovery。
  • Reduce remote read and Prefetching:例如通過收集并聚合原分散meta至統一的superblock,將多個I/O合一實現fast validating;通過預讀利用聚合讀帶寬、減少讀任務延時;通過壓縮、filter過濾減少讀取數據量。與本地SSD上相比,這些技術在云存儲上更能獲得收益。
  • Fine-grained Locking and Lock-free Data Structures:云存儲中較長的I/O延遲放大了同步開銷,主要針對Update-in-place系統,實現無鎖刷臟、無鎖SMO等。
  • Scattering among Distributed Nodes:在云存儲中,多個節點之間的分散訪問可以利用更多的硬件資源,例如將單個大I/O并發分散至不同存儲節點 ,充分利用聚合帶寬。
  • Bypassing Caches:通過Bypassing Caches來避免分布式文件系統的cache coherence,并在DB層面優化I/O格式匹配存儲最佳request格式。
  • Scheduling Prioritized I/O Tasks:由于訪問鏈路更長(如路徑中存在更多的排隊情況),不填I/O請求間的隔離性相對本地存儲更低,因此需要在DB層面對不同I/O進行打標、調度優先級,例:優先WAL、預讀分級。

實踐案例

實踐案例:PolarDB

PolarDB構建基于具有兼容Posix接口的分布式文件系統PolarFS,與Aurora一樣采用計算存儲分離架構,借助高速RDMA網絡以及最新的塊存儲技術實現超低延遲和高可用能力能力。在PolarDB上,我們做了許多適配于分布式存儲特性、符合CloudJump準則的性能優化,大幅提升了云原生數據庫PolarDB的性能。

圖片

1. WAL寫入優化

WAL(Write ahead log)寫入是用于一致性和持久性的關鍵路徑,事務的寫入性能對log I/O的延遲非常敏感。原生InnoDB以MTR(Mini-Transaction)的粒度組織日志,并保有一個全局redo日志緩沖區。當一個MTR被提交時,它緩存的所有日志記錄被追加到全局日志緩沖區,然后集中的順序刷盤以保證持久化特性。這一傳統集中日志模式在本地盤上工作良好,但使用云存儲時,集中式日志的寫入性能隨著遠程I/O時延變高而下降,進而影響事務寫入性能。基于云存儲的特性,我們提出了兩個優化來提升WAL的寫入性能:日志分片和(大)I/O任務并行打散。

圖片

Redo日志分片:InnoDB的redo采用的是Physiological Logging的方式,大部分MTR針對單個的數據頁(除部分特殊),頁之間基本相互獨立。如圖5(左),我們將redo日志、redo緩沖區等按其修改的page進行分片(partition),分別寫入不同的文件中,來支持并發寫log(以及并發Recovery,并發物理復制等),從而在并發寫友好的分布式文件系統上的獲得寫入性能優勢。

I/O任務并行打散:在云存儲中,一個文件由多個chunk組成,根據chunk的分配策略,不同chunk很可能位于不同的存儲節點中。我們將每個redo分片(partition)的文件進一步拆分為多個物理分片(split),如圖5(右)所示,對于單個大log I/O任務(如group commit、BLOB record等),log writer會將I/O按lsn切片并且并發的分發I/O請求至不同split。通過這種方式,可以將大延時的log I/O任務拆分,并利用分布式存儲高分布寫特性來減少整體I/O時間。

2. 快速恢復

為了實現快速恢復,我們提出了兩個優化:快速(啟動)驗證和全并行恢復。

圖片

在InnoDB的原有恢復過程中,InnoDB首先在啟動期間會打開所有文件讀取元信息(如文件名、表ID等)并驗證正確性,然后通過ARIES風格的恢復算法重做未checkpoint的數據。為了加速啟動,快速驗證方法不會掃描所有文件,而是在數據庫的生命周期中記錄和集中必要的元信息,并在創建、修改文件時將必要的元信息集中記錄在一個superblock中,在啟動時僅掃描元數據塊文件。因此,減少了啟動掃描過程中的遠程I/O訪問開銷。其次,依賴于Redo日志分片,我們將log file按page拆分成多個文件,在恢復階段(可以進一步劃分為parse、redo、undo三個階段),可以天然的支持并發parse和redo(undo階段在后臺進行),通過并發任務充分調動CPU和I/O資源加速恢復。

3. 預讀取

在云存儲環境下,讀I/O延時大大增加,當用戶任務訪問數據發生cache miss的情況下,而有效的預讀取能夠充分利用聚合讀帶寬來減少讀任務延時。InnoDB中有線性預讀和非線性預讀兩種原生的物理預讀方法,我們進一步引入了邏輯預讀策略(由于無序的插入和更新,索引在物理上不一定是順序的)。例如對于主索引掃描,當任務線程從起始鍵順序掃描索引超過一定閾值時,邏輯預讀會在主索引上按邏輯順序觸發異步預讀,提前讀取一定量的順序頁。又如對于具有二級索引和非索引列回表操作的掃描,在對二級索引進行掃描同時批量收集相關命中的主鍵,積累一定批數據后觸發異步任務預讀對應主索引數據(此時剩余的二級索引掃描可能仍在進行中)。

4. 同步(鎖)優化

相關背景可以先查閱《InnoDB btree latch 優化歷程》[1]這篇文章。無鎖刷臟:原生InnoDB在刷臟時需要持有當前page的sx鎖,導致I/O期間當前page的寫入被完全阻塞。而在云存儲上I/O延遲更高,阻塞時間更久。我們采用shadow page的方式,首先對當前page構建內存副本,構建好內存副本后原有page的sx鎖被釋放,然后用這個shadow page內容去做刷臟及相關刷寫信息更新。

SMO加鎖優化:在InnoDB 里面, 依然有一個全局的index latch, 由于全局的index latch 存在會導致同一時刻在Btree 中只有一個SMO 能夠發生, index latch 依然會成為全局的瓶頸點。上述index latch不僅是計算瓶頸,而從另一方面考慮,鎖同步期間index上其他可能I/O操作無法并行,存儲帶寬利用率較低。相關實現可以參考文章《路在腳下, 從BTree 到Polar Index》[2]。

5. 多I/O任務隊列適配

針對云存儲具有I/O隔離性低的挑戰,同時為了避免云存儲無法識別DB層存儲內核的I/O語義,而造成優先級低的I/O請求(如page刷臟、低優先級預讀)影響關鍵I/O路徑的性能,在數據庫內核中提供合理的I/O調度模型是很重要的。在 PolarDB 中,我們在數據庫內核層為不同類型的I/O請求進行調度,實現根據當前I/O壓力實現數據庫最優的性能,每個I/O請求都具有 DB 層的語義標簽,如 WAL 讀/寫,Page 讀/寫。

圖片

我們為數據庫的異步I/O請求建立了多個支持并發寫入的生產者 / 消費者隊列,并且其存在三種不同特性的隊列,分別為 Private 隊列,Priority 隊列,以及 General 隊列,不同隊列的數量是根據當前云存儲的I/O能力決定的。

正常情況下,WAL 的寫入只通過其 Private 隊列,當寫入量增大時,其I/O請求也會轉發至 Priority 隊列,此時 Priority 隊列會優先執行 WAL 的寫入,并且后續Page寫入的I/O不會進入 Priority 隊列。基于這種I/O模型,我們保證了一定部分的I/O資源時預留給WAL寫入,保證事務提交的寫入性能,充分利用云存儲的高聚合帶寬。此外,I/O任務隊列的長度和數目也進行了拓展以一步匹配云存儲高吞吐、大帶寬但時延較高且波動大的特性。

6. 格式化I/O請求

云存儲和本地存儲在I/O格式上具有顯著的不同,例如 Block 大小,I/O請求的發起方式。在大多數分布式的云存儲中,在實現多個計算節點的共享時,為了避免維護計算節點 cache 一致性的問題,不存在 page cache,此時采用原先本地存儲的I/O格式在云上會造成例如 read-on-write 和邏輯與物理位置映射的問題,造成性能下降。在 PolarDB中,我們為WAL I/O和 Page I/O匹配了適應云存儲的請求I/O格式以盡可能降低單個I/O的延時。

WAL I/O對齊:文件是通過固定大小的 block 進行讀寫的。云存儲具有更大的 block size (4-128 KB),傳統的 log 對齊策略不適合云存儲上的 stripe boundary。我們在 log 數據進行提交的時候,將I/O請求的長度和偏移與云存儲的 block size進行對齊。

Data I/O對齊:例如當前存在兩種類型的數據頁:常規頁和壓縮頁,常規頁為16 KB,可以很容易與云存儲的 Block size 進行對齊,但是壓縮頁會造成后續大量的不對齊I/O。以PolarDB 中對于壓縮頁的對齊為例。首先,我們讀取時保證以最小單位(如PolarFS的4 KB)讀取。而在寫入時,對于所有小于最小訪問單元的壓縮頁數據,我們會拓展到最小單位再進行寫入,以保證存儲上的頁數據都是最小單位對齊的。

去除 Data I/O合并:在本地數據庫中,數據頁的I/O會被合并來形成大的I/O實現連續地順序寫入。在云存儲中,并發地向不同存儲節點寫入具有更高的性能,因此在云存儲的數據庫上,可以無需數據頁的I/O合并操作。

受篇幅所限,我們在本文中只簡單介紹所提優化方法的大致實現邏輯,具體實現細節請讀者查閱論文及相關文章。

為了驗證我們的優化效果, 我們對比了為針對云存儲優化的MySQL 分別運行在PolarStore 和 Local Disk, 以及我們優化以后的PolarDB, 從下圖可以看到PolarDB 在CPU-bound, IO-bound sysbench, TPCC 等各個場景下都表現除了明顯的性能優勢。

圖片

同時, 為了證明我們的優化效果不僅僅對于我們自己的云存儲PolarStore 有收益, 對于所有的云存儲應該都有收益, 因此我們將針對云存儲優化的PolarDB 運行在 StorageX, ESSD 等其他云存儲上,  我們發現均能獲得非常好的性能提升, 從而說明我們的優化對于大部分云存儲都是有非常大的收益

圖片

實踐案例:RocksDB

我們還將CloudJump的分析框架和部分優化方法拓展到基于云存儲的RocksDB上,同樣獲得了預計的性能收益。

圖片

1. Log I/O任務并行打散

RocksDB同樣使用集中WAL來保證進程崩潰的一致性,集中日志收集多個column family的日志記錄并持久化至單個日志文件。考慮到LSM-Tree只需要恢復尾部append-only的數據塊,我們采用在上一個案例中提到的log I/O并行打散的方法在log writer中切分批日志并且并行分發到不同文件分片中。

2. 數據訪問加速

在RocksDB中有許多加速數據訪問的技術,主要有prefetching, filtering 和compression機制。考慮到云存儲的特性,這些技術(經過適當改造)在云存儲環境中更有價值。經過分析和實驗,我們提出了以下建議:1)預讀機制能加速部分查詢和compaction操作,建議compaction操作開啟預讀并設定合理的預讀I/O任務優先級,并將單個預讀操作的大小對齊存儲粒度,對于查詢操作預讀應由用戶場景確定;2)在云存儲上建議開啟bloom filters,并且將filter的meta和常規數據分離,將filter信息并集中管理;3)采用塊壓縮來減小數據訪問的整體用時,如下表展示了數據量和PolarFS訪問延時,表中存儲基于RDMA,在延遲更高的存儲環境中,壓縮收益更高,引入壓縮后數據訪問的整體延時(特別是讀延時)下降。

圖片

3. 多I/O任務隊列及適配

在多核硬件環境中,我們引入了一個多隊列I/O模型并在RocksDB中拆分I/O任務和工作任務(例如壓縮作業和刷新作業)。這是因為我們通過調整I/O線程的數量來控制較好吞吐和延遲關系。由于將I/O任務與后臺刷寫作業分離,因此無需進一步增加刷寫線程的數量,刷寫線程只會對齊I/O請求并進行調度分發。RocksDB本身提供了基于線程角色的優先級調度方案,而我們的調度方法這里是基于I/O標簽。

我們根據云存儲調整I/O請求和數據組織(例如block和SST)的大小,并進行更精確的控制,以使SST文件過濾器的塊大小也正確對齊。以PolarFS為例,存儲的最小請求大小為4 KB(表示最小的處理單元),理想的請求大小為16 KB的倍數(不造成read-on-write),元數據存儲粒度為4 MB。SST大小和塊大小分別嚴格對齊存儲粒度和理想請求大小的倍數。原生RocksDB也有對齊策略,我們在此需要進行存儲參數適配并且對壓縮數據塊也進行對齊。

我們不會向多隊列I/O模型傳遞小于最小請求大小的I/O請求,而是對齊最小I/O大小,并將未對齊的后綴緩存在內存中以供后續對齊使用。其次,我們不會下發單個大于存儲粒度的I/O請求,而是通過多隊列I/O模型執行并行任務(例如一個6 MB的I/O會分散成4 MB加1 MB的兩個任務)。這不僅可以將數據盡可能分散在不同的存儲節點上,還可以最大限度地提高并行性以充分利用帶寬。

4. I/O對齊

在所有日志和數據I/O請求排入隊列前,對其的大小和起始offset進行對齊。對于WAL寫入路徑,類似于PolarDB的log I/O對齊。對于數據寫入路徑,在采用數據壓縮時,LSM樹結構可能會有大量未對齊的數據塊。例如要刷寫從1 KB開始的2 KB日志數據時,它將從內存緩存的數據中填充前1 KB(對于append-only結構通過保存尾部數據緩存實現,這是與update-in-place結構直接拓展原生頁至最小單位的不同之處),并在3-4 KB中附加零,然后從0 KB起始發送一個4 KB的I/O。

總結

在這項論文工作中,我們分析了云存儲的性能特征,將它們與本地SSD存儲進行了比較,總結了它們對B-tree和LSM-tree類數據庫存儲引擎設計的影響,并推導出了一個框架CloudJump來指導本地存儲引擎遷移到云存儲的適配和優化。并通過PolarDB, RocksDB 兩個具體Case 展示優化帶來的收益。?

責任編輯:武曉燕 來源: 阿里開發者
相關推薦

2022-04-11 10:20:31

數據庫云原生數據

2011-05-25 00:00:00

數據庫設計

2021-05-29 11:32:21

阿里云數據庫PolarDB

2021-05-29 16:03:12

阿里云PolarDB數據庫

2010-02-04 17:42:15

Android數據庫

2022-11-14 18:23:06

亞馬遜

2022-02-07 22:55:13

云原生數據庫技術

2009-07-15 18:01:53

Jython數據庫

2010-05-24 14:57:03

MySQL數據庫表

2021-08-30 09:08:31

云數據庫JavaScriptSDK

2011-07-06 08:46:30

2009-02-02 13:43:19

故障檢測數據庫

2022-09-07 08:31:52

云原生數據庫IT系統

2021-06-23 10:58:07

云計算云原生阿里云

2021-10-20 10:51:36

阿里云PolarDB數據庫

2023-01-26 00:18:53

云原生數據庫云資源

2022-03-07 10:27:21

云原生云計算數據庫

2021-07-01 10:45:08

硬盤數據庫性能

2017-07-28 11:31:59

iOS結構優化項目
點贊
收藏

51CTO技術棧公眾號

欧美成人高潮一二区在线看| 91中文字精品一区二区| 欧美18—19性高清hd4k| 欧美日韩免费电影| 一个色综合网站| 欧美激情第一页在线观看| 中国女人一级一次看片| 欧美日韩91| 亚洲香蕉av在线一区二区三区| 资源网第一页久久久| 亚洲精品97久久中文字幕无码| 99成人在线视频| 亚洲激情视频在线| 男女污污视频网站| 中文在线最新版地址| 亚洲男人的天堂一区二区| 欧美日韩一区二区视频在线观看| 国产污污视频在线观看| 青青一区二区| 日韩视频在线你懂得| 91激情视频在线| 91福利区在线观看| 亚洲视频一区在线| 欧美一区2区三区4区公司二百 | 西野翔中文久久精品字幕| 欧美午夜精品久久久久久超碰 | 成人高清av| 亚洲精品国产精品乱码不99按摩| 国产精品va无码一区二区| 麻豆tv免费在线观看| 国产精品一区免费在线观看| 国产97在线|亚洲| www.天天色| 欧美+日本+国产+在线a∨观看| 欧美变态tickling挠脚心| 亚洲 欧美 另类人妖| 国产伦精品一区二区三区视频金莲| 久久九九影视网| 久久99影院| 神马午夜电影一区二区三区在线观看| 久久国产精品久久w女人spa| 日韩亚洲欧美成人| 特级西西www444人体聚色 | 国产精品久久久乱弄| 亚洲丝袜一区在线| 欧美老熟妇乱大交xxxxx| 牛牛精品成人免费视频| 精品国产乱子伦一区| 北条麻妃亚洲一区| 麻豆精品一区| 欧美一区二区三区公司| 天堂av在线8| 欧美综合影院| 欧美日韩在线视频一区二区| 亚洲一区二区在线免费观看| 老熟妇高潮一区二区高清视频| 久久一二三四| 欧美精品videosex牲欧美| 老妇女50岁三级| 欧美女优在线视频| 亚洲夜晚福利在线观看| 在线小视频你懂的| 日韩精品一区二区久久| 色777狠狠综合秋免鲁丝| 成人性视频免费看| 久久久久久久久久久久久久| 久久亚洲影音av资源网| 亚洲一区二区自偷自拍| 成人高清电影网站| 亚洲黄色av网站| 亚洲中文字幕无码av| 亚洲涩涩av| 中文字幕亚洲一区| 一区二区成人免费视频| 在线精品在线| 国产91精品视频在线观看| 日韩欧美成人一区二区三区| 老牛嫩草一区二区三区日本| 国产精品中文字幕在线| 精品国产无码一区二区三区| www.欧美亚洲| 四虎永久在线精品免费一区二区| 熟妇人妻av无码一区二区三区| 国产一区二区免费在线| 国产精品一区二区三区免费| 国产乱码精品一区二三区蜜臂 | 日本一区二区三区四区| 亚洲 欧洲 日韩| 国产第一页在线视频| 欧美性猛交xxxx免费看久久久| 九色自拍视频在线观看| 欧美xx视频| 欧美一级免费观看| 中文字幕xxx| 日韩大片在线播放| 一道本无吗dⅴd在线播放一区| 极品人妻一区二区三区| 成人激情开心网| 欧美日韩成人免费| 无码人妻精品一区二区三区不卡| 久久精品动漫| 国产成人精品一区二区在线| 五月天婷婷激情| 国内精品免费**视频| 久久偷窥视频| 成人区精品一区二区不卡| 欧美性黄网官网| 亚洲综合在线一区二区| 精品中文一区| 一区二区三区动漫| 久久这里只有精品免费| 男人操女人的视频在线观看欧美 | 香港三级日本三级a视频| av在线视屏| 51精品久久久久久久蜜臀| 人妻在线日韩免费视频| 欧美暴力喷水在线| 国产日本欧美一区| 精品国产av 无码一区二区三区| 国产自产高清不卡| 日本成人三级电影网站| wwww亚洲| 日韩一区二区三区免费看 | 99久热在线精品996热是什么| 夜夜精品视频| 亚洲自拍偷拍福利| 日本免费中文字幕在线| 色视频欧美一区二区三区| 91国产精品视频在线观看| 少妇高潮一区二区三区| 欧美激情第1页| 国产三级伦理片| 中文字幕不卡的av| 国产情侣第一页| 范冰冰一级做a爰片久久毛片| 精品视频资源站| 免费看污片网站| 天天综合国产| 国产精品免费网站| 国产福利在线观看| 欧美性猛交xxxx乱大交极品| 在线免费观看a级片| 欧美久久九九| 亚洲综合精品一区二区| 91麻豆免费在线视频| 91精品国产综合久久蜜臀| 国产xxxx视频| 欧美wwwww| 国产欧美在线观看| 免费在线观看av网站| 色菇凉天天综合网| 午夜时刻免费入口| 日本色综合中文字幕| 日韩国产高清一区| 成人全视频免费观看在线看| 伊人伊成久久人综合网站| 久久久久久久久艹| 成人免费视频网站在线观看| 分分操这里只有精品| 久久精品福利| 久久综合免费视频| 亚洲va在线观看| 国产校园另类小说区| 精品久久久久久中文字幕2017| 伊人久久大香线蕉av超碰| 国产一区二区日韩精品欧美精品| 精品一级少妇久久久久久久| 日本美女一区二区| 麻豆av一区二区| 中文字幕系列一区| 久久精品成人欧美大片| a天堂视频在线| 午夜久久久久久电影| 美国黄色a级片| 亚洲电影在线| 欧洲精品码一区二区三区免费看| a级片在线免费观看| 亚洲免费一在线| 夜夜狠狠擅视频| 一区二区免费在线播放| 国产网站无遮挡| 九九九久久久精品| 国产日本在线播放| 成人免费看片39| 国产精品1234| 成人免费黄色网页| 在线观看一区二区视频| 2025国产精品自拍| 99精品黄色片免费大全| 色婷婷综合网站| 国内视频精品| 神马影院我不卡| 97视频一区| 国产精品久久久久久av福利| 污污的网站在线看| 亚洲性av网站| 天堂v在线观看| 欧美精品在线观看一区二区| 国产无码精品久久久| 国产精品伦理一区二区| 色噜噜狠狠一区二区| 日韩国产一区二区| 国产欧美一区二区视频 | 欧美乱妇40p| 欧美女v视频| 在线播放/欧美激情| 日本在线播放视频| 亚洲精品久久久蜜桃| 国产精成人品免费观看| 国产999精品久久久久久| 男操女免费网站| 亚洲三级观看| 日韩精品第1页| 精品一区二区三区在线| 国产尤物99| 久久电影tv| 久久久久久久久久久av| 精精国产xxxx视频在线| 亚洲欧美日韩精品久久| 老熟妇高潮一区二区高清视频| 精品日韩中文字幕| 天天躁夜夜躁狠狠是什么心态| 久久91精品国产91久久小草| 日韩video| 精品国产精品| 美女一区视频| 啪啪激情综合网| 国产精品久久久久久av下载红粉| 国产成人午夜| 久久黄色av网站| av资源网站在线观看| 亚洲天堂第二页| 欧美高清电影在线| 亚洲欧美国内爽妇网| 91在线视频国产| 欧美日韩在线播放三区四区| 日韩综合在线观看| 色综合久久综合网97色综合| 精品在线播放视频| 亚洲444eee在线观看| 精品成人无码一区二区三区| 国产精品99久久不卡二区| 中文字幕亚洲影院| 天堂精品中文字幕在线| www.四虎成人| 国产一区二区三区自拍| 免费看污污视频| 欧美一区91| 日韩精品一区二区三区四 | 欧美日韩国产不卡在线看| 久久免费视频66| 韩国成人av| 欧美日韩一本| 114国产精品久久免费观看| 欧美激情三级| 国产富婆一区二区三区| 成人av综合网| 久久久久综合一区二区三区| 伊人久久大香线蕉综合网蜜芽 | 日韩a级大片| 亚洲free嫩bbb| 日韩精品成人在线观看| 懂色av一区二区三区在线播放| 欧美午夜三级| 成人午夜小视频| japanese色系久久精品| 精品久久久久久乱码天堂| 九九九九九九精品任你躁| 国产精品入口夜色视频大尺度 | 欧美日本一区二区视频在线观看| 色综合久久av| 亚洲色图二区| aa视频在线播放| 日韩激情视频在线观看| 久久久久久久久久久久久久久国产| 丝袜诱惑亚洲看片| 中文字幕一区久久| 成人国产精品免费观看动漫| 中文字幕在线观看的网站| 国产精品私房写真福利视频| 欧美卡一卡二卡三| 亚洲欧美在线另类| 日韩精品一区二区不卡| 在线观看亚洲专区| 午夜精品一二三区| 欧美一级搡bbbb搡bbbb| 天堂网av2014| 日韩一区二区三区国产| 生活片a∨在线观看| 欧美激情综合亚洲一二区| 户外露出一区二区三区| 92国产精品视频| 久久99成人| 日本视频一区二区在线观看| 久久99视频| 亚洲 国产 日韩 综合一区| 午夜久久一区| 黑人粗进入欧美aaaaa| 国产aⅴ综合色| 国产在线免费av| 国产精品传媒入口麻豆| 久久国产精品系列| 日韩三级电影网址| 69av在线| 人人做人人澡人人爽欧美| 日韩精品一区国产| 日韩精品av一区二区三区| 亚洲精选成人| 亚洲综合在线一区二区| 欧美韩日一区二区三区| 天天插天天操天天干| 欧美一区二区三区系列电影| 92国产在线视频| 全球成人中文在线| 国产精品tv| 欧美 亚洲 视频| 狠狠色狠狠色综合系列| 亚洲911精品成人18网站| 成人app下载| 色哟哟精品观看| 天天亚洲美女在线视频| 国产福利资源在线| 日韩精品在线私人| av中文在线资源| 97se视频在线观看| 久久久国产精品| 亚洲精品综合在线观看| 粉嫩aⅴ一区二区三区四区五区| 国产又黄又粗又猛又爽的视频| 欧美精彩视频一区二区三区| 黄色在线视频网址| 亚洲国产一区自拍| 日本电影全部在线观看网站视频| 欧美成人性色生活仑片| 91视频亚洲| 99re99热| 精品系列免费在线观看| 国产又粗又长又黄的视频| 欧美视频在线播放| 色影院视频在线| 成人黄色免费网站在线观看| 日韩理论电影| 做a视频在线观看| 亚洲视频狠狠干| 国产免费一区二区三区免费视频| 日韩精品欧美激情| a级网站在线播放| 69174成人网| 欧美精选在线| 亚洲中文字幕无码一区| 欧美日韩精品在线| 国模吧精品人体gogo| 国产免费观看久久黄| 国产精品久久久乱弄| 国产chinesehd精品露脸| 亚洲不卡一区二区三区| 日本在线视频1区| 国产成人av网址| 欧美wwwww| 三大队在线观看| 天天操天天综合网| 成人黄色免费视频| www.欧美精品| 日韩一二三区在线观看| 日本一本中文字幕| 国产尤物一区二区| 久一区二区三区| 亚洲精品永久免费精品| 国产成人精品一区二区三区在线 | 91看片在线免费观看| 国产精品久久久久久久蜜臀| 国产理论视频在线观看| 久久免费少妇高潮久久精品99| 国产一区二区| 亚洲欧美成人一区| 强制捆绑调教一区二区| 欧美做爰爽爽爽爽爽爽| 欧美日韩高清不卡| 免费在线播放电影| 欧洲av一区| 国产超碰在线一区| 日韩熟女一区二区| 久久夜色精品国产| 国产精品久久久久久久久久久久久久久 | 少妇久久久久久| aaa国产精品| 999精品视频在线| 亚洲国产经典视频| 亚洲第一成人av| 国产精品盗摄久久久| 欧美激情在线| a级在线免费观看| 日韩视频免费观看高清完整版在线观看 | 欧美与动交zoz0z| 久久综合给合久久狠狠狠97色69| 天天插天天操天天干| x99av成人免费| 一区二区三区四区在线看| 激情小说欧美色图| 欧美亚男人的天堂|