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

99热精品在线| 综合伊人久久| 中文字幕一区二区在线播放| 亚洲在线一区二区| 91在线看视频| 日韩欧美综合| 亚洲国产精品成人av| 日韩中文字幕免费在线| 伊人春色在线观看| 26uuu精品一区二区在线观看| 国产精品爽黄69天堂a| 好吊色视频在线观看| 九色精品91| 日韩免费一区二区三区在线播放| 无码aⅴ精品一区二区三区浪潮 | 国产激情视频一区二区在线观看| 97国产真实伦对白精彩视频8| 69精品无码成人久久久久久| 亚洲开心激情| 欧美日韩一区二区三区不卡 | 国产一区白浆| 欧美成人免费播放| 欧美人与禽zoz0善交| 国产毛片久久久| 欧美精品色综合| 性高湖久久久久久久久aaaaa| www.av在线| 91丝袜美腿高跟国产极品老师 | 97久久精品| 欧美日韩精品欧美日韩精品| 免费看又黄又无码的网站| 黄色片免费在线观看| 国产欧美精品一区二区色综合朱莉| 国产福利久久精品| 99久久久无码国产精品免费| 日韩va欧美va亚洲va久久| 91国产视频在线| 欧美另类视频在线观看| 日韩中文欧美| 国产一区二区黄| 黑人巨大精品欧美| 日韩超碰人人爽人人做人人添| 日韩欧美综合在线| 超碰人人cao| 国产 日韩 欧美| 欧美日韩一二三| 中文字幕有码av| 日韩脚交footjobhd| 一区二区免费看| 久久久无码中文字幕久...| 国产秀色在线www免费观看| 国产精品午夜春色av| 日本亚洲自拍| 大胆av不用播放器在线播放| 国产亚洲成av人在线观看导航| 久久免费99精品久久久久久| 日韩在线视频免费| 成人aa视频在线观看| 国产精品一区二区不卡视频| 亚洲精品久久久久久久久久久久久久| 国产一区三区三区| 亚洲直播在线一区| 午夜精品久久久久久久96蜜桃| 国产精品一区二区果冻传媒| 114国产精品久久免费观看| 国产成人av免费看| 国产精品18久久久久久久久久久久 | av老司机免费在线| 午夜欧美2019年伦理| 免费看国产曰批40分钟| 久久r热视频| 欧美性色黄大片| 亚洲综合欧美激情| 美国十次综合久久| 精品国产乱码久久久久久图片| 伊人网综合视频| 九九久久电影| 久久精品中文字幕电影| 青青草手机在线观看| 亚洲黄色天堂| 国产成人久久久精品一区| 中文字幕 欧美激情| 国产乱码精品一区二区三区忘忧草| 国产精品男人的天堂| 一级黄色片在线观看| 国产成人综合在线观看| 蜜桃91精品入口| av亚洲在线| 亚洲国产视频在线| 毛片av免费在线观看| 超碰国产精品一区二页| 精品播放一区二区| 成人激情五月天| 欧美99久久| 日韩av黄色在线观看| 国产免费无遮挡| 91在线国产福利| 在线观看日韩羞羞视频| 97人澡人人添人人爽欧美| 在线免费观看一区| 在线观看成人动漫| 色婷婷热久久| 91精品国产色综合久久不卡98口| 伊人影院中文字幕| 99久久99久久久精品齐齐| 在线视频欧美一区| 日本а中文在线天堂| 3d动漫精品啪啪| 三级网站在线免费观看| 欧美激情1区2区| 国产精品一区二区三区免费视频| 日韩一级中文字幕| 亚洲欧美国产毛片在线| 自拍欧美一区| 波多野结衣欧美| 欧美日韩在线观看一区二区| 妖精视频在线观看| 成人三级视频| 国内精品视频在线| 国产视频第一页| 国产欧美一区二区精品性| 久久久久久人妻一区二区三区| 国产精品一区二区免费福利视频| 亚洲娇小xxxx欧美娇小| 日本青青草视频| 另类人妖一区二区av| 精品一区在线播放| 欧美videosex性欧美黑吊| 欧美日韩国产一级片| 日本二区在线观看| 国产精品入口66mio| 国产精品久久久对白| 超碰电影在线播放| 欧美精品乱人伦久久久久久| 亚洲国产天堂av| aⅴ色国产欧美| 国产乱码精品一区二区三区中文| 操你啦在线视频| 欧美久久一二区| 欧美老女人性生活视频| 久久精品男女| 日本成人黄色免费看| 午夜裸体女人视频网站在线观看| 亚洲精品一区二区精华| 免费三片在线播放| 国产成人av一区| 久久久天堂国产精品| 国产精品一区三区在线观看| 久久精品国产成人精品| 又色又爽又黄无遮挡的免费视频| 国产免费观看久久| 天天干天天操天天玩| 成人羞羞网站| 国产免费久久av| 在线a人片免费观看视频| 欧美色偷偷大香| 久久久久久久久久97| 美女www一区二区| 中文字幕一区二区三区在线乱码| 日韩久久一区| www国产亚洲精品久久网站| 91精品国产综合久| 亚洲欧洲中文日韩久久av乱码| 黄色小视频免费网站| 综合日韩在线| 国产精品一国产精品最新章节| 久久av色综合| 日韩精品丝袜在线| 男人天堂视频在线| 国产精品电影院| 欧美污在线观看| 亚洲精品影视| 日本一区网站| 成人av在线播放| 国语自产偷拍精品视频偷 | 免费在线观看的电影网站| 亚洲国产精品福利| 7799精品视频天天看| 国产精品美女www爽爽爽| 91网址在线观看精品| 一区在线播放| 日韩免费电影一区二区三区| 黄色成人小视频| 欧美激情图片区| 视频在线不卡| 欧美日韩一区视频| 久草免费新视频| 久久婷婷成人综合色| 在线免费视频一区| 亚洲一级特黄| 日韩av高清在线播放| 欧美另类中文字幕| 国产91免费看片| 国内外激情在线| 日韩经典一区二区三区| 中文字幕乱码视频| 亚洲一线二线三线久久久| 小早川怜子久久精品中文字幕| 国产精品影视天天线| 能在线观看的av| 综合视频在线| 欧美另类一区| 亚洲精品a区| 国产精品九九九| 久久不射影院| 久久精品视频在线观看| 欧洲免费在线视频| 精品欧美久久久| 中文在线a天堂| 大伊人狠狠躁夜夜躁av一区| 在线看的片片片免费| 国产偷v国产偷v亚洲高清| 波多野结衣电影免费观看| 日韩av电影天堂| 精品国产一区三区| 永久91嫩草亚洲精品人人| 日韩国产伦理| 欧美精品中文字幕亚洲专区| 18成人免费观看网站下载| 成人一区视频| 欧洲中文字幕国产精品| 狂野欧美性猛交xxxxx视频| 色av中文字幕一区| 每日更新在线观看av| 亚洲国产天堂久久综合网| 亚洲av无码专区在线| 欧美丰满高潮xxxx喷水动漫| 国产一级片av| 色婷婷综合久久久中文字幕| 日产精品久久久久| 亚洲综合一二区| www欧美com| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产精品久久国产精麻豆96堂| 91免费在线视频观看| 国产精品九九视频| 成人免费黄色在线| 无码人妻一区二区三区免费n鬼沢| 久久国产精品99精品国产| 五月天婷婷激情视频| 巨乳诱惑日韩免费av| 乱妇乱女熟妇熟女网站| 国产日韩欧美一区| 3d动漫一区二区三区| 一区二区三区国产在线| 亚洲人精品午夜射精日韩 | 国产精品你懂的在线| 无码人妻精品一区二区中文| 久久久不卡影院| 亚洲码无人客一区二区三区| 久久久99精品免费观看不卡| 青青草视频播放| 91网页版在线| 成人乱码一区二区三区av| 26uuu色噜噜精品一区二区| 性欧美丰满熟妇xxxx性仙踪林| 96av麻豆蜜桃一区二区| 亚洲综合自拍网| 久久蜜桃一区二区| 亚洲午夜精品久久久久久高潮| 91香蕉国产在线观看软件| 毛片网站免费观看| 欧美国产精品v| www.xxxx日本| 亚洲国产日韩av| www.国产一区二区| 欧美伊人精品成人久久综合97| 国产精品露脸视频| 欧美乱妇23p| 性一交一乱一色一视频麻豆| 精品国产乱码久久久久久牛牛| 视频一区二区三区国产| 亚洲午夜久久久影院| 日本三级视频在线播放| 久久91精品国产| 涩涩视频在线免费看| 国产精品免费福利| 久久精品一级| 麻豆91av| 欧美电影一区| 无码av天堂一区二区三区| 噜噜噜久久亚洲精品国产品小说| 欧美特级aaa| 国产91色综合久久免费分享| 中文字幕日韩三级片| 国产精品妹子av| 国产一级免费av| 91国产免费观看| 精品人妻久久久久一区二区三区 | 久草在线网址| 久久精品中文字幕免费mv| 久草在线资源站手机版| 国产欧美韩国高清| 日韩av影院| japanese在线视频| 国产欧美一区二区色老头 | 欧美成人xxxx| 国产精品一区在线观看| 久久国产精品成人免费观看的软件| 国产欧美123| 日本欧洲一区二区| 国模无码视频一区| 最新久久zyz资源站| 欧美激情亚洲综合| 欧美一区二区在线免费播放| 欧美挠脚心网站| 欧美日韩不卡合集视频| 99久久婷婷国产综合精品首页| 国产麻豆一区二区三区在线观看| 欧美电影免费观看高清| av动漫在线观看| 国产91在线观看丝袜| 欧美福利在线视频| 色综合咪咪久久| 亚洲AV无码精品自拍| 中文字幕亚洲天堂| 东京一区二区| 国产亚洲欧美一区二区三区| 天天做天天爱天天综合网2021| 欧美 日韩精品| thepron国产精品| 欧美激情图片小说| 精品视频一区二区不卡| 欧美少妇另类| 91成人性视频| 精品综合久久88少妇激情| 潘金莲一级淫片aaaaa免费看| 青青草国产成人99久久| 六月婷婷七月丁香| 欧美色另类天堂2015| 亚洲色欧美另类| 国模叶桐国产精品一区| 欧美日本三级| 精品无码av无码免费专区| 精品一区二区免费| 精品一区二区在线观看视频| 色欧美片视频在线观看| 欧美偷拍视频| 1769国内精品视频在线播放| 精品国产导航| 18禁网站免费无遮挡无码中文| 高清视频一区二区| 久久精品一区二区三| 日韩欧美国产精品| 日韩av毛片| 97久久人人超碰caoprom欧美| 影视一区二区| 久久久国产精品久久久| 亚洲蜜桃精久久久久久久| 99久久国产免费| 色与欲影视天天看综合网| 天堂久久av| www.av片| 99精品视频中文字幕| √资源天堂中文在线| 亚洲欧洲日产国产网站| 欧美日韩不卡| 一区二区三区四区欧美| 国产在线播放一区三区四| 亚洲伦理一区二区三区| 日韩一区二区三区观看| 男女在线观看视频| 久久99蜜桃综合影院免费观看| 性久久久久久| 我不卡一区二区| 欧美日韩一区久久| 超碰在线caoporn| 国产伦精品一区二区三区免费视频| 99视频精品免费观看| 精品无码国产污污污免费网站| 欧美天天综合网| 最新日本在线观看| 久久综合九色99| 日韩av高清在线观看| 欧美日韩免费做爰视频| 亚洲精品成人网| 亚洲国产尤物| 国产一区一区三区| av不卡免费在线观看| 无码人妻熟妇av又粗又大| www.xxxx精品| 久久中文字幕导航| 少妇一级淫免费放| 亚洲国产综合视频在线观看| 欧美日韩视频精品二区| 成人黄色在线免费| 亚洲深夜av| 免费精品在线视频| 亚洲精品在线观看网站| 欧美艳星kaydenkross| 四虎永久免费网站| 成人免费高清在线观看| 欧美激情一区二区三区免费观看 | 老熟妇高潮一区二区三区| 亚洲精品在线网站| 五月天色综合| 日韩少妇内射免费播放18禁裸乳| 国产精品美女久久久久aⅴ| 熟妇人妻中文av无码| 91精品国产自产在线老师啪|