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

京東零售云mPaaS移動端日志回?fù)铺剿鲗嵺`

云計算 PaaS
移動操作系統(tǒng)為開發(fā)者提供了功能豐富的日志組件,比如說Android Studio 中的Logcat窗口會顯示系統(tǒng)消息,例如在進行垃圾回收時顯示的消息,以及使用Log類添加到應(yīng)用的消息, 能夠輔助開發(fā)者進行高效的開發(fā)工作。

1.1. 引言

移動操作系統(tǒng)為開發(fā)者提供了功能豐富的日志組件,比如說Android Studio 中的Logcat窗口會顯示系統(tǒng)消息,例如在進行垃圾回收時顯示的消息,以及使用Log類添加到應(yīng)用的消息, 能夠輔助開發(fā)者進行高效的開發(fā)工作。然而在生產(chǎn)環(huán)境中,當(dāng)用戶(或者老板)反饋一些問題,又比較冷僻難以復(fù)現(xiàn)的時候(不是Crash),常常就會陷入一籌莫展的境地。此時,借助線上異常數(shù)據(jù)實時上報,我們只能是祈禱用戶網(wǎng)絡(luò)環(huán)境通暢,能夠及時把異常數(shù)據(jù)第一時間上報上來,然而這種做法并不能保證我們永遠那么幸運。

于是,我們需要研制一款性能較高的移動日志系統(tǒng)來解決我們當(dāng)下的難題,該系統(tǒng)能具備日志信息完整、性能損耗低、輕量級(體積)、精確回?fù)频奶攸c。 接下來介紹一下移動日志系統(tǒng)的研發(fā)歷程。

1.2. 設(shè)計方案

移動日志系統(tǒng)使用了Linux系統(tǒng)中提供的mmap作為日志文件的載體,目前業(yè)內(nèi)流行的XLOG日志組件、MMKV、美團Logan均采用了此方案,其最大的優(yōu)勢就是高效I/O、低損耗、跨進程 等優(yōu)勢,接下來引入下mmap的基本介紹。

1.2.1. 什么是mmap?

操作系統(tǒng)分為內(nèi)核態(tài)和用戶態(tài)兩種運行模式:

  • 內(nèi)核態(tài)(Kernel MODE)能夠運行操作系統(tǒng)程序 用戶態(tài)(User MODE)能夠運行用戶程序
  • 用戶態(tài)(即應(yīng)用程序)是不能直接對物理設(shè)備進行操作的(Ps:對物理設(shè)備進行操作,即對設(shè)備的物理地址寫數(shù)據(jù))。如果想讀取硬盤上的某一段數(shù)據(jù)通常都需要經(jīng)過 硬盤->內(nèi)核->用戶,即數(shù)據(jù)需要經(jīng)歷兩次拷貝,效率十分低下。 為了解決這樣的問題,內(nèi)存映射的概念出現(xiàn)了:內(nèi)核映射即mmap,mmap將設(shè)備的物理地址映射到進程的虛擬地址,則用戶操作虛擬內(nèi)存時就相當(dāng)于對物理設(shè)備進行操作了,減少了內(nèi)核到用戶的一次數(shù)據(jù)拷貝,從而提高數(shù)據(jù)的吞吐率。

在Linux中可以使用mmap用來在進程虛擬內(nèi)存地址空間中分配地址空間,創(chuàng)建和物理內(nèi)存的映射關(guān)系 :

當(dāng)使用mmap映射文件到進程后,就可以直接操作這段虛擬地址進行文件的讀寫等操作,不必再調(diào)用read,write等系統(tǒng)調(diào)用。但需注意,直接對該段內(nèi)存寫時不會寫入超過當(dāng)前文件大小的內(nèi)容。

總之,mmap區(qū)別于以往的文件讀寫,具備以下幾個優(yōu)點:

  • 減少了數(shù)據(jù)的拷貝次數(shù),用內(nèi)存讀寫取代I/O讀寫,提高了文件讀取效率
  • 實現(xiàn)了用戶空間和內(nèi)核空間的高效交互方式。兩空間的各自修改操作可以直接反映在映射的區(qū)域內(nèi),從而被對方空間及時捕捉
  • 提供進程間共享內(nèi)存及相互通信的方式。不管是父子進程還是無親緣關(guān)系的進程,都可以將自身用戶空間映射到同一個文件或匿名映射到同一片區(qū)域。從而通過各自對映射區(qū)域的改動,達到進程間通信和進程間共享的目的
  • 同時,如果進程A和進程B都映射了區(qū)域C,當(dāng)A第一次讀取C時通過缺頁從磁盤復(fù)制文件頁到內(nèi)存中;但當(dāng)B再讀C的相同頁面時,雖然也會產(chǎn)生缺頁異常,但是不再需要從磁盤中復(fù)制文件過來,而可直接使用已經(jīng)保存在內(nèi)存中的文件數(shù)據(jù)
  • 可用于實現(xiàn)高效的大規(guī)模數(shù)據(jù)傳輸。內(nèi)存空間不足,是制約大數(shù)據(jù)操作的一個方面,解決方案往往是借助硬盤空間協(xié)助操作,補充內(nèi)存的不足。但是進一步會造成大量的文件I/O操作,極大影響效率。這個問題可以通過mmap映射很好的解決。換句話說,但凡是需要用磁盤空間代替內(nèi)存的時候,mmap都可以發(fā)揮其功效

1.2.2. mmap的使用

對于移動端日志采集SDK來說,主要進行的工作就是將用戶寫入的數(shù)據(jù)保存到文件中,在這個過程中涉及到在native層調(diào)用mmap函數(shù)實現(xiàn)在進程虛擬內(nèi)存地址空間中分配地址空間,創(chuàng)建和物理內(nèi)存的映射關(guān)系。

接下來介紹一下Linux系統(tǒng)中mmap機制的使用流程:

mmap函數(shù)

  • 函數(shù)聲明
  1. void* mmap(void* __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset); 
  • 返回值說明

成功執(zhí)行時,mmap()返回被映射區(qū)的指針。失敗時,mmap()返回MAP_FAILED[其值為(void *)-1],error被設(shè)為以下的某個值:

  1. EACCES:訪問出錯
  2. EAGAIN:文件已被鎖定,或者太多的內(nèi)存已被鎖定
  3. EBADF:fd不是有效的文件描述詞
  4. EINVAL:一個或者多個參數(shù)無效
  5. ENFILE:已達到系統(tǒng)對打開文件的限制
  6. ENODEV:指定文件所在的文件系統(tǒng)不支持內(nèi)存映射
  7. ENOMEM:內(nèi)存不足,或者進程已超出最大內(nèi)存映射數(shù)量
  8. EPERM:權(quán)能不足,操作不允許
  9. ETXTBSY:已寫的方式打開文件,同時指定MAP_DENYWRITE標(biāo)志
  10. SIGSEGV:試著向只讀區(qū)寫入
  11. SIGBUS:試著訪問不屬于進程的內(nèi)存區(qū)
  • 參數(shù)說明

 

mmap在移動端代碼中的使用

 

  1. //用于寫入文件的緩存Buffer 
  2. static unsigned char *_buffer = NULL
  3. // mmap緩存文件的大小 
  4. static int mmap_cache_file = 100*1024; 
  5.  
  6. void init() { 
  7.   //第一步: 根據(jù)設(shè)置的緩存位置生成用于映射的文件 
  8.   makedir_mmapfile(cache_path); 
  9.   //第二步:打開緩存文件 
  10.   int fd = open(cache_path, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); 
  11.   //mmap映射的文件的判斷 
  12.   if(fd != -1) { 
  13.      ...... 
  14.     //第三步:mmap映射文件到buffer內(nèi)存中 
  15.     _buffer = (unsigned char *) mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); 
  16.   } 
  17.   //第四步:關(guān)閉文件句柄 
  18.    close(fd); 
  19.  
  20. //第五步:操作mmap內(nèi)存讀寫 
  21. void write(....) { 
  22.   // 將要寫入的數(shù)據(jù)封裝,壓縮和加密 
  23.   data_zlib_compress(); 
  24.  
  25.   //將mmap的緩存寫入到文件中 
  26.   fwrite(_buffer, sizeof(char), _buffer.length, dest_file); 
  27.   fflush(dest_file); 
  28.  
  29.   // 文件大小變化等相關(guān)操作 
  30.   update(); 

日志寫入的流程

1.2.3. 移動日志系統(tǒng)架構(gòu)介紹

客戶端日志SDK為開發(fā)者提供日志的打印,主要是將在線上運行期間產(chǎn)生的日志寫入文件中,根據(jù)開發(fā)者的需要撈取指定的日志,為開發(fā)者解決線上問題提供助力。我們設(shè)計了滿足基本功能的系統(tǒng),架構(gòu)如下圖所示:

1.2.4. 客戶端日志SDK介紹

日志SDK的架構(gòu)如圖展示,可以分為如下三層,每一層解決了不同的業(yè)務(wù)場景。

日志SDK在底層使用了流式壓縮加密操作,在接收到寫入的日志數(shù)據(jù),先將數(shù)據(jù)進行壓縮操作,然后再進行加密操作,整個過程中都是流式操作,避免了CPU峰值,減少對CPU性能負(fù)擔(dān)。在具體的實現(xiàn)中引入了MMAP機制解決了日志丟失問題,使用AES進行日志加密確保日志安全性。

日志SDK通過服務(wù)端下發(fā)的策略進行本地日志的動態(tài)上報,這里我們可以通過定時的拉取最新的策略,或者通過push通道更新本地的策略,再或者提供上報接口,在用戶的反饋中,讓用戶將日志數(shù)據(jù)上報上來。當(dāng)前在下發(fā)的策略中我們進行了大量的自定義,對文件的大小,緩存時長,日志的寫入等級等相關(guān)的設(shè)置進行下發(fā)操作,實現(xiàn)應(yīng)用初始化后,篩選過濾,只將我們需要的日志寫入到文件中,為開發(fā)者使用。

日志SDK根據(jù)策略將指定的日志文件上傳到指定的服務(wù)器上,這個服務(wù)器將對上傳的日志進行解壓和解碼操作,將日志文件還原成原始的輸入數(shù)據(jù),具體的流程可以參考下面的業(yè)務(wù)流程。

日志SDK業(yè)務(wù)流程

日志SDK在的業(yè)務(wù)流程如下圖所示,根據(jù)服務(wù)端配置的策略,采集指定的日志并進行數(shù)據(jù)的壓縮加密等操作,然后主動將本地日志文件上傳到中轉(zhuǎn)服務(wù),將上傳結(jié)果等相關(guān)信息同步到信息展示的服務(wù)端。

日志SDK性能

上述設(shè)計中以及使用中,為了減少對CPU以及內(nèi)存的消耗,我們通過使用mmap技術(shù),將流式壓縮加密緩存等操作轉(zhuǎn)移到native層,那么這樣做相對于Java層的日志庫我們對于內(nèi)存以及CPU的使用率降低了多少,接下來我們將使用一個Java層的日志庫與使用mmap實現(xiàn)的native庫進行對比。

測試條件

性能測試中采用了在同一臺小米Note3 Android 9系統(tǒng)版本手機,分別測試了已有的Java日志庫、當(dāng)前日志庫、美團Logan、騰訊XLog日志庫的寫入性能。通過寫入速度、GC頻率、CPU占用率幾個維度來衡量日志庫的寫入性能,測試的結(jié)果只限于衡量當(dāng)前測試環(huán)境,并不代表Android平臺整體平均水準(zhǔn)。

測試數(shù)據(jù)量:

測試結(jié)果

1. 內(nèi)存的GC測試結(jié)果

Java日志庫:

native日志庫:

從上邊的內(nèi)存性能圖片中可以看到,Java日志庫在大量寫日志的時候回造成頻繁的GC,雖然native日志庫不會出現(xiàn)這樣頻繁的GC,從圖中可以看到Java日志庫的GC頻率大約是1s/次,native日志庫的GC頻率大約是7.5s/次。

2. CPU使用率測試結(jié)果

Java日志庫:

native日志庫:

從上邊CPU性能圖片中可以看到,Java日志庫在頻繁寫入日志的時候CPU的平均使用率大約為13%,native日志庫在頻繁寫入日志的時候CPU的平均使用率大約為5%。

從上述內(nèi)存以及CPU占用率的對比中,我們可以看出native日志庫相較于Java日志庫來說,性能上有了很大的提示,對于內(nèi)存的占用較小,在頻繁的I/O操作以及加密壓縮操作的情況下cpu的使用率仍保持在較低值。

日志庫性能的對比

上邊我們與Java日志進行了對比,接下來我們將于其他使用mmap實現(xiàn)的日志庫進行下對比:

 

1.3. 實踐案例

在app的線上環(huán)境我們可能遇到各種問題,我們希望將出現(xiàn)問題當(dāng)天的日志獲取到用于問題的分析,協(xié)助解決問題。這樣的業(yè)務(wù)場景幾乎覆蓋了大部分的業(yè)務(wù)場景,對于自助收銀機這樣的設(shè)備使用場景,運行時期的日志對于問題的排查尤為重要。

數(shù)科自助收銀設(shè)備主要服務(wù)于各大超市賣場的自如結(jié)賬,緩解多條人工收銀通道仍無法抵消的收銀壓力。當(dāng)出現(xiàn)問題的時候,我們不可能對使用者進行回訪,所以運行時候的日志對于問題排查尤為重要。

在未使用移動日志系統(tǒng)之前,遇到問題后,由于缺少運營工具,對于問題的排查,需要占用較多的研發(fā)資源,在接入移動日志系統(tǒng)后,運營就可以獨自處理大部分的問題。這樣極大的提高了解決問題的效率,減少了研發(fā)側(cè)參與排查運營問題的時間。

1.4. 寫到最后

當(dāng)前的sdk使用場景是定時拉取服務(wù)端的策略,根據(jù)下發(fā)的最新策略進行日志文件的上報,有一定的時間延后性,后期我們將開放主動上報日志的通道以及結(jié)合push推送消息,提高日志回?fù)频募皶r性以及成功率。

當(dāng)前的sdk暫時只支持移動端(Android以及iOS),在后續(xù)我們將進行多端支持,將在RN,F(xiàn)lutter,小程序以及H5等各種應(yīng)用場景中統(tǒng)一使用當(dāng)前日志庫進行日志的采集和存儲。

責(zé)任編輯:未麗燕 來源: 京東零售云
相關(guān)推薦

2021-09-15 16:41:20

京東零售云Flutter熱重載

2021-09-16 18:44:05

京東云PaaS平臺Android

2022-06-28 13:41:43

京東數(shù)據(jù)處理

2019-03-21 19:19:35

新零售阿里云零售云

2022-05-18 13:24:47

京東調(diào)優(yōu)實踐

2024-07-11 08:09:21

2018-01-22 10:33:01

云計算 新零售

2023-01-30 15:22:31

2025-09-09 02:00:00

2016-10-19 18:31:13

云存儲

2021-09-08 18:12:57

京東零售云

2023-05-11 08:00:30

2018-03-20 09:56:50

新零售

2017-09-30 10:00:41

2018-06-06 17:39:03

2019-07-17 05:33:33

零售物聯(lián)網(wǎng)IOT
點贊
收藏

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

国产一区激情在线| 日本在线成人| 国产精品美女久久久久av爽李琼 | 波多野结衣中文字幕久久| 成人一二三区视频| 国产成人精品视频在线观看| 99热在线观看精品| 大奶在线精品| 欧美伊人久久久久久久久影院| 一区二区三区视频在线播放| 人妻无码一区二区三区久久99 | 国产精品 欧美在线| 亚洲二区在线播放| 国产成人三级| 亚洲国产精品一区二区久| 中国黄色片免费看| 24小时免费看片在线观看| 国产精品私房写真福利视频| 国产偷久久久精品专区| 国产精品无码AV| 日韩国产精品91| 久久久久国产精品免费网站| 日韩一区二区三区四区视频| 欧美美女在线直播| 欧美一区二区三区婷婷月色| 国产男女激情视频| 91美女主播在线视频| 国产精品不卡在线| 日韩欧美99| 天堂资源中文在线| 国产盗摄一区二区三区| 国产综合色香蕉精品| 精品人妻无码一区二区性色| 国产一区观看| 久久中文字幕视频| 国产传媒视频在线| 国产成人黄色| 亚洲男人天堂网站| 亚洲国产精品无码久久久久高潮 | xxxxx99| 红杏aⅴ成人免费视频| 678五月天丁香亚洲综合网| 蜜臀视频一区二区三区| 成人影院av| 色哟哟亚洲精品| 日本精品www| 亚洲电影观看| 岛国av一区二区| 国产va亚洲va在线va| 污的网站在线观看| 一区二区不卡在线播放| 手机在线视频你懂的| 免费观看黄色av| 精品一区二区在线播放| 国产精品亚洲激情| 国产99午夜精品一区二区三区| 国产亚洲精品久久久久久打不开| 99久久久久久中文字幕一区| 日韩精品资源二区在线| 国产精品成人免费一区久久羞羞| 欧美熟妇激情一区二区三区| 97精品资源在线观看| 欧美日韩精品系列| 人人爽人人爽av| 欧美精品三级在线| 精品久久久久99| 97香蕉碰碰人妻国产欧美| 久久久亚洲欧洲日产| 日韩精品小视频| av电影网站在线观看| 欧美freesextv| 久久国产天堂福利天堂| 欧美精品成人久久| 尹人成人综合网| 欧亚精品中文字幕| 中文在线最新版天堂| 另类的小说在线视频另类成人小视频在线| caoporn国产精品| 国产美女搞久久| 99热这里只有精品66| 成人免费毛片嘿嘿连载视频| 久久精品国产一区二区三区日韩 | 色偷偷偷亚洲综合网另类| 亚洲欧美综合7777色婷婷| 婷婷亚洲综合| 久久久亚洲精品视频| youjizz在线视频| 日韩电影免费在线观看网站| 91精品视频播放| 欧美一级特黄aaaaaa| 26uuu亚洲综合色| 亚洲一区二区三区精品视频| 99自拍视频在线观看| 午夜精品福利视频网站| 青青青在线播放| 香蕉久久一区| 亚洲国产精品悠悠久久琪琪| 亚洲黄色小说视频| 欧美成人日韩| 日韩av片免费在线观看| 国产精品玖玖玖| 成人免费观看视频| 亚洲国产欧美不卡在线观看| 日本孕妇大胆孕交无码| 欧美性xxxxx| 三日本三级少妇三级99| 网红女主播少妇精品视频| www.久久久久久.com| 日韩女优在线观看| 久久99国产精品久久99果冻传媒| 国产区二精品视| 麻豆网站在线| 色系网站成人免费| 四虎永久免费观看| 99久久久久| 国产成人a亚洲精品| 国产精彩免费视频| 日本欧美不卡| 亚洲精品www久久久| 三级黄色片在线观看| 国产亚洲欧洲| 成人做爰66片免费看网站| av电影在线播放高清免费观看| 亚洲第一搞黄网站| 亚洲18在线看污www麻豆| 精品一区欧美| 国语自产在线不卡| 国产丰满美女做爰| 中文av一区二区| 欧美性久久久久| 成人涩涩网站| 欧美高清视频在线| 国产乱淫a∨片免费视频| 中文字幕欧美日韩一区| 日韩一级在线免费观看| 欧美亚洲tv| 久久久久久久爱| www.国产黄色| 亚洲欧美日韩一区| 色播五月综合网| 日本午夜一区| 国产精品成人观看视频国产奇米| 天天操天天操天天操| 亚洲国产欧美一区二区三区丁香婷| 日本肉体xxxx裸体xxx免费| 亚洲涩涩av| 欧美亚洲一级片| 少妇激情av一区二区| 亚洲网友自拍偷拍| 久久久久国产免费| 国产一区二区三区四区三区四| 亚洲精品免费在线视频| 二区三区在线观看| 日韩一区二区三区在线视频| 强乱中文字幕av一区乱码| 国产精品综合视频| 色综合久久88色综合天天6| jizzzz日本| 色综合咪咪久久网| 成人xxxxx| 国产在线激情| 日韩欧美国产精品一区| 免费无码毛片一区二区app| 国产成人av电影在线| 国产又粗又长又爽视频| 大奶在线精品| 欧美中文在线免费| 玖玖综合伊人| 欧美色电影在线| 亚洲天堂黄色片| 成人激情免费网站| 成人免费观看视频在线观看| 国产欧美一区| 国产欧美在线视频| 牛牛电影国产一区二区| 日韩成人在线网站| 亚洲乱码国产乱码精品| 国产精品少妇自拍| 免费欧美一级片| 99国产精品私拍| 日韩精品在在线一区二区中文| 免费视频观看成人| 欧美国产日韩一区二区在线观看| 日本波多野结衣在线| 日韩欧美中文字幕在线观看| 亚洲a∨无码无在线观看| 国产一区二区三区日韩| 国产深夜男女无套内射| 欧美丝袜激情| 99久久一区三区四区免费| 成人影院在线视频| 中文字幕亚洲欧美日韩在线不卡| av网站在线观看免费| 欧美日韩亚洲激情| 久久久精品少妇| 成人h动漫精品一区二| 亚洲爆乳无码专区| 欧美精品一级| 奇米视频888战线精品播放| 天堂久久av| 国产精品久久久久久久久免费看| 26uuu亚洲电影在线观看| 亚洲精品自产拍| 国产夫绿帽单男3p精品视频| 欧美视频在线免费看| 久久久久久久久网站| 日韩一级片免费| 777奇米成人网| 国产精品乱子伦| 亚洲美女在线一区| 久久久久久久久久久久| 成人国产精品免费观看视频| 五月天av在线播放| 久久亚洲影院| 欧美一级欧美一级| 亚洲久久久久| 婷婷久久伊人| 日本一区福利在线| www.久久草| 亚洲精品aa| 国产97在线亚洲| 爱啪啪综合导航| 欧美成人精品在线观看| 中文字幕日本在线| 日韩精品在线电影| 免费国产羞羞网站视频| 91精品国产色综合久久不卡电影| 精品欧美一区二区三区免费观看| 亚洲黄色片在线观看| 麻豆一区在线观看| 国产欧美一区二区三区沐欲| 国产老熟女伦老熟妇露脸| 国产一区 二区 三区一级| 亚洲精品综合在线观看| 日韩精品一级中文字幕精品视频免费观看 | 久久精品欧美一区| 亚洲一区精彩视频| 欧美精品久久久久久 | 成人情趣视频| 青青草成人激情在线| 免费国产自久久久久三四区久久| 国产女人水真多18毛片18精品| 日韩在线精品强乱中文字幕| 亚洲自拍偷拍色片视频| 综合久久伊人| 4444kk亚洲人成电影在线| 精品国产麻豆| 91久久国产自产拍夜夜嗨| 欧美不卡在线观看| 亚洲一区亚洲二区| 蜜桃在线一区| 国产chinese精品一区二区| 日韩在线观看中文字幕| 成人三级在线| 欧美日韩大片免费观看| 看欧美日韩国产| 国产日产一区| 视频一区二区三区免费观看| 欧美中文一区二区| 一区二区三区|亚洲午夜| 91精品婷婷色在线观看| 中文字幕精品在线播放| 欧美日韩天堂| 免费看的黄色大片| 久久人人超碰| 小泽玛利亚视频在线观看| 久久成人精品无人区| 在线播放免费视频| 国产69精品久久99不卡| 亚洲欧美视频在线播放| 久久精品一区二区三区av| 快灬快灬一下爽蜜桃在线观看| 国产精品久久久久影院| 麻豆成人在线视频| 精品久久久久久中文字幕一区奶水 | 欧美日韩国产精品一区二区三区四区| 国产成人免费观看视频| 91福利精品第一导航| 国产精品熟女久久久久久| 亚洲а∨天堂久久精品9966| 国产在线黄色| 欧美尺度大的性做爰视频| av在线视屏| 国产精品一区二区3区| xxxxxhd亚洲人hd| 欧美日韩一区综合| 久久久五月天| 日本三级免费网站| 久久机这里只有精品| youjizz.com日本| 国产欧美日本一区二区三区| 91视频青青草| 色综合天天综合在线视频| 亚洲中文字幕在线一区| 亚洲成人激情在线| 亚洲s色大片| 51午夜精品视频| 97色婷婷成人综合在线观看| 蜜桃久久影院| 女生裸体视频一区二区三区| 亚洲精品中文字幕无码蜜桃| 国内精品久久久久影院色| 国产乱了高清露脸对白| 亚洲日本中文字幕区| 免费的毛片视频| 欧美大黄免费观看| 成人在线二区| 8x拔播拔播x8国产精品| 久久久久久久久久久久电影| 欧美色图亚洲自拍| 激情欧美丁香| 做a视频在线观看| 国产日韩影视精品| 日韩免费视频网站| 欧美成人福利视频| 米奇精品一区二区三区| 日本一欧美一欧美一亚洲视频| 我要色综合中文字幕| 亚洲欧洲精品一区二区三区波多野1战4 | 中文字幕v亚洲ⅴv天堂| 蜜桃视频在线观看免费视频| 亚洲bt欧美bt日本bt| 色欧美自拍视频| 超碰影院在线观看| 久久免费视频色| 国产精品99re| 日韩视频不卡中文| 蜜桃视频网站在线观看| 国产精品美女无圣光视频| 亚洲精品456| 国产97在线 | 亚洲| a美女胸又www黄视频久久| 欧美日韩国产精品一区二区三区 | 欧美重口另类videos人妖| av不卡一区二区| 国产91视频一区| 国产一区二区看久久| 久草综合在线视频| 欧美丰满少妇xxxxx高潮对白| h视频在线免费| 国产精品国语对白| 欧美日韩久久精品| 国产v亚洲v天堂无码久久久| 2020国产精品| 最新中文字幕一区| 亚洲欧美中文字幕在线一区| 成人小电影网站| 日本一区免费在线观看| 久久久久网站| 亚洲一级片在线播放| 欧美视频一区二区三区四区| av在线电影网| 成人有码视频在线播放| 欧美一区久久| 精品人妻一区二区免费| 黄色91在线观看| 青春有你2免费观看完整版在线播放高清| 午夜精品一区二区三区在线视| 成人h动漫精品一区二区器材| 黄色大片中文字幕| 26uuu亚洲综合色欧美| 国产字幕在线观看| 色偷偷av一区二区三区| av在线播放一区二区| 看全色黄大色大片| 成人av网址在线| 狠狠人妻久久久久久综合| 国产亚洲欧美一区| 91麻豆精品一二三区在线| www.99riav| 99久久精品免费| 综合久久中文字幕| 久久躁狠狠躁夜夜爽| 久久中文资源| 国产情侣av自拍| 亚洲猫色日本管| 污污网站在线免费观看| 国产v综合ⅴ日韩v欧美大片| 小处雏高清一区二区三区| 黑森林av导航| 在线免费观看成人短视频| 哥也色在线视频| 久久青青草综合| 久久精品国产99久久6| 青青草在线观看视频| 亚洲欧美国产日韩天堂区| 亚洲成人精品综合在线| 国产精品久久久久9999爆乳| 久久久一区二区三区| 国产免费黄色网址| 69**夜色精品国产69乱| 四季av一区二区凹凸精品| 亚洲av成人片无码| 欧美三级韩国三级日本一级| 日本一本在线免费福利| 神马欧美一区二区| 99久久久免费精品国产一区二区| 中文区中文字幕免费看| 91精品国产乱码久久久久久蜜臀| 日韩欧美一区二区三区在线视频|