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

以一次 Data Catalog 架構(gòu)升級為例聊業(yè)務(wù)系統(tǒng)的性能優(yōu)化

原創(chuàng) 精選
開發(fā)
本文以 Data Catalog 系統(tǒng)升級過程為例,與大家討論業(yè)務(wù)系統(tǒng)性能優(yōu)化方面的思考,也會介紹我們關(guān)于 Apache Atlas 相關(guān)的性能優(yōu)化。

?作者 | 開發(fā)套件團隊

摘要

字節(jié)的 DataCatalog 系統(tǒng),在 2021 年進行過大規(guī)模重構(gòu),新版本的存儲層基于 Apache Atlas 實現(xiàn)。遷移過程中,我們遇到了比較多的性能問題。本文以 Data Catalog 系統(tǒng)升級過程為例,與大家討論業(yè)務(wù)系統(tǒng)性能優(yōu)化方面的思考,也會介紹我們關(guān)于 Apache Atlas 相關(guān)的性能優(yōu)化。

背景

字節(jié)跳動 Data Catalog 產(chǎn)品早期,是基于 LinkedIn Wherehows 進行二次改造,產(chǎn)品早期只支持 Hive 一種數(shù)據(jù)源。后續(xù)為了支持業(yè)務(wù)發(fā)展,做了很多修修補補的工作,系統(tǒng)的可維護性和擴展性變得不可忍受。比如為了支持?jǐn)?shù)據(jù)血緣能力,引入了字節(jié)內(nèi)部的圖數(shù)據(jù)庫 veGraph,寫入時,需要業(yè)務(wù)層處理 MySQL、ElasticSearch 和 veGraph 三種存儲,模型也需要同時理解關(guān)系型和圖兩種。更多的背景可以參照之前的文章。

新版本保留了原有版本全量的產(chǎn)品能力,將存儲層替換成了 Apache Atlas。然而,當(dāng)我們把存量數(shù)據(jù)導(dǎo)入到新系統(tǒng)時,許多接口的讀寫性能都有嚴(yán)重下降,服務(wù)器資源的使用也被拉伸到夸張的地步,比如:

  • 寫入一張超過 3000 列的 Hive 表元數(shù)據(jù)時,會持續(xù)將服務(wù)節(jié)點的 CPU 占用率提升到 100%,十幾分鐘后觸發(fā)超時
  • 一張幾十列的埋點表,上下游很多,打開詳情展示時需要等 1 分鐘以上

為此,我們進行了一系列的性能調(diào)優(yōu),結(jié)合 Data Catlog 產(chǎn)品的特點,調(diào)整了 Apache Atlas 以及底層 Janusgraph 的實現(xiàn)或配置,并對優(yōu)化性能的方法論做了一些總結(jié)。

業(yè)務(wù)系統(tǒng)優(yōu)化的整體思路

在開始討論更多細節(jié)之前,先概要介紹下我們做業(yè)務(wù)類系統(tǒng)優(yōu)化的思路。本文中的業(yè)務(wù)系統(tǒng),是相對于引擎系統(tǒng)的概念,特指解決某些業(yè)務(wù)場景,給用戶直接暴露前端使用的 Web 類系統(tǒng)。

優(yōu)化之前,首先應(yīng)明確優(yōu)化目標(biāo)。與引擎類系統(tǒng)不同,業(yè)務(wù)類系統(tǒng)不會追求極致的性能體驗,更多是以解決實際的業(yè)務(wù)場景和問題出發(fā),做針對性的調(diào)優(yōu),需要格外注意避免過早優(yōu)化與過度優(yōu)化。

準(zhǔn)確定位到瓶頸,才能事半功倍。一套業(yè)務(wù)系統(tǒng)中,可以優(yōu)化的點通常有很多,從業(yè)務(wù)流程梳理到底層組件的性能提升,但是對瓶頸處優(yōu)化,才是 ROI 最高的。

根據(jù)問題類型,挑性價比最高的解決方案。解決一個問題,通常會有很多種不同的方案,就像條條大路通羅馬,但在實際工作中,我們通常不會追求最完美的方案,而是選用性價比最高的。

優(yōu)化的效果得能快速得到驗證。性能調(diào)優(yōu)具有一定的不確定性,當(dāng)我們做了某種優(yōu)化策略后,通常不能上線觀察效果,需要一種更敏捷的驗證方式,才能確保及時發(fā)現(xiàn)策略的有效性,并及時做相應(yīng)的調(diào)整。

業(yè)務(wù)系統(tǒng)優(yōu)化的細節(jié)

優(yōu)化目標(biāo)的確定

在業(yè)務(wù)系統(tǒng)中做優(yōu)化時,比較忌諱兩件事情:

  • 過早優(yōu)化:在一些功能、實現(xiàn)、依賴系統(tǒng)、部署環(huán)境還沒有穩(wěn)定時,過早的投入優(yōu)化代碼或者設(shè)計,在后續(xù)系統(tǒng)發(fā)生變更時,可能會造成精力浪費。
  • 過度優(yōu)化:與引擎類系統(tǒng)不同,業(yè)務(wù)系統(tǒng)通常不需要跑分或者與其他系統(tǒng)產(chǎn)出性能對比報表,實際工作中更多的是貼合業(yè)務(wù)場景做優(yōu)化。比如用戶直接訪問前端界面的系統(tǒng),通常不需要將響應(yīng)時間優(yōu)化到 ms 以下,幾十毫秒和幾百毫秒,已經(jīng)是滿足要求的了。

優(yōu)化范圍選擇

對于一個業(yè)務(wù)類 Web 服務(wù)來說,特別是重構(gòu)階段,優(yōu)化范圍比較容易圈定,主要是找出與之前系統(tǒng)相比,明顯變慢的那部分 API,比如可以通過以下方式收集需要優(yōu)化的部分:

  • 通過前端的慢查詢捕捉工具或者后端的監(jiān)控系統(tǒng),篩選出 P90 大于 2s 的 API
  • 頁面測試過程中,研發(fā)和測試同學(xué)陸續(xù)反饋的 API
  • 數(shù)據(jù)導(dǎo)入過程中,研發(fā)發(fā)現(xiàn)的寫入慢的 API 等

優(yōu)化目標(biāo)確立

針對不同的業(yè)務(wù)功能和場景,定義盡可能細致的優(yōu)化目標(biāo),以 Data Catalog 系統(tǒng)為例:

定位性能瓶頸手段

系統(tǒng)復(fù)雜到一定程度時,一次簡單的接口調(diào)用,都可能牽扯出底層廣泛的調(diào)用,在優(yōu)化某個具體的 API 時,如何準(zhǔn)確找出造成性能問題的瓶頸,是后續(xù)其他步驟的關(guān)鍵。下面的表格是我們總結(jié)的常用瓶頸排查手段。

優(yōu)化策略

在找到某個接口的性能瓶頸后,下一步是著手處理。同一個問題,修復(fù)的手段可能有多種,實際工作中,我們優(yōu)先考慮性價比高的,也就是實現(xiàn)簡單且有明確效果。

快速驗證

優(yōu)化的過程通常需要不斷的嘗試,所以快速驗證特別關(guān)鍵,直接影響優(yōu)化的效率。

Data Catalog 系統(tǒng)優(yōu)化舉例

在我們升級字節(jié) Data Catalog 系統(tǒng)的過程中,廣泛使用了上文中介紹的各種技巧。本章節(jié),我們挑選一些較典型的案例,詳細介紹優(yōu)化的過程。

調(diào)節(jié) JanusGraph 配置

實踐中,我們發(fā)現(xiàn)以下兩個參數(shù)對于 JanusGraph 的查詢性能有比較大的影響:

  • query.batch = ture
  • query.batch-property-prefetch=true

其中,關(guān)于第二個配置項的細節(jié),可以參照我們之前發(fā)布的文章。這里重點講一下第一個配置。

JanusGraph 做查詢的行為,有兩種方式:

針對字節(jié)內(nèi)部的應(yīng)用場景,元數(shù)據(jù)間的關(guān)系較多,且元數(shù)據(jù)結(jié)構(gòu)復(fù)雜,大部分查詢都會觸發(fā)較多的節(jié)點訪問,我們將 query.batch 設(shè)置成 true 時,整體的效果更好。

調(diào)整 Gremlin 語句減少計算和 IO

一個比較典型的應(yīng)用場景,是對通過關(guān)系拉取的其他節(jié)點,根據(jù)某種屬性做 Count。在我們的系統(tǒng)中,有一個叫“BusinessDomain”的標(biāo)簽類型,產(chǎn)品上,需要獲取與某個此類標(biāo)簽相關(guān)聯(lián)的元數(shù)據(jù)類型,以及每種類型的數(shù)量,返回類似下面的結(jié)構(gòu)體:

{
"guid": "XXXXXX",
"typeName": "BusinessDomain",
"attributes": {
"nameCN": "直播",
"nameEN": null,
"creator": "XXXX",
"department": "XXXX",
"description": "直播業(yè)務(wù)標(biāo)簽"
},
"statistics": [
{
"typeName": "ClickhouseTable",
"count": 68
},
{
"typeName": "HiveTable",
"count": 601
}
]
}

我們的初始實現(xiàn)轉(zhuǎn)化為 Gremlin 語句后,如下所示,耗時 2~3s:

g.V().has('__typeName', 'BusinessDomain')
.has('__qualifiedName', eq('XXXX'))
.out('r:DataStoreBusinessDomainRelationship')
.groupCount().by('__typeName')
.profile();

優(yōu)化后的 Gremlin 如下,耗時~50ms:

g.V().has('__typeName', 'BusinessDomain')
.has('__qualifiedName', eq('XXXX'))
.out('r:DataStoreBusinessDomainRelationship')
.values('__typeName').groupCount().by()
.profile();

Atlas 中根據(jù) Guid 拉取數(shù)據(jù)計算邏輯調(diào)整

對于詳情展示等場景,會根據(jù) Guid 拉取與實體相關(guān)的數(shù)據(jù)。我們優(yōu)化了部分 EntityGraphRetriever 中的實現(xiàn),比如:

  • mapVertexToAtlasEntity 中,修改邊遍歷的讀數(shù)據(jù)方式,調(diào)整為以點以及點上的屬性過濾拉取,觸發(fā) multiPreFetch 優(yōu)化。
  • 支持根據(jù)邊類型拉取數(shù)據(jù),在應(yīng)用層根據(jù)不同的場景,指定不同的邊類型集合,做數(shù)據(jù)的裁剪。最典型的應(yīng)用是,在詳情展示頁面,去掉對血緣關(guān)系的拉取。
  • 限制關(guān)系拉取的深度,在我們的業(yè)務(wù)中,大部分關(guān)系只需要拉取一層,個別的需要一次性拉取兩層,所以我們接口實現(xiàn)上,支持傳入拉取關(guān)系的深度,默認一層。

配合其他的修改,對于被廣泛引用的埋點表,讀取的耗時從~1min 下降為 1s 以內(nèi)。

對大量節(jié)點依次獲取信息加并行處理

在血緣相關(guān)接口中,有個場景是需要根據(jù)血緣關(guān)系,拉取某個元數(shù)據(jù)的上下游 N 層元數(shù)據(jù),新拉取出的元數(shù)據(jù),需要額外再查詢一次,做屬性的擴充。

我們采用增加并行的方式優(yōu)化,簡單來說:

  • 設(shè)置一個 Core 線程較少,但 Max 線程數(shù)較多的線程池:需要拉取全量上下游的情況是少數(shù),大部分情況下幾個 Core 線程就夠用,對于少數(shù)情況,再啟用額外的線程。
  • 在批量拉取某一層的元數(shù)據(jù)后,將每個新拉取的元數(shù)據(jù)頂點加入到一個線程中,在線程中單獨做屬性擴充
  • 等待所有的線程返回

對于關(guān)系較多的元數(shù)據(jù),優(yōu)化效果可以從分鐘級到秒級。

對于寫入瓶頸的優(yōu)化

字節(jié)的數(shù)倉中有部分大寬表,列數(shù)超過 3000。對于這類元數(shù)據(jù),初始的版本幾乎沒法成功寫入,耗時也經(jīng)常超過 15 min,CPU 的利用率會飆升到 100%。

定位寫入的瓶頸

我們將線上的一臺機器從 LoadBalance 中移除,并構(gòu)造了一個擁有超過 3000 個列的元數(shù)據(jù)寫入請求,使用 Arthas 的 itemer 做 Profile,得到下圖:

從上圖可知,總體 70%左右的時間,花費在 createOrUpdate 中引用的 addProperty 函數(shù)。

耗時分析

  1. JanusGraph 在寫入一個 property 的時候,會先找到跟這個 property 相關(guān)的組合索引,然后從中篩選出 Coordinality 為“Single”的索引
  2. 在寫入之前,會 check 這些為 Single 的索引是否已經(jīng)含有了當(dāng)前要寫入的 propertyValue
  3. 組合索引在 JanusGraph 中的存儲格式為:

  1. Atlas 默認創(chuàng)建的“guid”屬性被標(biāo)記為 globalUnique,他所對應(yīng)的組合索引是__guid。
  2. 對于其他在類型定義文件中被聲明為“Unique”的屬性,比如我們業(yè)務(wù)語義上全局唯一的“qualifiedName”,Atlas 會理解為“perTypeUnique”,對于這個 Property 本身,如果也需要建索引,會建出一個 coordinity 是 set 的完全索引,為“propertyName+typeName”生成一個唯一的完全索引

  1. 在調(diào)用“addProperty”時,會首先根據(jù)屬性的類型定義,查找“Unique”的索引。針對“globalUnique”的屬性,比如“guid”,返回的是“__guid”;針對“perTypeUnique”的屬性,比如“qualifiedName”,返回的是“propertyName+typeName”的組合索引。

  1. 針對唯一索引,會嘗試檢查“Unique”屬性是否已經(jīng)存在了。方法是拼接一個查詢語句,然后到圖里查詢

  1. 在我們的設(shè)計中,寫入表的場景,每一列都有被標(biāo)記為唯一的“guid”和“qualifiedName”,“guid”會作為全局唯一來查詢對應(yīng)的完全索引,“qualifiedName”會作為“perTypeUnique”的查詢“propertyName+typeName”的組合完全索引,且整個過程是順序的,因此當(dāng)寫入列很多、屬性很多、關(guān)系很多時,總體上比較耗時。

優(yōu)化思路

  • 對于“guid”,其實在創(chuàng)建時已經(jīng)根據(jù)“guid”的生成規(guī)則保證了全局唯一性,幾乎不可能有沖突,所以我們可以考慮去掉寫入時對“guid”的唯一性檢查,節(jié)省了一半時間。
  • 對于“qualifiedName”,根據(jù)業(yè)務(wù)的生成規(guī)則,也是“globalUnique”的,與“perTypeUnique”的性能差別幾乎是一倍:

優(yōu)化實現(xiàn)效果

  • 去除 Atlas 中對于“guid”的唯一性的檢查。
  • 添加“Global_Unqiue”配置項,在類型定義時使用,在初始化時對“__qualifiedName”建立全局唯一索引。
  • 配合其他優(yōu)化手段,對于超多屬性與關(guān)系的 Entity 寫入,耗時可以降低為分鐘級。

總結(jié)

  • 業(yè)務(wù)類系統(tǒng)的性能優(yōu)化,通常會以解決某個具體的業(yè)務(wù)場景為目標(biāo),從接口入手,逐層解決
  • 性能優(yōu)化基本遵循思路:發(fā)現(xiàn)問題->定位問題->解決問題->驗證效果->總結(jié)提升
  • 優(yōu)先考慮“巧”辦法,“土”辦法,比如加機器改參數(shù),不為了追求高大上而走彎路
責(zé)任編輯:未麗燕 來源: 字節(jié)跳動技術(shù)團隊
相關(guān)推薦

2015-07-17 10:04:33

MKMapView優(yōu)化

2020-08-24 07:12:17

前端CRP性能優(yōu)化

2019-03-19 14:52:00

性能優(yōu)化MySQL數(shù)據(jù)庫

2022-11-11 07:58:05

業(yè)務(wù)中臺架構(gòu)

2020-06-05 08:53:31

接口性能實踐

2017-06-12 11:09:56

計數(shù)架構(gòu)數(shù)據(jù)庫

2021-11-23 09:45:26

架構(gòu)系統(tǒng)技術(shù)

2020-08-10 11:00:02

Python優(yōu)化代碼

2025-08-05 02:25:00

2021-03-12 15:08:23

服務(wù)器性能優(yōu)化

2011-09-27 10:35:44

2022-06-06 21:53:08

云原生云計算

2024-07-09 11:51:20

Windows線程池源碼

2011-02-22 09:29:23

jQueryJavaScript

2023-11-06 07:45:42

單據(jù)圖片處理

2019-03-29 08:21:51

馬蜂窩Golang并發(fā)代理

2022-03-23 15:43:26

Android客戶端架構(gòu)

2022-10-28 11:26:01

光纖終端盒光纖安裝

2020-10-30 14:11:38

服務(wù)器SDK堆棧

2021-03-05 22:41:55

CDH集群CDH集群
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲国产精品无码久久久| 正在播放一区二区| 亚洲精品自拍第一页| 最新欧美日韩亚洲| 无码人妻丰满熟妇精品区| 欧美午夜精品一区二区三区电影| 国产v综合v亚洲欧| 国产亚洲视频在线| 国产特级淫片高清视频| av中文字幕播放| 成人毛片在线| 日韩免费观看高清完整版在线观看| 日韩av一区二区三区在线| 亚欧洲精品在线视频| 视频国产精品| 日韩美女久久久| 国产美女扒开尿口久久久| 国产肉体xxxx裸体784大胆| av小次郎在线| 欧美电影一区| 欧美午夜电影一区| 热re99久久精品国99热蜜月| 香蕉免费毛片视频| 精品精品国产毛片在线看| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲精品日韩av| 希岛爱理中文字幕| 精品一区二区三区中文字幕视频| 国产精品视频线看| 国产欧美精品在线播放| 国产无套在线观看| 国产欧美啪啪| 精品久久久久久电影| 九色91在线视频| 国产精品久久久久久99| 免费久久精品| 欧美日韩国产一级二级| 综合久久国产| 成人午夜在线观看视频| 免费在线观看精品| 久久久国产精品视频| 色男人天堂av| av今日在线| 不卡的av在线播放| 欧美专区在线播放| 中文字幕精品亚洲| 精品久久国产一区| 欧美色综合网站| 久久久久久久久影视| 亚洲精品成人区在线观看| 精品动漫3d一区二区三区免费版 | 最新欧美日韩亚洲| 国产天堂在线| 九九九久久久精品| 欧美精品久久久久久久免费观看| 一级少妇精品久久久久久久| www.51av欧美视频| 久久精品视频一区| 成人黄色网免费| 五月天婷婷丁香| 欧美区日韩区| 亚洲摸下面视频| 中文字幕一区久久| 涩涩涩在线视频| 国产精品麻豆欧美日韩ww| 日本视频一区二区在线观看| 黄色软件在线| 国产成人精品aa毛片| 成人网中文字幕| 国产人妖在线播放| 男人天堂欧美日韩| 久久亚洲一区二区三区四区五区高| 国产精品99久久久精品无码| 台湾佬成人网| 一区二区三区四区在线免费观看| 精品国产一区二区三区麻豆小说| 亚洲精品一区二区二区| 欧美另类综合| 国模吧一区二区| 国精产品一区一区二区三区mba| 成人网18免费网站| 亚洲欧美另类国产| 婷婷丁香综合网| 91精品久久久久久久蜜月| 精品网站999www| 夫妇露脸对白88av| 亚洲三级精品| 欧美sm极限捆绑bd| 亚洲18在线看污www麻豆 | 成人乱人伦精品视频在线观看| 亚洲天堂avav| 99精品国产一区二区青青牛奶 | 在线观看免费看片| 三上悠亚激情av一区二区三区| 色菇凉天天综合网| www..com日韩| 中文字幕在线播放网址| 国产精品毛片无遮挡高清| 日韩精品福利片午夜免费观看| 国产精品蜜臀| 一区二区三区欧美久久| 免费在线观看一区二区| 亚洲AV无码国产精品午夜字幕 | 日本韩国欧美一区二区三区| 亚洲欧美日韩综合网| 欧美xxx网站| 欧美群妇大交群中文字幕| 原创真实夫妻啪啪av| 网友自拍一区| 亚洲国产精品高清久久久| 性一交一黄一片| 亚洲区小说区图片区qvod| 久久大大胆人体| 国产伦精品一区二区三区视频女| 伦理一区二区| 精品国产一区二区三区久久久狼| 久久午夜精品视频| 亚洲国产精品一区制服丝袜| 精品中文字幕乱| 黄页网站免费观看| 欧美黄色大片网站| 欧美精品一区在线播放| 乱子伦一区二区三区| 日韩va亚洲va欧美va久久| 国产成人精品一区二区在线| 亚洲不卡视频在线观看| 久久先锋影音| 国产精品视频在线观看| 天天干天天草天天射| 26uuu欧美日本| 久久综合色一本| av网站网址在线观看| 在线观看网站黄不卡| a在线观看免费视频| 97久久精品一区二区三区的观看方式| 精品视频999| 国内偷自视频区视频综合| 日韩人妻一区二区三区蜜桃视频| 日韩电影免费观| 亚洲成色777777女色窝| 日韩欧美国产成人精品免费| 日韩高清在线不卡| 欧美在线视频二区| 最近高清中文在线字幕在线观看1| 都市激情亚洲色图| 999香蕉视频| 国产麻豆一区| 91精品国产色综合久久不卡蜜臀 | 亚洲成人三级在线| 免费在线视频一区二区| 国产一区二区三区免费在线观看| 91亚洲精品视频| 欧洲av在线播放| 国产丝袜美腿一区二区三区| 在线观看精品视频| 成人在线高清| 亚洲国产精品99| 欧美国产精品一二三| 乱码第一页成人| 久久影视中文粉嫩av| 人狥杂交一区欧美二区| 精品亚洲精品福利线在观看| 久草手机在线观看| 久久午夜电影网| 少妇高潮大叫好爽喷水| 午夜影院在线播放| 亚洲男人天堂手机在线| 亚洲精品久久久久久久蜜桃| 久久精品一区蜜桃臀影院| 中文字幕网av| 一区二区电影| 日本亚洲精品在线观看| 国产黄a三级三级三级| 一区二区三区加勒比av| 人妻 日韩 欧美 综合 制服| 在线亚洲激情| 色女人综合av| 在线视频cao| 国产午夜精品视频免费不卡69堂| 中文字幕在线观看你懂的| 成人av电影在线网| 国产乱子夫妻xx黑人xyx真爽 | 一本一本大道香蕉久在线精品| 加勒比av中文字幕| 亚洲午夜电影| 成人女保姆的销魂服务| 污污网站在线观看| 欧美日韩一级二级三级| 精品无码久久久久成人漫画| 成人av网站在线观看免费| 亚洲综合在线网站| 国产剧情一区二区在线观看| 国产亚洲精品成人av久久ww| 国产精品无码一区二区桃花视频| 久久久亚洲精品一区二区三区| 黄色三级视频在线| 欧美午夜国产| 久久亚洲一区二区| 美女18一级毛片一品久道久久综合| 欧美成人精精品一区二区频| 久久青青草视频| 最新日韩在线视频| a级大片在线观看| 久久高清一区| 香蕉视频免费版| 制服丝袜日韩| 国产chinese精品一区二区| h片在线观看网站| 国产丝袜精品第一页| 国产又黄又爽视频| 欧美午夜激情小视频| 一本色道综合久久欧美日韩精品| 裸体在线国模精品偷拍| 亚洲最大色综合成人av| 日日夜夜综合| 久久精品亚洲热| 丝袜视频国产在线播放| 欧美日韩美女在线观看| 最新av电影网站| 国产一区二区导航在线播放| 92看片淫黄大片一级| 欧美精品一级| 在线视频福利一区| 国产成人三级| 国产精品入口尤物| 日韩在线免费电影| 91精品国产全国免费观看| 国产91精品看黄网站在线观看| 亚洲制服丝袜在线| 日本爱爱小视频| 中文字幕的久久| 91 视频免费观看| 久久久噜噜噜久久狠狠50岁| 国产欧美日韩小视频| 欧美天堂社区| 日韩av色在线| 国内激情视频在线观看| 欧美夫妻性生活xx| 四虎影视精品成人| 亚洲成av人乱码色午夜| 欧美特黄aaaaaa| 久久久精品蜜桃| 搡老熟女老女人一区二区| 粉嫩一区二区三区性色av| 亚洲热在线视频| 国产综合色产在线精品| 欧美一级小视频| 极品少妇xxxx偷拍精品少妇| 精品国产av无码一区二区三区| 小说区亚洲自拍另类图片专区| 午夜欧美性电影| 成人3d精品动漫精品一二三| 日韩精品一区二区三区色偷偷| 亚洲小说图片视频| 久久亚洲午夜电影| 深爱激情综合网| 欧美自拍资源在线| 欧美丝袜一区| 亚洲欧洲在线一区| 粉嫩的18在线观看极品精品| 国产精品福利视频| 99免在线观看免费视频高清| 欧美老年两性高潮| 日韩免费视频网站| 精品国产1区2区| 69国产精品视频免费观看| 91国产丝袜在线播放| 中文字幕第三页| 91精品欧美久久久久久动漫 | 欧美日本一道本在线视频| 国产精品一区二区人人爽| 欧美一区二区三区免费| 不卡视频在线播放| 色综合咪咪久久| jizz国产在线| 91麻豆精品国产91久久久资源速度 | 中文字幕在线观看日| 亚洲国产日本| 无码人妻丰满熟妇区96| 欧美一区国产在线| 国产美女永久无遮挡| 日韩欧美中文| 精品亚洲第一| 欧美伦理在线视频| 国产精品国色综合久久| 欧美精品国产白浆久久久久| 日韩欧美一区二区三区四区五区 | 18禁裸男晨勃露j毛免费观看| 亚洲精品1区| 成人3d动漫一区二区三区| 国产中文一区二区三区| 少妇一级淫片免费放播放| 极品销魂美女一区二区三区| jjzzjjzz欧美69巨大| 国产日韩欧美高清| 久草福利资源在线观看| 在线视频一区二区免费| 亚洲高清视频网站| 国产亚洲欧美日韩美女| 污片在线免费观看| 国产ts一区二区| 欧美h版在线观看| 欧美日韩一区在线播放| 日韩有码中文字幕在线| 亚洲人体一区| 国产精品一二| 能在线观看的av| 国产精品亚洲综合久久| www.午夜av| 国产一区在线不卡| 国产中文字幕一区二区| 中文字幕一区二区三区不卡在线 | 国产精品视频久久久久久| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 免费人成自慰网站| 日韩电影免费一区| 四虎成人免费视频| 粉嫩绯色av一区二区在线观看| 久久久久久久毛片| 午夜久久久久久| 国产精品久久久久久久久久久久久久久久久 | 日韩精品一区三区| 日韩视频国产视频| 亚洲精品国产一区二| 一区二区国产精品视频| 在线看黄色av| 欧美在线播放视频| 亚洲深夜视频| 91久久久一线二线三线品牌| 亚洲小说春色综合另类电影| yellow视频在线观看一区二区| 亚洲一区电影| 伊人情人网综合| 久久久水蜜桃av免费网站| 国产免费一区二区三区最新6| 亚洲天堂网中文字| 久草福利资源在线观看| 7777精品伊人久久久大香线蕉最新版 | 精品一区二区国产| 亚洲国产国产亚洲一二三| 自拍视频第一页| 一区二区久久久| 国产高清免费观看| 欧美激情国产日韩精品一区18| 国产精品99久久免费| 日本免费在线视频观看| 欧美日韩1080p| www.桃色.com| 亚洲欧美视频在线观看视频| 国产精品嫩草影院桃色| 久久精品国产久精国产思思| 外国成人毛片| 男人的天堂成人| 国产精品一区二区久久不卡| 免费看毛片的网站| 亚洲成a人v欧美综合天堂| 欧美天堂在线视频| 97视频在线观看成人| 天天综合91| 椎名由奈jux491在线播放| 国产麻豆精品在线观看| 欧美片一区二区| 亚洲国产精品资源| 中文字幕在线免费观看视频| 欧美精品一区二区三区在线看午夜| 久久久亚洲人| 日本一级特级毛片视频| 精品久久久久99| 亚洲一二三四| 一区二区三区视频| 国产精品18久久久久久久网站| 天天躁日日躁aaaxxⅹ| 欧美午夜精品免费| 米奇精品一区二区三区| 欧美一级免费看| 精品视频网站| 在线免费黄色网| 亚洲国产成人av好男人在线观看| 亚洲色图狠狠干| 九九热这里只有在线精品视| 99这里只有精品视频| 亚洲一区二区三区乱码| 国产九色精品成人porny| 在线观看 中文字幕| 中文字幕9999| 手机看片久久| 日本特级黄色大片| 99久久综合精品| 亚洲精品午夜久久久久久久| 亚洲天堂日韩电影| 日韩三级久久| 亚洲爆乳无码专区| 亚洲欧美日韩综合aⅴ视频| 五月天激情婷婷| 91丨九色丨国产在线| 在线亚洲一区| 欧美成欧美va| 国产一区二区三区日韩欧美| 91精品尤物| 久久国产激情视频|