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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase性能优化方法总结(三):读表操作

發布時間:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase性能优化方法总结(三):读表操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3. 讀表操作

3.1 多HTable并發讀

創建多個HTable客戶端用于讀操作,提高讀數據的吞吐量,一個例子:

?

static?final?Configuration conf = HBaseConfiguration.create();
static?final?String table_log_name = “user_log”;
rTableLog = new?HTable[tableN];
for?(int?i = 0; i < tableN; i++) {
????rTableLog[i] = new?HTable(conf, table_log_name);
????rTableLog[i].setScannerCaching(50);
}

?

3.2 HTable參數設置

3.2.1 Scanner Caching

hbase.client.scanner.caching配置項可以設置HBase scanner一次從服務端抓取的數據條數,默認情況下一次一條。通過將其設置成一個合理的值,可以減少scan過程中next()的時間開銷,代價是scanner需要通過客戶端的內存來維持這些被cache的行記錄。

有三個地方可以進行配置:1)在HBase的conf配置文件中進行配置;2)通過調用HTable.setScannerCaching(int scannerCaching)進行配置;3)通過調用Scan.setCaching(int caching)進行配置。三者的優先級越來越高。

3.2.2 Scan Attribute Selection

scan時指定需要的Column Family,可以減少網絡傳輸數據量,否則默認scan操作會返回整行所有Column Family的數據。

3.2.3 Close ResultScanner

通過scan取完數據后,記得要關閉ResultScanner,否則RegionServer可能會出現問題(對應的Server資源無法釋放)。

3.3 批量讀

通過調用HTable.get(Get)方法可以根據一個指定的row key獲取一行記錄,同樣HBase提供了另一個方法:通過調用HTable.get(List<Get>)方法可以根據一個指定的row key列表,批量獲取多行記錄,這樣做的好處是批量執行,只需要一次網絡I/O開銷,這對于對數據實時性要求高而且網絡傳輸RTT高的情景下可能帶來明顯的性能提升。

3.4 多線程并發讀

在客戶端開啟多個HTable讀線程,每個讀線程負責通過HTable對象進行get操作。下面是一個多線程并發讀取HBase,獲取店鋪一天內各分鐘PV值的例子:

?

public?class?DataReaderServer {
?????//獲取店鋪一天內各分鐘PV值的入口函數
?????public?static?ConcurrentHashMap<String, String> getUnitMinutePV(long?uid, long?startStamp, long?endStamp){
?????????long?min = startStamp;
?????????int?count = (int)((endStamp - startStamp) / (60*1000));
?????????List<String> lst = new?ArrayList<String>();
?????????for?(int?i = 0; i <= count; i++) {
????????????min = startStamp + i * 60 * 1000;
????????????lst.add(uid + "_" + min);
?????????}
?????????return?parallelBatchMinutePV(lst);
?????}
??????//多線程并發查詢,獲取分鐘PV值
private?static?ConcurrentHashMap<String, String> parallelBatchMinutePV(List<String> lstKeys){
????????ConcurrentHashMap<String, String> hashRet = new?ConcurrentHashMap<String, String>();
????????int?parallel = 3;
????????List<List<String>> lstBatchKeys ?= null;
????????if?(lstKeys.size() < parallel ){
????????????lstBatchKeys ?= new?ArrayList<List<String>>(1);
????????????lstBatchKeys.add(lstKeys);
????????}
????????else{
????????????lstBatchKeys ?= new?ArrayList<List<String>>(parallel);
????????????for(int?i = 0; i < parallel; i++ ?){
????????????????List<String> lst = new?ArrayList<String>();
????????????????lstBatchKeys.add(lst);
????????????}

????????????for(int?i = 0 ; i < lstKeys.size() ; i ++ ){
????????????????lstBatchKeys.get(i%parallel).add(lstKeys.get(i));
????????????}
????????}
????????
????????List<Future< ConcurrentHashMap<String, String> >> futures = new?ArrayList<Future< ConcurrentHashMap<String, String> >>(5);
????????
????????ThreadFactoryBuilder builder = new?ThreadFactoryBuilder();
????????builder.setNameFormat("ParallelBatchQuery");
????????ThreadFactory factory = builder.build();
????????ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(lstBatchKeys.size(), factory);
????????
????????for(List<String> keys : lstBatchKeys){
????????????Callable< ConcurrentHashMap<String, String> > callable = new?BatchMinutePVCallable(keys);
????????????FutureTask< ConcurrentHashMap<String, String> > future = (FutureTask< ConcurrentHashMap<String, String> >) executor.submit(callable);
????????????futures.add(future);
????????}
????????executor.shutdown();
????????
????????// Wait for all the tasks to finish
????????try?{
??????????boolean?stillRunning = !executor.awaitTermination(
??????????????5000000, TimeUnit.MILLISECONDS);
??????????if?(stillRunning) {
????????????try?{
????????????????executor.shutdownNow();
????????????} catch?(Exception e) {
????????????????// TODO Auto-generated catch block
????????????????e.printStackTrace();
????????????}
??????????}
????????} catch?(InterruptedException e) {
??????????try?{
??????????????Thread.currentThread().interrupt();
??????????} catch?(Exception e1) {
????????????// TODO Auto-generated catch block
????????????e1.printStackTrace();
??????????}
????????}
????????
????????// Look for any exception
????????for?(Future f : futures) {
??????????try?{
??????????????if(f.get() != null)
??????????????{
??????????????????hashRet.putAll((ConcurrentHashMap<String, String>)f.get());
??????????????}
??????????} catch?(InterruptedException e) {
????????????try?{
?????????????????Thread.currentThread().interrupt();
????????????} catch?(Exception e1) {
????????????????// TODO Auto-generated catch block
????????????????e1.printStackTrace();
????????????}
??????????} catch?(ExecutionException e) {
????????????e.printStackTrace();
??????????}
????????}
????????
????????return?hashRet;
????}
?????//一個線程批量查詢,獲取分鐘PV值
????protected?static?ConcurrentHashMap<String, String> getBatchMinutePV(List<String> lstKeys){
????????ConcurrentHashMap<String, String> hashRet = null;
????????List<Get> lstGet = new?ArrayList<Get>();
????????String[] splitValue = null;
????????for?(String s : lstKeys) {
????????????splitValue = s.split("_");
????????????long?uid = Long.parseLong(splitValue[0]);
????????????long?min = Long.parseLong(splitValue[1]);
????????????byte[] key = new?byte[16];
????????????Bytes.putLong(key, 0, uid);
????????????Bytes.putLong(key, 8, min);
????????????Get g = new?Get(key);
????????????g.addFamily(fp);
????????????lstGet.add(g);
????????}
????????Result[] res = null;
????????try?{
????????????res = tableMinutePV[rand.nextInt(tableN)].get(lstGet);
????????} catch?(IOException e1) {
????????????logger.error("tableMinutePV exception, e=" + e1.getStackTrace());
????????}

????????if?(res != null?&& res.length > 0) {
????????????hashRet = new?ConcurrentHashMap<String, String>(res.length);
????????????for?(Result re : res) {
????????????????if?(re != null?&& !re.isEmpty()) {
????????????????????try?{
????????????????????????byte[] key = re.getRow();
????????????????????????byte[] value = re.getValue(fp, cp);
????????????????????????if?(key != null?&& value != null) {
????????????????????????????hashRet.put(String.valueOf(Bytes.toLong(key,
????????????????????????????????????Bytes.SIZEOF_LONG)), String.valueOf(Bytes
????????????????????????????????????.toLong(value)));
????????????????????????}
????????????????????} catch?(Exception e2) {
????????????????????????logger.error(e2.getStackTrace());
????????????????????}
????????????????}
????????????}
????????}

????????return?hashRet;
????}
}
//調用接口類,實現Callable接口
class?BatchMinutePVCallable implements?Callable<ConcurrentHashMap<String, String>>{
?????private?List<String> keys;

?????public?BatchMinutePVCallable(List<String> lstKeys ) {
?????????this.keys = lstKeys;
?????}

?????public?ConcurrentHashMap<String, String> call() throws?Exception {
?????????return?DataReadServer.getBatchMinutePV(keys);
?????}
}

3.5 緩存查詢結果

對于頻繁查詢HBase的應用場景,可以考慮在應用程序中做緩存,當有新的查詢請求時,首先在緩存中查找,如果存在則直接返回,不再查詢HBase;否則對HBase發起讀請求查詢,然后在應用程序中將查詢結果緩存起來。至于緩存的替換策略,可以考慮LRU等常用的策略。

3.6 Blockcache

HBase上Regionserver的內存分為兩個部分,一部分作為Memstore,主要用來寫;另外一部分作為BlockCache,主要用于讀。

寫請求會先寫入Memstore,Regionserver會給每個region提供一個Memstore,當Memstore滿64MB以后,會啟動 flush刷新到磁盤。當Memstore的總大小超過限制時(heapsize * hbase.regionserver.global.memstore.upperLimit * 0.9),會強行啟動flush進程,從最大的Memstore開始flush直到低于限制。

讀請求先到Memstore中查數據,查不到就到BlockCache中查,再查不到就會到磁盤上讀,并把讀的結果放入BlockCache。由于BlockCache采用的是LRU策略,因此BlockCache達到上限(heapsize * hfile.block.cache.size * 0.85)后,會啟動淘汰機制,淘汰掉最老的一批數據。

一個Regionserver上有一個BlockCache和N個Memstore,它們的大小之和不能大于等于heapsize * 0.8,否則HBase不能啟動。默認BlockCache為0.2,而Memstore為0.4。對于注重讀響應時間的系統,可以將?BlockCache設大些,比如設置BlockCache=0.4,Memstore=0.39,以加大緩存的命中率。

有關BlockCache機制,請參考這里:HBase的Block cacheHBase的blockcache機制hbase中的緩存的計算與使用。

?

?

HTable和HTablePool使用注意事項

HTable和HTablePool都是HBase客戶端API的一部分,可以使用它們對HBase表進行CRUD操作。下面結合在項目中的應用情況,對二者使用過程中的注意事項做一下概括總結。

Configuration?conf = HBaseConfiguration.create();

try?(Connection?connection = ConnectionFactory.createConnection(conf)) {

??try?(Table table = connection.getTable(TableName.valueOf(tablename)) {

????// use table as needed, the table returned is lightweight

??}

}

?

HTable

HTable是HBase客戶端與HBase服務端通訊的Java API對象,客戶端可以通過HTable對象與服務端進行CRUD操作(增刪改查)。它的創建很簡單:

Configuration conf = HBaseConfiguration.create();

HTable table = new?HTable(conf, "tablename");

//TODO CRUD Operation……

HTable使用時的一些注意事項:

1.???規避HTable對象的創建開銷

因為客戶端創建HTable對象后,需要進行一系列的操作:檢查.META.表確認指定名稱的HBase表是否存在,表是否有效等等,整個時間開銷比較重,可能會耗時幾秒鐘之長,因此最好在程序啟動時一次性創建完成需要的HTable對象,如果使用Java API,一般來說是在構造函數中進行創建,程序啟動后直接重用。

2.???HTable對象不是線程安全的

HTable對象對于客戶端讀寫數據來說不是線程安全的,因此多線程時,要為每個線程單獨創建復用一個HTable對象,不同對象間不要共享HTable對象使用,特別是在客戶端auto flash被置為false時,由于存在本地write buffer,可能導致數據不一致。

3.???HTable對象之間共享Configuration

HTable對象共享Configuration對象,這樣的好處在于:

  • 共享ZooKeeper的連接:每個客戶端需要與ZooKeeper建立連接,查詢用戶的table regions位置,這些信息可以在連接建立后緩存起來共享使用;
  • 共享公共的資源:客戶端需要通過ZooKeeper查找-ROOT-和.META.表,這個需要網絡傳輸開銷,客戶端緩存這些公共資源后能夠減少后續的網絡傳輸開銷,加快查找過程速度。

因此,與以下這種方式相比:

HTable table1 = new?HTable("table1");

HTable table2 = new?HTable("table2");

下面的方式更有效些:

Configuration conf = HBaseConfiguration.create();

HTable table1 = new?HTable(conf, "table1");

HTable table2 = new?HTable(conf, "table2");

備注:即使是高負載的多線程程序,也并沒有發現因為共享Configuration而導致的性能問題;如果你的實際情況中不是如此,那么可以嘗試不共享Configuration。

HTablePool

HTablePool可以解決HTable存在的線程不安全問題,同時通過維護固定數量的HTable對象,能夠在程序運行期間復用這些HTable資源對象。

Configuration conf = HBaseConfiguration.create();

HTablePool pool = new?HTablePool(conf, 10);

1.?? HTablePool可以自動創建HTable對象,而且對客戶端來說使用上是完全透明的,可以避免多線程間數據并發修改問題。

2.?? HTablePool中的HTable對象之間是公用Configuration連接的,能夠可以減少網絡開銷。

HTablePool的使用很簡單:每次進行操作前,通過HTablePool的getTable方法取得一個HTable對象,然后進行put/get/scan/delete等操作,最后通過HTablePool的putTable方法將HTable對象放回到HTablePool中。

下面是個使用HTablePool的簡單例子:

?

public?void?createUser(String username, String firstName, String lastName, String email, String password, String roles) throws?IOException {

HTable table = rm.getTable(UserTable.NAME);

Put put = new?Put(Bytes.toBytes(username));

put.add(UserTable.DATA_FAMILY, UserTable.FIRSTNAME,

Bytes.toBytes(firstName));

put.add(UserTable.DATA_FAMILY, UserTable.LASTNAME,

Bytes.toBytes(lastName));

put.add(UserTable.DATA_FAMILY, UserTable.EMAIL, Bytes.toBytes(email));

put.add(UserTable.DATA_FAMILY, UserTable.CREDENTIALS,

Bytes.toBytes(password));

put.add(UserTable.DATA_FAMILY, UserTable.ROLES, Bytes.toBytes(roles));

table.put(put);

table.flushCommits();

rm.putTable(table);

}

?

?

Hbase和DBMS比較:

查詢數據不靈活:

  • 不能使用column之間過濾查詢
  • 不支持全文索引。使用ES和hbase整合完成全文搜索。
  • 使用MR批量讀取hbase中的數據,在ES里面建立索引(no ?store)之保存rowkey的值。
  • 根據關鍵詞從索引中搜索到rowkey(分頁)
  • 根據rowkey從hbase查詢所有數據
  • ?

    總結

    以上是生活随笔為你收集整理的HBase性能优化方法总结(三):读表操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产成人无码AⅤ片在线观 日韩av不卡在线 | 亚洲精色 | 国产主播大尺度精品福利免费 | 黄色国产高清 | 国产剧情一区二区 | 99视频精品免费视频 | 久久这里只有精品首页 | 91精品国产欧美一区二区 | 色久综合 | 在线免费黄网站 | 日韩在线无 | 成人黄色在线 | 97人人爽人人| 婷婷色六月天 | 亚洲三级黄色 | 少妇bbw搡bbbb搡bbbb | 韩国av免费观看 | 91麻豆精品国产自产在线游戏 | 丁香九月激情综合 | 婷婷激情小说网 | 国产小视频在线看 | 一区二区三区 亚洲 | 欧美激情精品久久久久久 | 久久久www成人免费毛片 | 久久久美女 | 国产区久久| 精品毛片一区二区免费看 | 一本一本久久a久久精品牛牛影视 | 久久久国产精品视频 | 视频一区在线播放 | av夜夜操| 91九色蝌蚪视频 | 在线免费观看麻豆视频 | 天天亚洲综合 | 中文字幕在线观看1 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美另类xxxx| 香蕉97视频观看在线观看 | 久久男女视频 | 丁香婷婷色综合亚洲电影 | 人人爱爱 | 欧美国产高清 | 四虎www.| 精精国产xxxx视频在线播放 | 国产福利精品一区二区 | 日日躁你夜夜躁你av蜜 | 91在线视频免费观看 | 国产一级精品视频 | www.夜夜干.com | 在线一区av| 国产在线观看av | 毛片视频电影 | 色婷婷成人| 婷婷丁香激情综合 | www.五月婷 | 日韩高清一区在线 | 婷婷色在线观看 | 国产午夜不卡 | 在线欧美最极品的av | 日产乱码一二三区别在线 | 在线免费观看黄色 | 99视频精品视频高清免费 | 欧美日韩啪啪 | 国产成年人av | 国产精品久久久久久久久免费 | 99视频这里有精品 | 婷婷色网 | 99视频精品全部免费 在线 | 伊人亚洲综合网 | 色综合久久网 | 日韩精品一区二区在线观看 | 欧美 日韩精品 | 精品在线视频一区 | 久久99精品久久久久蜜臀 | 手机在线看片日韩 | 91黄视频在线观看 | 欧美日韩国产网站 | 99精品欧美一区二区三区黑人哦 | 亚洲国产婷婷 | 精品一区二区三区久久久 | 久久久国产视频 | 成 人 免费 黄 色 视频 | 日韩电影中文字幕在线 | 伊人亚洲综合 | 人人澡人人模 | 日韩视频在线观看免费 | 狠狠地日 | 日韩一级片网址 | 欧美日韩另类在线观看 | 国产精品丝袜久久久久久久不卡 | 日韩不卡高清 | 一区二区三区精品久久久 | 狠狠狠色丁香婷婷综合久久五月 | 天天综合网久久 | 久久精品国产精品 | 亚洲欧美激情精品一区二区 | 免费看黄网站在线 | 免费观看视频的网站 | 啪啪资源| 久久精品香蕉 | 亚洲激情网站免费观看 | 亚洲精品在线观看不卡 | 天天摸天天弄 | 成年免费在线视频 | 综合久久一本 | 久久亚洲福利视频 | 午夜三级福利 | 国产精品久久99精品毛片三a | 国产精品 亚洲精品 | 在线视频日韩精品 | 成人全视频免费观看在线看 | 久久久综合电影 | 五月婷综合 | 美女视频黄网站 | 69av网| 久草在线视频网 | 91黄在线看 | 免费十分钟 | 国产高清视频在线播放 | 免费观看一级特黄欧美大片 | 日韩色在线 | 国产在线播放一区二区 | 精品欧美一区二区三区久久久 | 国产麻豆精品一区 | 91在线蜜桃臀| 国产亚洲精品成人av久久ww | 欧美天堂视频在线 | 91精品国产乱码久久桃 | 在线观看深夜福利 | 久久黄色免费视频 | 91麻豆精品国产自产在线 | 91漂亮少妇露脸在线播放 | 国产高清视频在线免费观看 | 国产男男gay做爰 | 中文字幕中文字幕在线中文字幕三区 | 五月婷激情 | 欧美一级视频在线观看 | 97精品一区二区三区 | 正在播放一区二区 | 午夜男人影院 | 在线观看视频你懂得 | 欧美黑人xxxx猛性大交 | 成人在线免费看视频 | 黄色免费观看网址 | 久久久久成人精品免费播放动漫 | av黄色在线观看 | 国产精品福利一区 | 亚洲精品视频免费观看 | 亚洲开心激情 | 男女啪啪视屏 | 不卡的av在线播放 | 天天弄天天操 | 伊人亚洲综合网 | 亚洲精品高清一区二区三区四区 | 久久精品看| 99久久精品久久久久久清纯 | 香蕉视频免费在线播放 | www..com毛片| 九九av | 国产粉嫩在线 | 亚洲va男人天堂 | 国产黄色播放 | 黄色高清视频在线观看 | 成年人国产视频 | 色播六月天 | 97碰视频| av电影不卡| 在线观看中文字幕av | 成人在线免费观看网站 | 香蕉视频免费看 | 日韩在线首页 | 成人app在线免费观看 | 男女日麻批 | 亚州激情视频 | 亚洲黄色成人网 | 在线视频手机国产 | 91丨九色丨蝌蚪丨对白 | 亚洲一级电影 | 亚洲理论电影网 | 亚洲精品视频二区 | 久久久av电影 | 91在线视频免费播放 | 久久成年人网站 | 亚洲精品国产精品国产 | 久久国产手机看片 | 九九欧美视频 | 婷婷伊人网 | 日韩av影片在线观看 | 特级西西www44高清大胆图片 | 激情视频免费在线 | 国产精品99久久久久人中文网介绍 | 日日爽夜夜爽 | 成人精品久久 | 国产精品 日韩 欧美 | 午夜三级福利 | 日韩毛片在线免费观看 | 一级一级一片免费 | 成人精品一区二区三区电影免费 | 午夜av免费 | 亚在线播放中文视频 | 四川妇女搡bbbb搡bbbb搡 | 国色天香第二季 | 精品久久久久久久久久国产 | 成人黄大片 | 免费在线观看污网站 | 五月天久久综合 | 亚洲欧美国产日韩在线观看 | 91香蕉视频 | 欧美日韩国产区 | 久久久受www免费人成 | 色中文字幕在线观看 | 大胆欧美gogo免费视频一二区 | 欧美成人在线免费 | 久久男人免费视频 | 免费久久视频 | 欧美日本不卡视频 | 一区二区视频在线免费观看 | 五月婷婷伊人网 | av中文字幕日韩 | 国产手机在线观看视频 | 97视频入口免费观看 | 日本黄色黄网站 | 九九久久在线看 | 亚洲精品黄网站 | 日日夜夜免费精品 | 久久精品在线视频 | 婷婷在线色 | 欧美十八| 欧美性护士 | 91天堂在线观看 | 日韩精品欧美专区 | 久久国产精品久久精品 | 久久国产精品二国产精品中国洋人 | 91在线中字| 毛片永久新网址首页 | 黄污网| 国产精品久久三 | 在线免费观看黄色av | 国产一级视频在线观看 | 国产精品九九九九九 | 91亚·色| 成人在线视频免费看 | 天天草综合 | 日韩在线视频国产 | 麻豆视传媒官网免费观看 | 制服丝袜在线 | 婷婷久久久| 久久精品国产精品亚洲精品 | 在线免费观看视频一区二区三区 | 欧美精品少妇xxxxx喷水 | 狠狠躁18三区二区一区ai明星 | 9999免费视频 | 日韩免费二区 | 国产原创中文在线 | 亚洲精品视频偷拍 | 久久综合影院 | 欧美亚洲一区二区在线 | av片免费播放 | 丁香综合激情 | 日韩欧美国产视频 | 曰韩精品 | 天天干天天拍天天操 | 国内视频一区二区 | 久久成熟| 国产对白av | 性色大片在线观看 | 亚洲一区久久久 | 日韩av区 | 在线观看色网站 | 久久精品亚洲精品国产欧美 | 久久精品黄 | 日韩免费专区 | 日日干美女 | 日韩精品久久久 | 欧美日韩国产免费视频 | 麻豆免费看片 | 国产在线播放一区二区三区 | 国产中文欧美日韩在线 | 天天操天天射天天舔 | 狠狠网亚洲精品 | 视频1区2区 | 亚洲国产精品视频在线观看 | 日本三级不卡视频 | 91一区二区三区久久久久国产乱 | 欧美日韩一区二区三区在线观看视频 | 国产色就色| www免费黄色 | 天天爽夜夜爽精品视频婷婷 | 超碰在线观看av.com | 亚洲一区久久久 | 国产福利91精品张津瑜 | 一区二区成人国产精品 | 不卡av免费在线观看 | 在线观看日韩视频 | 欧美日韩aa| 久久99久久久久 | 亚洲精品视频中文字幕 | 国产免费不卡av | 四虎精品成人免费网站 | 亚洲精品久久久久www | 四虎精品成人免费网站 | 91免费试看 | 最新精品视频在线 | 国产精品久久久久一区 | 色射爱 | 少妇18xxxx性xxxx片 | 日韩免费av网址 | 日本中文字幕高清 | 日韩二区三区在线观看 | 干 操 插 | 久久久久久久久久亚洲精品 | 亚洲欧美一区二区三区孕妇写真 | 永久黄网站色视频免费观看w | 免费a v在线 | 久久伊人五月天 | 夜添久久精品亚洲国产精品 | 麻豆国产视频 | 91黄在线看 | 综合网天天色 | 免费欧美精品 | 亚洲高清在线精品 | 亚洲最大av| 欧美黑人性猛交 | 欧美日韩在线视频一区二区 | 91综合久久一区二区 | 96av在线| 激情综合六月 | 天天插天天操天天干 | 久久不卡电影 | 久久狠狠婷婷 | 日韩欧美精品一区二区三区经典 | 国产老太婆免费交性大片 | 久久黄色精品视频 | 成年人在线 | 一区二区影视 | 国产精品99久久久久久久久 | 日本视频高清 | 日韩视频一区二区在线观看 | 久久人人爽爽人人爽人人片av | www黄色大片 | 奇米影视999 | 成年人在线观看视频免费 | 久久久精品国产免费观看同学 | 在线免费观看国产精品 | 九九九九热精品免费视频点播观看 | 福利视频网站 | 久青草视频 | 美女网站色 | 国产精品第三页 | 亚洲精品美女在线 | 欧洲色吧 | 日韩在线观看av | 国产视频精品久久 | 成年人视频在线免费 | 五月天六月色 | 亚洲国产日韩欧美在线 | 亚洲精品视频在线观看免费视频 | 外国av网| 久久99视频免费观看 | 成人黄色电影免费观看 | 色是在线视频 | 国产一级片一区二区三区 | 久久久久久毛片 | 日韩成人在线免费观看 | 国产精品免费av | 91视频啪 | 成人一区二区三区中文字幕 | 亚洲欧洲一区二区在线观看 | 精品美女久久久久 | 伊人五月天综合 | 国产免费人成xvideos视频 | 久久成人国产精品 | 精品久久1 | 亚洲成av人影院 | 欧美地下肉体性派对 | 免费在线国产 | 中文字幕第一页av | 国产手机视频在线观看 | 国产日韩视频在线 | 午夜久久久精品 | 日韩亚洲国产精品 | 日日摸日日碰 | 国产又粗又猛又黄又爽视频 | 91久久久国产精品 | 人人看97| 黄色免费电影网站 | 成人性生交大片免费观看网站 | 人人模人人爽 | 精品亚洲网 | 日韩美在线 | 一本一本久久a久久精品牛牛影视 | av在线色 | 在线观看韩日电影免费 | 日韩精品一区二区三区水蜜桃 | 香蕉久久国产 | aaa毛片视频| 黄色影院在线免费观看 | 国产视频精品在线 | 天堂av在线7 | 久久精品99国产精品酒店日本 | 久久只精品99品免费久23小说 | 久久美女高清视频 | 人人狠狠综合久久亚洲婷 | 五月婷婷在线综合 | 91精品视频一区 | 久久看片网 | 免费能看的黄色片 | 综合天堂av久久久久久久 | 黄色精品视频 | 亚洲欧美在线综合 | 国产最新视频在线观看 | 狠狠狠色 | 91久久人澡人人添人人爽欧美 | 中文字幕视频 | 韩国三级av在线 | 天天婷婷 | 久久九九久久九九 | 天天干亚洲 | 在线观看亚洲专区 | 欧亚日韩精品一区二区在线 | 久久久久久久精 | 日本黄色黄网站 | 亚洲在线精品视频 | 最近中文字幕国语免费高清6 | 国产高清中文字幕 | 九九视频免费观看视频精品 | 久久精品9 | 黄色日视频 | 2021国产在线视频 | 蜜臀av免费一区二区三区 | 69视频在线播放 | 久久久国产精品成人免费 | 成年人免费在线看 | www.香蕉视频| 日韩高清在线一区二区三区 | 国产视频一级 | 美女网站在线播放 | 精品国产一区二区久久 | 国精产品999国精产品岳 | 欧美精选一区二区三区 | 一区二区视频播放 | 视频91| 97超碰人人澡人人 | 成片免费观看视频大全 | 狠狠狠狠干 | 日韩成人精品 | 欧美精品亚洲二区 | 超碰最新网址 | 五月婷婷综合在线观看 | 久久久久久久久免费视频 | 日韩精品字幕 | 视频99爱 | 亚洲高清视频一区二区三区 | 免费三级a | 日本黄色一级电影 | 在线观看www. | 六月婷操 | 三级黄免费看 | 在线一区av| 国产一级大片免费看 | 中文字幕在线观看资源 | 91精品久 | 欧美一二三视频 | 国产一区二区在线播放视频 | 国产精品毛片久久久久久久 | 在线看黄色av | 成人在线免费小视频 | 天堂网一区 | 国产高清不卡一区二区三区 | 久香蕉| av黄色大片 | 日日夜夜免费精品 | 天天做天天爱天天爽综合网 | 免费看一级黄色大全 | 中文字幕日韩国产 | 中文字幕一区二区三区在线播放 | 色视频在线 | 成人黄色电影免费观看 | 色婷婷狠狠18 | 国产成人精品在线观看 | 久久久福利 | 免费亚洲黄色 | 国产91精品在线观看 | av中文字幕在线看 | 久久99国产精品久久 | 中文资源在线观看 | 精品色999 | 日韩免费在线网站 | 97在线视频免费观看 | 亚洲人成影院在线 | 国内外成人在线 | 日日操天天操狠狠操 | 久久激情小说 | 在线观看蜜桃视频 | 天天色图| 91av官网 | 日韩欧美有码在线 | 三级黄色在线观看 | 国产精品中文久久久久久久 | 美女视频黄频大全免费 | 国产免费一区二区三区最新 | 日韩精品三区四区 | 成人免费视频播放 | 美女性爽视频国产免费app | 高清不卡一区二区在线 | 91爱爱电影 | 91一区二区在线 | 欧美日韩国产综合网 | 久久小视频 | 亚洲精品88欧美一区二区 | 激情五月在线观看 | 在线观看中文字幕2021 | 五月激情电影 | 91在线精品播放 | 午夜少妇 | 国产中文欧美日韩在线 | 欧美性视频网站 | 国产精品久久久久久久久岛 | 四虎8848免费高清在线观看 | 日韩一区二区三免费高清在线观看 | 国产高清第一页 | 最新一区二区三区 | 黄色三级在线 | 午夜免费福利片 | 久久免费大片 | 中文字幕国产 | 黄色小说18 | 日本中文字幕久久 | 99热精品在线 | 婷婷久久婷婷 | 中文字幕一区2区3区 | 九色在线 | 四虎免费在线观看视频 | 九九免费精品视频在线观看 | 一区在线免费观看 | 久久久蜜桃 | 日韩欧美在线观看一区二区 | 天天干天天干天天射 | 国产精品视频在线观看 | 日韩专区 在线 | mm1313亚洲精品国产 | 91麻豆精品国产91久久久久久久久 | 久久九九久久精品 | 97免费视频在线 | 亚洲三级黄 | 国际精品久久 | 精品国产伦一区二区三区免费 | 国产精品久久99精品毛片三a | 国产一区二区三区高清播放 | 嫩草伊人久久精品少妇av | 成片免费观看视频 | 91在线视频免费播放 | 亚洲欧美视频一区二区三区 | 国产精品一区二区免费视频 | av中文字幕在线播放 | 天天操天天舔天天干 | 国产精品免费久久久久久 | 香蕉久久久久久久 | 91少妇精拍在线播放 | 日本精品一区二区在线观看 | 欧美aaa一级 | 久久69精品久久久久久久电影好 | 免费av大片 | 九九热免费观看 | 国产成人三级三级三级97 | 婷五月天激情 | 天天摸日日操 | 99久热在线精品视频观看 | 99精品热视频只有精品10 | 精品欧美一区二区精品久久 | 久久久久久久久久久高潮一区二区 | 成人av一二三区 | 黄色av电影在线观看 | 91色影院 | 97超碰在线免费 | 伊人婷婷在线 | 久久精品国产精品 | 国产一区在线视频观看 | 91九色最新 | av一级免费 | 亚洲最新合集 | 日韩久久精品一区二区三区下载 | 色婷婷狠狠18 | 日本不卡123区 | 国产日本亚洲高清 | 麻豆91精品视频 | 午夜婷婷综合 | 久草在线资源免费 | 国产精品1区2区 | 97在线视频免费播放 | 久久久国产精品网站 | 久久久人 | 中文字幕 国产视频 | 免费观看性生交大片3 | 国产精品久久精品 | 激情五月伊人 | 久久黄色免费视频 | 久久久一本精品99久久精品66 | 91在线九色 | 丁香九月激情综合 | 亚洲一二三久久 | 日日草天天草 | 亚洲一级电影在线观看 | 久久久激情视频 | 91av视频免费观看 | 免费国产一区二区 | 综合网伊人 | 日本二区三区在线 | 激情综合色综合久久 | 国产丝袜一区二区三区 | 欧美日韩视频在线一区 | 97超碰资源总站 | 亚州av免费 | 美女视频一区二区 | 中文字幕丝袜一区二区 | 国产一区二区久久 | 奇米影视777四色米奇影院 | 91日韩精品一区 | 亚洲欧美日韩中文在线 | 亚洲欧美日韩一区二区三区在线观看 | 夜夜躁天天躁很躁波 | 久久蜜臀av | 黄色av影院 | 精品久久1 | 91传媒激情理伦片 | 97在线视频网站 | 久久国产一区二区三区 | 亚洲一区精品人人爽人人躁 | 在线观看中文字幕第一页 | 狠狠干.com | www好男人| 黄色一级大片在线免费看国产一 | 中文字幕高清在线 | 美女免费视频网站 | 久久视频中文字幕 | 欧美性黑人 | 国产亚洲在线视频 | 国产精品毛片一区二区在线 | 91资源在线视频 | 国产成人333kkk | 久久一区二 | 午夜精品一区二区三区免费 | 黄色软件视频网站 | 天天爽天天爽夜夜爽 | 99精品免费在线观看 | 天天干夜夜爱 | 亚洲精品中文在线观看 | 久久人人爽视频 | 美女很黄免费网站 | 日韩成人精品一区二区 | 美女久久久久久久久久久 | 五月激情亚洲 | 国产一区二区午夜 | 国产精品精品国产色婷婷 | 婷婷色中文网 | 一区二区三区四区免费视频 | 成人在线一区二区三区 | 日本精品一二区 | 国产精品一区二区三区在线 | 玖玖玖在线 | 五月开心激情网 | 在线色资源 | 成人免费在线看片 | 国产小视频免费观看 | 在线国产精品一区 | 国产视频一二区 | 国产精品视频内 | 99热超碰 | 国产一区二区三区四区大秀 | 久久激情五月婷婷 | 国产精品区二区三区日本 | 久久深夜福利免费观看 | 亚洲精品在线观看中文字幕 | 91视频链接| 狠狠操精品 | 国产精品一区二区你懂的 | 91桃色免费视频 | 精品九九九九 | 亚洲精品动漫久久久久 | av三级在线免费观看 | 99久久超碰中文字幕伊人 | 狠狠色网 | 日韩理论电影网 | 欧美日韩亚洲第一页 | 久草免费福利在线观看 | 久久特级毛片 | 天天爱天天操天天爽 | 在线观看视频h | 国色天香第二季 | 狠狠操.com | 亚洲精品男人的天堂 | 日本精品视频在线观看 | 色在线观看网站 | 69av国产 | 亚洲专区路线二 | 欧美在线观看视频一区二区三区 | 人人爽久久久噜噜噜电影 | 久久免费的视频 | 在线免费观看国产视频 | 欧美黄网站 | 丝袜+亚洲+另类+欧美+变态 | 奇米网777 | 在线观看亚洲a | 91天天视频 | 午夜狠狠干 | 中文字幕高清免费日韩视频在线 | 天天天综合网 | av直接看| 亚洲一级黄色片 | 91黄色免费网站 | 精品一区二区6 | 久久黄色精品视频 | 超碰在线人人爱 | 国产私拍在线 | 国模一二三区 | 亚洲狠狠婷婷 | 免费av片在线 | 日本午夜在线观看 | 伊人天天狠天天添日日拍 | 天天摸天天弄 | 中文字幕高清在线播放 | aaa亚洲精品一二三区 | 亚洲精品久久久久58 | www色网站 | 热久久电影 | 成人三级黄色 | v片在线看| 成人动图| 四川妇女搡bbbb搡bbbb搡 | 丁香六月天婷婷 | 黄色特级片 | 亚州精品一二三区 | 久久久久亚洲a | 日韩在线免费视频观看 | 在线电影 你懂得 | 天天搞天天干天天色 | 黄色在线观看免费网站 | 欧美精品日韩 | 最新日韩中文字幕 | 视频一区视频二区在线观看 | 国产视频每日更新 | 欧美视频xxx| 亚洲精品视频免费在线观看 | 丰满少妇在线观看 | 久草在线观看 | 色综合色综合久久综合频道88 | 91在线观看视频网站 | 久久爱992xxoo | 日韩一级黄色片 | 国产中文 | 尤物一区二区三区 | 国产又粗又猛又爽又黄的视频免费 | 欧美色久 | 999成人精品 | 综合网婷婷 | 国产在线观看你懂的 | 欧美激情精品久久久久 | 国产美女被啪进深处喷白浆视频 | 日韩av午夜在线观看 | 亚洲精品久久久蜜桃直播 | 精品国产精品国产偷麻豆 | 国产精品va在线观看入 | 91久久精品一区二区三区 | 成人免费视频视频在线观看 免费 | 福利一区二区三区四区 | 久久综合给合久久狠狠色 | 精品久久久久久一区二区里番 | 久久精品久久精品久久精品 | 午夜精品电影一区二区在线 | 天天操狠狠操夜夜操 | 天天干天天在线 | 日日操天天操夜夜操 | 午夜视频久久久 | 国内精品久久久久影院优 | 久久av免费 | 久久久综合色 | 亚洲欧洲美洲av | 久久精品国产免费 | 高清久久久久久 | 日本黄色片一区二区 | 精品伊人久久久 | 久久久久久久免费看 | 久久国际影院 | 中文字幕亚洲情99在线 | 国产一区成人 | 久久毛片网站 | 亚洲精品一区二区三区在线观看 | 久草视频首页 | 三级黄色网址 | 亚洲美女精品区人人人人 | 精品久久久久久国产偷窥 | 国产精品亚洲片夜色在线 | 91av美女| 亚洲成人av在线播放 | 美女黄视频免费 | 操操操影院 | 黄色一级免费网站 | 精品亚洲免费 | 97超碰人人模人人人爽人人爱 | 国产精品ⅴa有声小说 | 日韩一区二区在线免费观看 | 成人网看片 | 日韩va欧美va亚洲va久久 | 午夜影院一级片 | 亚洲精品视频在线免费播放 | www.夜夜夜 | 久久精品资源 | 在线观看亚洲成人 | 91高清视频 | 五月天激情综合网 | 日本在线精品视频 | 久草线 | 国产亚洲精品无 | 国内精品在线看 | 日韩在线观看一区二区三区 | 日韩午夜剧场 | 天天操综合网站 | 五月婷婷综合在线视频 | 国产精品久久久久久久午夜片 | 亚洲区视频在线观看 | 国产在线一区二区 | 亚洲国产精品500在线观看 | 日韩高清在线看 | 中文乱幕日产无线码1区 | 成人黄色在线视频 | 日本久久综合网 | 99色在线| 婷婷在线不卡 | 在线观看av的网站 | av成人在线网站 | 韩日精品在线 | 天堂视频一区 | 国产中文字幕在线免费观看 | www免费看片com | 久久国产精品影视 | 精品国内自产拍在线观看视频 | 在线亚洲小视频 | 精品国产一区二区在线 | 中文字幕免费观看 | 中文字幕在线国产精品 | 国产精品久久婷婷六月丁香 | 免费观看91视频大全 | 天天操天天摸天天干 | 欧美在线视频免费 | 欧美日韩不卡一区二区三区 | 精品日韩在线 | 黄av在线| 久99久在线视频 | 国产理论免费 | 综合久久久久久 | 国产一区不卡在线 | 日韩精品电影在线播放 | 丁香视频在线观看 | 久久久久久高潮国产精品视 | 欧美一级日韩免费不卡 | 911精品视频| 久久精品久久久久电影 | 亚洲天堂首页 | 日韩视频免费观看高清完整版在线 | 最新在线你懂的 | 国产精品一区二区免费在线观看 | 国产黄色片在线 | 亚洲 综合 精品 | 久久嗨| www.香蕉视频| 毛片久久久 | 日韩有码在线播放 | av电影 一区二区 | 8x成人免费视频 | 国产无套精品久久久久久 | 免费一区在线 | 一区二区 不卡 | 五月婷婷欧美视频 | 免费精品人在线二线三线 | 一区二区三区电影在线播 | 久久五月天综合 | 六月丁香在线观看 | 91资源在线 | 狠狠色丁香婷婷综合最新地址 | 免费午夜在线视频 | 中文在线免费看视频 | 2021av在线 | 日韩中文字幕视频在线观看 | 国产精品久久久久久久久久了 | 免费看的黄色片 | 中文字幕av电影下载 | 国模一区二区三区四区 | 久久久久久久亚洲精品 | 涩av在线| 美女免费黄网站 | 婷婷久久一区 | 国产高清在线视频 | 国产精品ⅴa有声小说 | 久精品视频免费观看2 | 1000部国产精品成人观看 | 青青久草在线 | 亚洲综合小说 | 中文字幕久久精品 | 黄色日本片 | 国产一区二区免费看 | 亚洲国产999 | 日韩中文字幕视频在线观看 | 免费亚洲视频 | 国产精品va在线观看入 | 91亚洲精品久久久久图片蜜桃 | 久久人人爽人人爽人人 | 国产一级精品在线观看 | 97韩国电影| 久久爱www.| 国产精品一区二区在线免费观看 | 福利区在线观看 | 麻豆精品国产传媒 | 成人av免费看 | 最新国产精品亚洲 | 波多野结衣理论片 | 不卡的av电影 | 丝袜美女视频网站 | 日韩免费高清 | 黄色国产高清 | 色婷婷播放 | 国产黄色免费在线观看 | 亚洲视频免费在线 | 国产123区在线观看 国产精品麻豆91 | 黄色精品一区 | 91在线超碰 | 精品久久亚洲 | 婷婷天天色 | 久久久在线视频 | 国内精品久久久久久久久久久久 | 国产最新在线观看 | 欧美精品一区在线发布 | 久久99国产精品免费网站 | 九九色网| 成人av资源网 | 亚洲精品在线免费看 | 99re久久精品国产 | 欧美日韩综合在线观看 | 久久国语露脸国产精品电影 | 久久99在线视频 | 黄色网址a | 午夜电影av | 国产精在线 | 在线看毛片网站 | 青青草国产精品 | 日韩二三区 | 日韩免费观看一区二区 | 最近能播放的中文字幕 | 中文字幕一区二区三 | 日韩精品视频在线观看网址 | 最新的av网站 | 婷婷色亚洲 | 国产 在线 日韩 | 久久激情久久 | 在线播放国产精品 | 99精品美女 | 一二三久久久 | 中文日韩在线视频 | 中文字幕免费高 | 久久久久网站 | 国产免费一区二区三区最新 | 亚洲午夜av电影 | 中文字幕av全部资源www中文字幕在线观看 | 亚洲aⅴ乱码精品成人区 | 久久无码av一区二区三区电影网 | 久久99精品久久久久久三级 | 久色婷婷 | 国产亚洲精品成人av久久ww | 97电影网手机版 | 国产精品一区在线播放 | 亚洲最大成人免费网站 | 美女国产网站 | 国产三级香港三韩国三级 | 亚洲精品国产自产拍在线观看 | 九九精品视频在线看 | 在线成人小视频 | 亚洲国产网址 | 日日干夜夜草 | 成人三级网址 | 亚洲精品乱码久久久久久9色 | 久久午夜影视 | 精品在线免费观看 | 粉嫩av一区二区三区四区在线观看 | 在线高清av | 久久草在线视频国产 | 91色蜜桃| 国产精品 亚洲精品 | 色综合久久久久综合 | 超碰97国产在线 | 99视频播放 | 国产一区免费观看 | 丝袜美腿在线视频 | 国产色在线观看 | 久久精品一级片 | 成人黄色片在线播放 | 日韩精品免费专区 | 中文在线a√在线 | 欧美日韩一级久久久久久免费看 | 西西444www大胆无视频 |