精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

wwwwww.欧美系列| 影院欧美亚洲| 日韩一区二区三区在线| 国产午夜精品视频一区二区三区| 欧美熟女一区二区| 日韩成人免费电影| 欧美激情久久久久久| av在线网站观看| 久久香蕉国产线看观看av| 日韩精品免费一区二区在线观看| 亚洲精品美腿丝袜| 久久久久久精| 国产乱淫a∨片免费观看| 亚洲国产第一| 最近2019中文字幕大全第二页| 爱情岛论坛亚洲自拍| 日本不卡一二三| 一区二区在线观看视频在线观看| 久热国产精品视频一区二区三区| 国产又大又粗又长| 国产精品一区毛片| 精品少妇一区二区30p| 日本精品在线观看视频| 国产精品45p| 51精品视频一区二区三区| 国产极品美女高潮无套久久久| 最新av在线播放| 国产精品午夜春色av| 国产一区再线| 国产黄a三级三级看三级| 久久中文在线| 97视频免费观看| 欧美色图一区二区| 欧美wwwww| 国产亚洲一级高清| 亚洲国产欧美视频| 欧美天堂社区| 亚洲第一视频在线观看| 亚洲av无码久久精品色欲| 99riav视频一区二区| 欧美午夜影院在线视频| 国产96在线 | 亚洲| 亚洲性图自拍| 亚洲精品国产一区二区精华液| 日韩中文字幕一区| 国产视频福利在线| 久久久影视传媒| 久久精品国产精品青草色艺| 亚洲精品一区二区三区区别| 国产一区三区三区| 91亚洲精品一区| 国产精品久久777777换脸| 日韩av一级电影| 国产精品久久99久久| 激情网站在线观看| 日本三级亚洲精品| 国产精品露脸自拍| 久久国产香蕉视频| 麻豆91精品视频| 91精品国产自产在线观看永久| 中文字幕在线播放av| 日本成人在线一区| 国产欧美日韩精品丝袜高跟鞋| 少妇无套内谢久久久久| 久久超碰97中文字幕| 91丝袜美腿美女视频网站| 国产同性人妖ts口直男| 国产精品主播直播| 懂色av一区二区三区在线播放| 精品久久久久成人码免费动漫| 国产福利91精品| 国产九色精品| 日韩大胆人体| 欧美激情在线免费观看| 亚洲永久一区二区三区在线| 超碰在线免费公开| 亚洲自拍欧美精品| 日批视频在线免费看| 日韩高清中文字幕一区二区| 欧美午夜不卡视频| 色姑娘综合天天| 精品资源在线| 亚洲无av在线中文字幕| 91久久久久久久久久久久久久| 亚洲女同一区| 97超级碰碰碰久久久| 国产男人搡女人免费视频| 激情五月婷婷综合网| av一区二区三区在线观看| 熟妇高潮一区二区三区| 国产亚洲欧美色| 午夜久久久久久久久久久| av影院在线免费观看| 欧美在线色视频| ass极品水嫩小美女ass| 亚洲资源网站| 九九久久久久久久久激情| 国产午夜性春猛交ⅹxxx| 蜜臀av国产精品久久久久| 99视频在线免费观看| 久蕉依人在线视频| 亚洲黄一区二区三区| 中国丰满人妻videoshd| 中文成人在线| 精品偷拍一区二区三区在线看| 91动漫免费网站| 亚洲看片一区| 91在线高清免费观看| 酒色婷婷桃色成人免费av网| 一区二区在线观看视频| www.欧美日本| 免费萌白酱国产一区二区三区| 最近中文字幕mv在线一区二区三区四区| 男人的天堂久久久| 日产欧产美韩系列久久99| 国产精品伊人日日| 国产不卡在线| 欧美色倩网站大全免费| 网站免费在线观看| 欧美区日韩区| 成人在线视频网站| wwwww在线观看免费视频| 午夜精品久久久久久久| 在线观看日本www| 青青草成人影院| 日本欧美一级片| 好男人www在线视频| 亚洲视频在线观看一区| 日韩av片网站| 蜜桃tv一区二区三区| 欧美激情在线有限公司| 国产精品毛片一区视频播 | 欧美日韩国产高清电影| 欧美国产视频日韩| 99免费在线视频| 国产精品久久久久久久蜜臀| 成年人视频网站免费观看| 大奶一区二区三区| 久久久久久12| 亚洲av无码一区二区三区性色| 最好看的中文字幕久久| 爱爱爱爱免费视频| 欧美国产一区二区三区激情无套| 国产成人亚洲精品| 成人在线免费观看| 欧美无砖专区一中文字| 亚洲理论片在线观看| 久久精品日产第一区二区| 久久久一本精品99久久精品| 激情国产在线| 精品夜色国产国偷在线| 伊人中文字幕在线观看| 26uuu久久综合| 国产综合免费视频| 成人在线国产| 国产在线观看精品| av网址在线| 精品国产伦理网| 日韩精品一区二区av| av毛片久久久久**hd| 欧美综合在线播放| 亚洲大片精品免费| 国产精品va在线播放我和闺蜜| 国产片在线观看| 欧美日韩www| 丰满少妇被猛烈进入一区二区| 国产乱码精品1区2区3区| 国产乱子伦精品无码专区| 激情小说一区| 日韩美女视频中文字幕| 日本在线观看视频| 日韩西西人体444www| 国产午夜视频在线播放| 久久丝袜美腿综合| 亚洲xxx在线观看| 欧美日韩一卡| 欧美精品一区二区三区在线四季| 日韩不卡免费高清视频| 久久久97精品| 日本黄色三级视频| 在线观看日韩毛片| 国产乱国产乱老熟300| av中文字幕亚洲| 欧美国产日韩在线播放| 国产精品麻豆久久| 国产传媒一区| 欧美xxxx做受欧美护士| 美女999久久久精品视频| 天天综合在线视频| 欧美日韩高清一区| 免费在线观看黄网站| 亚洲国产精品二十页| 99久久综合网| 久久久久久久欧美精品| 一二三四中文字幕| 自拍偷拍欧美一区| 成人综合电影| 成人亚洲视频| 97在线免费观看视频| av中文字幕在线| 亚洲成人激情在线| 91九色蝌蚪91por成人| 五月婷婷久久丁香| 日本爱爱小视频| 久久女同精品一区二区| 欧美熟妇另类久久久久久多毛| 久久福利影视| 国产精品无码免费专区午夜| 精品国产一区二区三区| 国产高清在线一区| 不卡一区视频| 国产精品老牛影院在线观看| 色偷偷偷在线视频播放| 久久国产精品偷| gogogo高清在线观看免费完整版| 精品成人一区二区三区四区| 91福利在线观看视频| 色网站国产精品| 中文字幕第28页| 综合久久综合久久| 天堂在线中文视频| 91浏览器在线视频| 男人的天堂影院| 国产老女人精品毛片久久| 国产又大又黄又粗的视频| 日韩一级大片| 国产aaa免费视频| 中文字幕亚洲综合久久五月天色无吗''| 欧美亚洲丝袜| 亚州av一区| 国产精品一区视频| 66精品视频在线观看| 亚洲伊人一本大道中文字幕| 欧美一区=区三区| 国产精品九九九| 日本精品在线一区| 国产91久久婷婷一区二区| 超碰高清在线| 午夜精品久久久久久99热软件| 18视频在线观看网站| 久久不射电影网| 国产超级va在线视频| www.欧美免费| h视频在线观看免费| 中文字幕av日韩| seseavlu视频在线| 日韩在线视频二区| 免费a级在线播放| 日韩在线播放一区| 蜜桃视频网站在线| 久久视频在线看| 污片视频在线免费观看| 欧美大片免费观看| h片在线观看下载| 8090成年在线看片午夜| 在线人成日本视频| 国产成人福利网站| 97成人超碰| 91在线观看免费高清| 7m精品国产导航在线| 国产亚洲欧美另类一区二区三区| 综合视频一区| 麻豆av一区| 青青草国产免费一区二区下载| 亚洲免费av网| 国产精品二区影院| 一女被多男玩喷潮视频| 水蜜桃久久夜色精品一区的特点| 久久精品一区二| 久久国产日韩欧美精品| 一级黄色高清视频| 成人毛片在线观看| 国产色视频一区二区三区qq号| 国产无人区一区二区三区| 成人午夜免费影院| 亚洲一区中文在线| 狠狠人妻久久久久久综合| 欧美日韩一区精品| 亚洲成人中文字幕在线| 精品在线欧美视频| 伦xxxx在线| 性欧美在线看片a免费观看| 亚洲精品永久免费视频| 国产欧美一区二区三区在线看| 午夜日韩影院| 欧美一区二区三区四区五区六区| 国产精品99一区二区三| 日韩日韩日韩日韩日韩| 日韩精品国产精品| 国产探花一区二区三区| 久久夜色精品一区| 精品国产欧美日韩不卡在线观看| 偷偷要91色婷婷| 中文字幕一区二区人妻痴汉电车| 日韩一本二本av| 美女欧美视频在线观看免费 | 青青草原免费观看| 欧美日韩黄色大片| 99精品人妻无码专区在线视频区| 亚洲精品国产精品国自产在线 | 亚洲a视频在线观看| 亚洲精品有码在线| 成人福利片网站| 国产999精品久久久影片官网| 成人乱码手机视频| 欧美久久久久久| 国内综合精品午夜久久资源| 欧美性猛交xxx乱久交| jlzzjlzz亚洲日本少妇| 欧美日韩色视频| 黑人狂躁日本妞一区二区三区 | 怡红院av久久久久久久| 337p亚洲精品色噜噜噜| 男人天堂亚洲二区| 久久久噜噜噜久噜久久| 日韩第二十一页| 欧美日韩综合久久| 1024日韩| 涩视频在线观看| 成人免费在线观看入口| 波多野结衣激情视频| 亚洲国产成人爱av在线播放| 国产淫片在线观看| 国产日韩欧美中文在线播放| 亚洲另类春色校园小说| 国产人妻777人伦精品hd| 国产一区高清在线| 国产麻豆视频在线观看| 欧美天天综合网| 超碰国产在线| 国产91九色视频| 国产亚洲精品美女久久久久久久久久| 五十路熟女丰满大屁股| 丁香六月久久综合狠狠色| 青娱乐国产盛宴| 欧美一区二区三区男人的天堂| 日日夜夜精品一区| 国产精品自产拍在线观看中文 | 亚洲人在线视频| 综合日韩av| 欧美一级爽aaaaa大片| 久久狠狠婷婷| av男人的天堂av| 在线精品视频小说1| 国产免费av高清在线| 日韩美女免费视频| 精品视频久久| 中文字幕第88页| 亚洲色图欧美在线| 国产av无码专区亚洲a∨毛片| 久久成人在线视频| 清纯唯美激情亚洲| h无码动漫在线观看| 白白色 亚洲乱淫| 亚洲黄色小说图片| 亚洲热线99精品视频| 91天天综合| 男女h黄动漫啪啪无遮挡软件| 国产毛片精品国产一区二区三区| 特一级黄色录像| 亚洲精品一区二区三区蜜桃下载| 国产理论在线| 日本欧美色综合网站免费| 日韩成人精品视频| 国产一区二区精彩视频| 欧美α欧美αv大片| 97久久人人超碰caoprom| 久久国产精品亚洲va麻豆| 久久亚洲不卡| 三上悠亚在线观看视频| 精品久久一区二区三区| 成人短视频app| 亚洲精品成人a8198a| 国产乱人伦偷精品视频免下载| 国产大片中文字幕| 亚洲系列中文字幕| 激情五月综合婷婷| 秋霞无码一区二区| 国产精品天干天干在观线| 国产成人精品a视频| 97超碰国产精品女人人人爽| 不卡av一区二区| 国产成人精品一区二区三区在线观看| 精品久久久国产| 日本蜜桃在线观看| 国产精品国产亚洲精品看不卡15| 久久精品在线| 一区视频免费观看| 精品视频在线播放| 国产精品亚洲四区在线观看| 亚洲国产成人精品无码区99| 国产偷国产偷亚洲高清人白洁| 国产婷婷一区二区三区久久| 538国产精品一区二区免费视频| 日韩av二区| 在线免费观看a级片| 欧美电影一区二区三区| 黄色在线免费观看网站| 国产大尺度在线观看| 久久久久免费观看|