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

基準測試:Java 微服務能像Go一樣快嗎?

新聞 前端
我們在本文中提出一個問題:“Java 微服務能像 Go 一樣快嗎?”為此,我們創建了一系列微服務并進行了基準測試,并在會議上展示了我們的成果。但其中還有不少可以探索的空間,因此我們決定將在本文中進一步探討。

Peter Nagy 和我在 2020 年 8 月的甲骨文 Groundbreakers Tour 2020 LATAM 大會上發表一篇論文,題為《Go Java, Go!》。我們在本文中提出一個問題:“Java 微服務能像 Go 一樣快嗎?”為此,我們創建了一系列微服務并進行了基準測試,并在會議上展示了我們的成果。但其中還有不少可以探索的空間,因此我們決定將在本文中進一步探討。

 1. 背景介紹

我們希望通過實驗了解 Java 微服務在運行速度上能否達到 Go 微服務的水平。目前,軟件行業普遍認為 Java 已經過于陳舊、緩慢且無聊。而 Go 則成了快速、嶄新以及酷炫的代名詞。真是這樣嗎?我們想從數據的角度看看這樣的印象是否站得住腳。

我們希望建立一個公平的測試,因此創建了一項非常簡單的微服務,其中不含外部依賴項(例如數據庫),而且代碼路徑非常短(僅處理字符串)。我們在其中包含有指標及日志記錄,因為似乎一切微服務都或多或少包含這些內容。另外,我們使用了小型、輕量化的框架(Helidon for Java 以及 Go-Kit for Go),兩袖清風嘗試了 Java 的純 JAX-RS。我們也嘗試了不同版本的 Java 與不同 JVM。我們對堆大小及垃圾收集機制做出基本調整,并在測試運行前對微服務進行了預熱。

 2. Java 的發展歷史

Java 由 Sun Microsystems 公司開發,后被甲骨文所收購。其 1.0 版本發布于 1996 年,目前的最新版本是 2020 年的 Java 15。Java 當前的主要設計目標,在于實現 Java 虛擬機及字節碼的可移植性,外加帶有垃圾回收的內存管理機制。時至今日,Java 作為一種開源語言仍是全球最受歡迎的語言選項之一(根據 StackOverflow 及 TIOBE 等來源)。

下面來聊聊“Java 問題”。人們對于它速度緩慢的印象其實更多是種固有觀念,而不再適應當下的事實。如今的 Java 甚至擁有不少性能敏感區,包括存儲對象數據堆、用于管理堆的垃圾收集器,外加準時化(JIT)編譯器。

Java 微服務能像 Go 一樣快嗎?

多年以來,Java 曾先后使用多種不同的垃圾收集算法,包括串行、并行、并發標記 / 清除、G1 以及最新的 ZGC 垃圾收集器。現代垃圾收集器旨在盡可能減少垃圾收集造成的暫停時長。

甲骨文實驗室開發出一款名為 GraalVM 的 Java 虛擬機,其使用 Java 編寫而成,具有新的編譯器外加一系列令人興奮的新功能,包括可以將 Java 字節碼轉換為無需 Java 虛擬機即可運行的原生鏡像等。

 3. Go 的發展歷史

Go 語言由谷歌的 Robert Griesemer、Rob Pike 以及 Ken Thomson 開發而成。他們幾位也是 UNIX、B、C、Plan9 以及 UNIX 視窗系統等項目的主要貢獻者。作為一種開源語言,Go 的 1.0 版本發布于 2012 年,2020 年最新版本為 1.15。Go 語言的本體、采用速度以及工具生態系統的發展都相當迅猛。

Go 語言受到 C、Python、JavaScript 以及 C++ 的影響,已經成為一種理想的高性能網絡與多處理語言。

截至我們發布主題演講時,StackOverflow 上共有 27872 個帶有“Go”標簽的問題,Java 則為 1702730 個。

Go 是一種靜態類型的編譯語言,其語法類似于 C,且擁有內存安全、垃圾回收、結構化類型以及 CSP 樣式并發(通信順序過程)等功能特性。Go 還使用名為 goroutine 的輕量級進程(并非操作系統線程),外加各進程間用于通信的通道(類型化,FIFO)。Go 語言不提供競態條件保護。

Go 是眾多 CNCF 項目的首選語言,例如 Kubernetes、Istio、Prometheus 以及 Grafana 等皆是由 Go 語言編寫而成(或者大部分是)。

Go 語言在設計上強調快速構建與快速執行。到底是兩個空格還是四個空格?Go 語言表示不用麻煩,無所謂。

與 Java 相比,我將個人體會到的 Go 語言優勢整理如下:

  • 更易于實現函數模式,例如復合、純函數、不可變狀態等。
  • 樣板代碼少得多(但客觀上仍然太多)。
  • Go 語言仍處于生命周期早期,因此沒什么向下兼容壓力——改進道路較為平坦。
  • Go 代碼可編譯為原生靜態鏈接的二進制文件——無虛擬機層——二進制文件中包含程序運行所需要的一切,因此更適合“從零開始”的容器。
  • 體積更小、啟動速度快、執行速度快。
  • 無 OOP、繼承、泛型、斷言、指針算術。
  • 括號較少,例如可以實現為 if x > 3 { whatever }
  • 強制執行,沒有循環依賴性,不存在未使用的變量或導入,沒有隱式類型轉換。

但 Go 當然也不完美。與 Java 相比,我認為 Go 存在以下問題:

  • 工具生態系統還不成熟,特別是依賴項管理方面雖有多種選擇,但還都不完美。在非開源開發方面,Go 模塊在依賴項管理上優勢明顯,但由于存在某些兼容性問題,其采用率仍不算特別高。
  • 構建具有新的 / 更新依賴項的代碼時非常緩慢(例如 Maven 著稱的「下載互聯網」問題)。
  • 導入會將代碼綁定至 repo,導致代碼移動非常困難。
  • IDE 非常適合編程、文檔查找與自動補全等功能,但卻難以進行調試及概要分析等。
  • 指針!我以為二十一世紀之前就可以告別這東西了,但 Go 里面還有!好在至少已經沒有指針算法了。
  • 沒有 Java 那樣的 try/catch 異常(最終總是要用到 if err != nil),也沒有列表、映射函數等函數風格的原語。
  • 某些基本算法仍然缺失,所以用戶往往只能自行編寫。最近我就編寫了一些代碼,用 sloe 對兩個字符串(列表)進行比較以及轉換。在函數語言中,我們完全可以使用 map 等內置算法完成。
  • 沒有動態鏈接!如果要在靜態鏈接代碼當中使用 GPL 等許可,就會很不方便。
  • 用于調整執行、垃圾收集、概要分析或者優化算法的選項很少。Java 擁有數百種垃圾收集調整選項,相比之下,Go 只有一項。

 4. 負載測試方法

我們使用 JMeter 進行負載測試。測試多次調用服務,并收集關于響應時間、吞吐量(每秒事務)以及內存使用情況的數據。在 Go 方面,我們主要收集常駐集大小,Java 方面則主要跟蹤原生內存。

在多項測試中,我們都將 JMeter 與被測應用程序放置在同一臺計算機上運行。經過對比,我們發現在其他機器上運行 JMeter 幾乎不會對結果造成任何影響。后續在將應用程序部署到 Kubernetes 中時,我們會考慮將 JMeter 運行在集群之外的遠程計算機之上。

在進行測試之前,我們使用 1000 項服務調用對應用程序進行了預熱。

應用程序本體的源代碼以及負載測試定義請參見 GitHub repo:

https://github.com/markxnelson/go-java-go

 5. 首輪測試 

 在第一輪測試中,我們在小型機器上運行測試,搭載了 2.5 GHz 雙核英特爾酷睿 i7 的筆記本電腦,具有 16 GB 內存并運行 MacOS。我們運行了 100 個線程,每個線程 10000 個循環,再額外加個 10 秒的啟動時間。Java 應用程序運行在 JDK 11 與 Helidon 2.0.1 之上。Go 應用程序則使用 Go 1.13.3 進行編譯。

測試結果如下:

應用程序 日志記錄 預熱 平均響應時間(毫秒) 事務 / 內存(RSS)(開始/結束)
Golang 5.79 15330.60 5160KB / 15188KB
Golang 4.18 20364.11 5164KB / 15144KB
Golang 3.97 21333.33 10120KB / 15216KB
Java (Helidon) 12.13 8168.15 296376KB / 427064KB; 提交 = 169629KB +15976KB (NMT); 保留 =1445329KB +5148KB (NMT)
Java (Helidon) 5.13 17332.82 282228KB / 430264KB; 保留 =1444264KB +6280KB; 提交 =166632KB +15884KB
Java (Helidon) 4.84 18273.18 401228KB / 444556KB

我們宣布,Go 成為首輪測試的獲勝者!

以下為根據這些結果得出的觀察結論:

  • 日志記錄似乎是影響性能的主要問題,特別是 java.util.logging。因此,我們在啟用與禁用日志記錄兩種條件下進行了測試。我們還注意到,Go 應用程序性能主要受到日志記錄的影響。
  • 即使對于如此簡單的小型應用程序,Java 版本的內存占用量也明顯更大。
  • 預熱對 JVM 產生了很大影響——我們知道 JVM 在運行過程中會進行優化,因此預熱對 Java 應用程序特別重要。
  • 在此測試中,我們還比較了不同的執行模型——Go 應用程序被編譯為原生可執行二進制文件,而 Java 應用程序被編譯為字節碼,而后虛擬機上運行。我們還決定引入 GraalVM 原生鏡像,保證 Java 應用程序的執行環境更接近 Go 應用程序。

 6. GraalVM 原生鏡像

GraalVM 提供原生鏡像功能,使您能夠使用 Java 應用程序并在實質上將其編譯為原生可執行代碼。根據 GraalVM 項目網站的介紹:

該可執行文件包含應用程序類、依賴項中的類、運行時庫類以及 JDK 中的靜態鏈接原生代碼。其并非運行在 Java 虛擬機之上,而是包含必要組件,例如來自不同運行時系統(也被稱為「基層虛擬機」)的內存管理、線程調度等功能。基層虛擬機代表的是各運行時組件(例如反優化器、垃圾收集器、線程調度等)。

在添加 GraalVM 原生鏡像(原生鏡像由 GraalVM EE 20.1.1——JDK 11 構建而成)之后,首輪測試結果如下:

應用程序 日志記錄 預熱 平均響應時間(毫秒) 事務 / 內存(RSS)(開始/結束)
Golang 5.79 15330.60 5160KB / 15188KB
Golang 4.18 20364.11 5164KB / 15144KB
Golang 3.97 21333.33 10120KB / 15216KB
Java (Helidon) 12.13 8168.15 296376KB / 427064KB; 提交 = 169629KB +15976KB (NMT); 保留 =1445329KB +5148KB (NMT)
Java (Helidon) 5.13 17332.82 282228KB / 430264KB; 保留 =1444264KB +6280KB; 提交 =166632KB +15884KB
Java (Helidon) 4.84 18273.18 401228KB / 444556KB
Native Image 12.01 7748.27 18256KB / 347204KB
Native Image 5.59 15753.24 169765KB / 347100KB
Native Image 5.22 17837.19 127436KB / 347132KB

在這種情況下,與運行在 JVM 上的應用程序相比,我們發現使用 GraalVM 原生鏡像并不會在吞吐量或者響應時間等層面帶來任何實質性的改善,但內存占用量確實有所減少。

以下是測試期間的響應時間圖表:

Java 微服務能像 Go 一樣快嗎?首輪響應時間圖

請注意,在所有三種 Java 變體當中,第一批請求的響應時間要長得多(藍線相較于左軸的高度)而且在各項測試中,我們還看到一些峰值,其可能是由垃圾收集或優化所引起。

 7. 第二輪測試

接下來,我們決定在更大的計算機上運行測試。在本輪中,我們使用臺具有 36 個核心(每核心雙線程)、256 GB 內存的計算機,并配合 Oracle Linux 7.8 操作系統。

與第一輪一樣,我們仍然使用 100 個線程、每線程 10000 個循環,10 秒啟動時間以及相同版本的 Go、Java、Helidon 以及 GraalVM。

下面來看結果:

應用程序 日志記錄 預熱 平均響應時間(毫秒) 事務 / 內存(RSS)(開始/結束)
原生鏡像 5.61 14273.48 28256KB / 1508600KB
原生鏡像 0.25 82047.92 29368KB / 1506428KB
原生鏡像 0.25 82426.64 1293216KB / 1502724KB
Golang 4.72 18540.49 132334KB / 72433KB
Golang 1.69 37949.22 12864KB / 70716KB
Golang 1.59 39227.99 16764KB / 76996KB
Java (Helidon) 7.38 11216.42 318545KB / 529848KB
Java (Helidon) 0.40 74827.90 307672KB / 489568KB
Java (Helidon) 0.38 76306.75 398156KB / 480460KB

我們宣布,GraalVM 原生鏡像成為第二輪測試的贏家!

下面來看本輪測試的響應時間圖:

Java 微服務能像 Go 一樣快嗎?啟用日志記錄,但未經預熱的測試運行響應時間。

Java 微服務能像 Go 一樣快嗎?不使用日志記錄也未經預熱的測試運行響應時間。

Java 微服務能像 Go 一樣快嗎?經過預熱,但未使用日志記錄的測試運行響應時間

第二輪的觀察結果:

  • Java 變體在本輪測試中的性能表現大幅提升,而且在不使用日志記錄的情況下性能遠優于 Go。
  • 與 Go 相比,Java 似乎更擅長使用硬件上的多個核心與執行線程——這是因為 Go 本身主要作為系統及網絡編程語言存在,而且發展周期相對較短,因此在成熟度及優化水平上不及 Java 也很正常。
  • 有趣的是,Java 誕生之時多核心處理器并不常見,而 Go 誕生時多核處理器已經成為行業標準。
  • 具體來看,Java 似乎成功將日志記錄移交給其他線程 / 核心,因此極大減弱了其對性能的影響。
  • 本輪最佳性能來自 GraalVM 原生鏡像,其平均響應時間為 0.25 毫秒,每秒可執行 82426 項事務;Go 的最佳結果為 1.59 毫秒外加每秒 39227 項事務,而其內存占用量比前者高出兩個數量級!
  • GraalVM 原生鏡像變體的速度要比運行在 JVM 上的同一應用程序快 30% 到 40%。
  • Java 變體的響應時間更為穩定,但出現的峰值更多——我們猜測這是因為 Go 會把垃圾回收分成更多更小的批次來執行。

 8. 第三輪測試:Kubernetes

在第三輪中,我們決定在 Kubernetes 集群上運行應用程序,借此模擬更為自然的微服務運行時環境。

在本輪中,我們使用包含三個工作節點的 Kubernets 1.16.8 集群,每個工作節點中包含兩個核心(各對應兩個線程)、14 GB 內存以及 Oracle Linux 7.8。在某些測試中,我們在變體上運行一個 Pod;在其他一些測試中,我們則運行一百個 Pod。

應用程序訪問通過 Traefik 入口控制器實現,其中 JMeter 運行在 Kubernetes 集群之外。在某些測試中,我們也會嘗試使用 ClusterIP 并在集群內運行 JMeter。

與之前的測試一樣,我們使用 100 個線程、每線程 10000 個循環,外加 10 秒啟動時間。

以下是各個變體的容器大小:

  • Go 11.6MB
  • Java/Helidon 1.41GB
  • Java/Helidon JLinked 150MB
  • 原生鏡像 25.2MB

以下為本輪測試結果:

響應時間圖表:

Java 微服務能像 Go 一樣快嗎?Kubernetes 測試中的響應時間

在本輪中,可以看到 Go 有時更快,而 GraalVM 原生鏡像也經常取得領先,但二者的差異很小(一般低于 5%)。

 9. 測試結論

縱觀幾輪測試與結果,我們得出了以下結論:

  • Kubernetes 似乎沒有快速橫向擴展。
  • Java 似乎比 Go 更關于利用全部可用核心 / 線程,我們發現 Java 測試期間 CPU 的利用率更高。
  • 在核心及內存容量更高的計算機上,Java 性能更好;在較小 / 性能較弱的計算機上,Go 性能更好。
  • Go 的性能總體上更加一致,這可能是由于 Java 中的垃圾回收機制所致。
  • 在“生產規模”計算機上,Java 的運行速度與 Go 基本相當、甚至更快一點。
  • 日志記錄似乎成為 Go 及 Java 中的主要性能瓶頸。
  • Java 的現代版本以及 Helidon 等新型框架在消除 / 減輕 Java 長期存在的某些重大問題(例如冗長、GC 性能、啟動時間等)擁有良好的表現。

 10. 未來展望

  • 經過這輪有趣的測試,我們打算繼續探索,特別是:
  • 我們打算通過 Kubernetes 自動擴展做更多工作,包括引入更復雜的微服務或更高的負載以凸顯出性能上的差異。
  • 我們希望研究更復雜的微服務、多種服務類型以及模式,觀察網絡如何影響性能,以及應如何對微服務網絡進行調優。
  • 我們還打算深挖日志記錄問題,了解解決此瓶頸的方法。
  • 我們希望查看目標代碼并比較當前正在執行的實際指令,看看能否在代碼路徑中做出進一步優化。
  • 我們希望了解 JMeter 能否在不成為瓶頸的同時產生足夠多的負載,但此次測試結果表明 JMeter 并不構成影響,而是能夠輕松跟上 Go 與 Java 實現的運行步伐。
  • 我們打算對容器啟動時間、內存占用量等指標做出更詳細的測量。
責任編輯:張燕妮 來源: 架構頭條
相關推薦

2021-04-12 10:20:20

Java微服務Go

2020-11-12 08:30:38

Java微服務Go

2021-01-14 09:55:21

Java微服務Go

2023-04-05 14:19:07

FlinkRedisNoSQL

2021-08-12 06:08:15

CSS 技巧組件狀態

2020-01-09 17:03:29

人工智能技術算法

2021-08-27 06:41:34

Docker ContainerdRun&Exec

2022-07-28 14:46:01

人工智能機器人計算機科學

2013-12-17 09:02:03

Python調試

2023-05-23 13:59:41

RustPython程序

2022-12-21 15:56:23

代碼文檔工具

2013-12-31 09:19:23

Python調試

2021-05-20 08:37:32

multiprocesPython線程

2013-08-22 10:17:51

Google大數據業務價值

2015-03-16 12:50:44

2015-02-05 13:27:02

移動開發模塊SDK

2011-01-18 10:45:16

喬布斯

2012-06-08 13:47:32

Wndows 8Vista

2024-08-29 08:07:59

GoAPI開發

2023-08-02 13:55:22

AI研究
點贊
收藏

51CTO技術棧公眾號

亚洲av无码一区二区二三区| 久久久久久久午夜| 国产免费的av| 亚洲毛片播放| 日韩在线免费观看视频| 韩国三级hd中文字幕有哪些| 在线视频超级| 日韩一区欧美小说| 久久五月天婷婷| 国产男男gay网站| 久久一区欧美| 欧美老少做受xxxx高潮| 欧美成人午夜精品免费| 高清久久一区| 色婷婷久久99综合精品jk白丝| 经典三级在线视频| 国产在线观看网站| 国产福利一区在线| 国产精品久久电影观看| 日本五十路女优| 在线精品国产| 国产亚洲视频中文字幕视频| 美国黄色一级视频| av在线精品| 在线观看亚洲精品视频| 国产精品333| 亚洲性图自拍| 国产精品毛片大码女人| 蜜桃视频日韩| 好男人www在线视频| 久久99精品久久久久久| 国产成人一区二区三区| 国产一区二区99| 激情综合激情| 欧美激情视频播放| 天天干中文字幕| 国产精品99在线观看| 亚洲欧美一区二区三区久久| 美女又爽又黄免费| 亚洲超碰在线观看| 日韩一级免费观看| 一级黄色大片儿| 久久久久久久性潮| 欧美亚洲高清一区| 日本熟妇人妻中出| 高清电影一区| 91国内精品野花午夜精品| 少妇高潮喷水在线观看| h片在线观看下载| 亚洲一区二区三区四区五区黄| 天堂av免费看| 性欧美1819sex性高清大胸| 自拍偷拍亚洲激情| 中文一区一区三区免费| 免费av网站在线看| 成人欧美一区二区三区黑人麻豆 | zzijzzij亚洲日本成熟少妇| 女人又爽又黄免费女仆| 奇米色欧美一区二区三区| 亚洲免费伊人电影在线观看av| 捆绑裸体绳奴bdsm亚洲| 日本韩国欧美超级黄在线观看| 亚洲精品美女在线| 亚洲一区二区三区四区五区六区 | 欧美视频1区| 猫咪在线永久网站| 国产日本欧洲亚洲| 中文网丁香综合网| 色在线视频网| 五月天亚洲精品| 国产精品欧美激情在线观看| 久久uomeier| 欧美色偷偷大香| 欧美性受xxxx黒人xyx性爽| 欧美午夜在线播放| 亚洲国产日韩欧美在线图片| 国产精品福利导航| heyzo久久| 欧美猛交ⅹxxx乱大交视频| 国产精品a成v人在线播放| 国产精品久久国产愉拍| 国产精品第一视频| 国产丰满果冻videossex| 成人午夜精品一区二区三区| 美乳视频一区二区| 在线免费观看黄色| 亚洲一二三四在线观看| 97超碰青青草| 天堂久久一区| 亚洲大胆美女视频| 精品一区二区6| 欧美不卡高清| 日本欧美黄网站| 国产情侣自拍小视频| 91丨porny丨蝌蚪视频| 亚洲一区综合| 麻豆理论在线观看| 欧美日本一道本在线视频| 国产艳妇疯狂做爰视频| 精品国产一区二区三区香蕉沈先生| 欧美成人精品一区二区| 精品人妻无码一区二区性色 | 性囗交免费视频观看| 精品理论电影| 欧美—级高清免费播放| 中文字幕一级片| 91丨porny丨首页| 国产资源第一页| 日本在线中文字幕一区二区三区| 日韩区在线观看| 日本成人免费在线观看| 亚洲欧美视频| 国产精品伊人日日| 黄色免费网站在线观看| 欧美综合久久久| 久久午夜夜伦鲁鲁片| 亚洲欧洲美洲一区二区三区| 国产成人精品在线播放| 蜜臀av午夜精品| 亚洲欧美日韩电影| 亚洲77777| 少妇精品久久久一区二区| 欧美激情一区二区三区成人 | 久草免费新视频| 韩日欧美一区二区三区| 欧美亚洲另类在线一区二区三区| xxx.xxx欧美| 91精品国产综合久久久久久 | 日韩一级片免费看| 伊人色综合久久天天人手人婷| 手机在线免费观看毛片| 九一成人免费视频| 91av视频导航| 色婷婷激情五月| 亚洲成av人片www| www.555国产精品免费| 欧美福利专区| 99re在线国产| 好看的中文字幕在线播放| 欧美一级午夜免费电影| 四虎影院中文字幕| 国产精品一区二区三区网站| 中文字幕久久一区| 粉嫩一区二区三区在线观看| 久久久久999| 国产精品视频在线观看免费| 亚洲图片激情小说| 亚洲欧美天堂在线| 亚洲综合小说| 产国精品偷在线| a毛片不卡免费看片| 亚洲国产私拍精品国模在线观看| 五月婷婷激情网| 久久综合九色综合久久久精品综合| 精品国产免费av| 久久99视频| 国产精品成人国产乱一区| 成人一区二区不卡免费| 欧美性生活影院| 99热这里只有精品4| 极品美女销魂一区二区三区| 免费看污污视频| 9国产精品午夜| 欧美一级大片在线观看| 激情小视频在线| 精品1区2区3区| 波多野结衣家庭教师| 国产精品18久久久久久久久 | www.超碰在线| 亚洲性猛交xxxxwww| 亚洲精品一区二区二区| 综合激情成人伊人| www国产视频| 石原莉奈在线亚洲二区| 一区二区日本| 国产精品久久久久久久久久白浆| 68精品久久久久久欧美| 成a人v在线播放| 91精品久久久久久久久99蜜臂| 国产精品第一页在线观看| 26uuu精品一区二区在线观看| 9久久婷婷国产综合精品性色| 希岛爱理一区二区三区| 国产三区精品| 国产91在线播放精品| 欧美第一黄网免费网站| 黄色电影免费在线看| 欧美一区二区视频免费观看| 久久夜色精品亚洲| 国产精品国产三级国产aⅴ中文 | 久久精品一区二区三区av| 亚洲欧美手机在线| 99精品免费视频| 亚洲国产日韩综合一区| 国产精品网址| 91精品久久久久久久久| 涩涩视频网站在线观看| 精品国产一区二区三区久久久狼| 亚洲欧美黄色片| 欧美日韩视频专区在线播放| 国产无遮挡又黄又爽在线观看| 中文字幕精品一区| 国产伦精品一区三区精东| 久久精品国产99久久6| 玩弄中年熟妇正在播放| 久久久久久久久99精品大| 欧美亚州在线观看| 猫咪成人在线观看| 91久久国产综合久久蜜月精品 | 成人女保姆的销魂服务| 成人动漫一区| 久久久久久国产免费| 欧美三级电影一区二区三区| 亚洲精品网址在线观看| 丰满肉嫩西川结衣av| 欧美精品在线一区二区三区| 欧美日韩综合一区二区三区| 亚洲成人免费观看| 欧美人与禽zozzo禽性配| 国产日韩欧美综合在线| 亚洲第一黄色网址| 成人av网站在线| 日韩av成人网| 国产在线视频精品一区| 日本超碰在线观看| 老牛国产精品一区的观看方式| 欧美激情视频免费看| 国产精品av久久久久久麻豆网| 正在播放精油久久| 日韩精品一区二区久久| 日韩电影免费观看在| 欧美**vk| 女女同性女同一区二区三区91| 欧美黄色影院| 精品欧美一区二区三区久久久| 北条麻妃在线一区二区免费播放 | 日韩欧美国产片| 日韩电影在线观看一区| 一本久道中文无码字幕av| 另类亚洲自拍| 亚洲人成无码www久久久| 亚洲欧美日韩综合国产aⅴ| www黄色av| 久久伊人亚洲| 亚洲欧美另类动漫| 免费日本视频一区| 涩涩网站在线看| 国模少妇一区二区三区| 日韩精品在线播放视频| 国产麻豆成人传媒免费观看| 99热这里只有精品2| 国产·精品毛片| www.555国产精品免费| 99精品久久只有精品| 国产精品无码永久免费不卡| 久久亚洲一区二区三区明星换脸 | 国产mv久久久| 日韩中文视频| 成人妇女免费播放久久久| 欧美中文高清| 国内精品一区二区| 国产成人黄色| 亚洲一区二三| 欧美成熟视频| 国产青青在线视频| 久久男女视频| 亚洲精品免费一区亚洲精品免费精品一区| 国产在线不卡视频| 88av在线播放| 久久久99精品久久| 好吊日在线视频| 亚洲va欧美va天堂v国产综合| 日韩毛片一区二区三区| 欧美日韩久久一区二区| 午夜久久久久久久久久| 亚洲精品国产精品自产a区红杏吧| 国产在线观看精品一区| 久久视频在线直播| 一个人www视频在线免费观看| 国产精品激情av在线播放| www.久久草.com| 久久伦理网站| 91av精品| 日韩欧美在线播放视频| 久久国产剧场电影| 永久免费未满蜜桃| 亚洲国产精品高清| 成人免费看片98| 91成人在线免费观看| 99精品在线看| 亚洲欧美一区二区精品久久久| 操你啦在线视频| 国产z一区二区三区| 午夜视频一区二区在线观看| 欧美一进一出视频| 激情欧美一区二区三区| 欧美美女一级片| 91美女片黄在线观看91美女| 国产97免费视频| 91国偷自产一区二区三区成为亚洲经典 | av网站在线免费| 国产成人精品综合| 加勒比视频一区| 中国 免费 av| 日本中文字幕一区二区视频 | 亚洲男人的天堂一区二区| 久久久久久91亚洲精品中文字幕| 91精品国产综合久久福利软件| 久久久资源网| 亚州av一区二区| 日韩一区二区三区高清在线观看| 日韩久久久久久久| 在线视频精品| 秘密基地免费观看完整版中文| 中文字幕一区日韩精品欧美| 99超碰在线观看| 亚洲精品大尺度| 精精国产xxxx视频在线中文版| 国产精品亚洲美女av网站| 亚洲瘦老头同性70tv| 青青青青在线视频| 国产精品18久久久久久久久| 懂色av蜜臀av粉嫩av永久| 欧美自拍偷拍一区| 经典三级在线| 日本在线精品视频| 偷拍一区二区| 日韩免费一级视频| av在线一区二区三区| 日韩高清免费av| 亚洲аv电影天堂网| 少女频道在线观看高清| 91久久久一线二线三线品牌| 五月开心六月丁香综合色啪| 日本肉体xxxx裸体xxx免费| 欧美国产激情二区三区| 狠狠狠狠狠狠狠| 一区二区三区国产视频| 欧美黄色三级| 少妇精品久久久久久久久久| 视频一区国产视频| 实拍女处破www免费看| 日韩欧美中文免费| 欧美大片aaa| 国产97在线播放| 成人精品视频| 亚洲精品自拍网| 亚洲欧美日韩小说| 亚洲高清精品视频| 欧美激情视频一区二区| 凹凸av导航大全精品| 国产婷婷一区二区三区| 91丨porny丨首页| 免费又黄又爽又猛大片午夜| 最新69国产成人精品视频免费| 色综合.com| 99re6这里有精品热视频| 成熟亚洲日本毛茸茸凸凹| 日本少妇全体裸体洗澡| 亚洲欧美综合v| 9999在线精品视频| 一本大道东京热无码aⅴ| 成人免费观看男女羞羞视频| 在线观看亚洲欧美| 自拍偷拍亚洲在线| 视频二区欧美| 欧美 日本 亚洲| 国产精品伦理一区二区| 国产成人毛毛毛片| 91高清视频在线免费观看| 国产欧美一区二区三区精品观看 | 久久免费电影网| 一区二区三区在线免费观看视频 | 亚洲精品日韩成人| 国产精品一区二区三区99| 日韩在线视频免费播放| 色悠悠久久88| 国产成人福利av| www.色偷偷.com| 夜夜操天天操亚洲| 国产高清视频免费最新在线| 成人一区二区电影| 国产精品一页| 日本妇女毛茸茸| 亚洲女人天堂色在线7777| 国产一区二区| 蜜臀av午夜一区二区三区| 亚洲日本va在线观看| 欧美日韩影视| 999视频在线观看| 日韩主播视频在线| 久久久久亚洲av成人片| 中文字幕v亚洲ⅴv天堂| 风间由美一区二区av101| 污色网站在线观看| 日韩欧美一区视频| 蜜桃成人365av| 综合操久久久| 中文字幕欧美激情| 视频污在线观看|