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

DotNET 5中的gRPC性能改進,超Golang和C++

開發 前端
還有一個月,下個月微軟.NET 5將會正式發布,在大家都關注新型語言。不知道有對.NET 5有沒有什么期待。

還有一個月,下個月微軟.NET 5將會正式發布,在大家都關注新型語言。不知道有對.NET 5有沒有什么期待。

日前官方發布了一些針對.net 5特性說明的,其中gRPC性能上的表現令人矚目。在不同gRPC服務器實現的社區運行基準測試中,.NET的QPS超越C++和Go,排在Rust之后奪得亞軍。

gRPC是現代的開源遠程過程調用框架。gRPC有許多令人興奮的功能:實時流傳輸,端到端代碼生成以及強大的跨平臺支持。

結果基于.NET 5中完成的工作。基準測試表明.NET 5服務器性能比.NET Core 3.1快60%。.NET 5客戶端性能比.NET Core 3.1快230%。

本文我們就一起來學習下.NET 5究竟使用什么黑魔法能讓性能如此大幅度的提高。

減少內存分配

去年,Microsoft給CNCF提供了.NET的gRPC的新實現。該框架建立在Kestrel和HttpClient之上的,gRPC成為.NET生態系統的一流成員。

gRPC使用HTTP/2作為其基礎協議。當涉及到性能時,快速的HTTP/2實現是最重要的因素。.NET的gRPC服務器基于Kestrel建立,Kestrel是用C#編寫的HTTP服務器,其設計中關注立足于性能,在TechEmpower基準測試中的性能最高的選手之一。而gRPC會自動從Kestrel的許多性能改進中受益。但是,.NET 5中進行了許多HTTP/2特定的優化。

減少內存分配是首先優化的部分。減少每個HTTP/2請求內存分配,就能減少垃圾回收(GC)的時間。

下面是請求超過10w個gRPC請求時候的性能分析器:

活動對象圖的鋸齒形圖案表示內存在建立,然后進行了垃圾回收。每個請求大約要分配3.9KB。

通過在HTTP / 2連接中添加了連接池,每個請求的內存分配減少了一半。它可支持對內部類型(如Http2Stream和)和公共可訪問類型(如HttpContext和HttpRequest)請求重用。

合并流后,可以進行一系列優化:

  • 重用輸入和輸出Pipe實例。
  • 重用已知的標頭字符串值。與頭重用有關,添加HTTP/偽裝頭作為已知頭。String分配使用倒數第三字節。
  • 重用了一些較小的按請求對象。
  • 當服務器處于負載狀態時,連接池非常有用,但是也需要釋放不再使用的內存。如果最近5秒鐘內HTTP請求沒有使用,則從連接池中刪除該流。

還有許多較小的減少內存分配的方法:

  • 刪除Kestrel的HTTP/2流控制中的分配。
  • 每當觸發流控制時,可重置的ManualResetValueTaskSourceCore類型將替換分配新對象。
  • 驗證HTTP請求路徑時,將數組分配替換為stackalloc。
  • 消除了一些與日志記錄有關的意外分配。
  • 如果任務已經完成,避免分配。
  • 最后通過特殊的Taskcontent-length 0字節保存字符串分配。

經過優化后,.NET 5中的每個請求內存分配只有330B,減少了92%。優化后鋸齒圖案不再出現。這樣在服務器處理10w個gRPC調用時,垃圾收集也不再會運行。

從Kestrel中讀取HTTP標頭

HTTP/2連接支持通過TCP Socket的并發請求,這個功能稱為多路復用。它允許HTTP/2有效利用連接,但是一次只能處理一個連接上的一個請求的標頭。HTTP/2的HPack標頭壓縮是有狀態的,并且取決于順序。處理HTTP/2標頭是一個瓶頸,因此要盡可能快。

優化的性能HPackDecoder。解碼器是一個狀態機,可讀取傳入的HTTP/ 2 HEADER幀。狀態機允許Kestrel在幀到達時對其進行解碼,但是解碼器在解析每個字節之后檢查狀態。另一個問題是語義值,標頭名稱和值被復制了多次。該PR的優化包括:

  • 加強解析循環。例如,如果剛剛解析了標頭名稱,則該值必須在后面。無需檢查狀態機即可確定下一個狀態。
  • 跳過所有語義解析。HPack中的文字具有長度前綴。如果知道接下來的100個字節是語義,則無需檢查每個字節。標記語義的位置并在其末尾繼續解析。
  • 避免復制語義字節。以前,原義字節在傳遞給Kestrel之前總是復制到中間數組。在大多數情況下,這不是必需的,而是可以對原始緩沖區進行切片,然后將ReadOnlySpan傳遞給Kestrel。

這些更改一起顯著減少了解析標頭所需的時間。標頭大小幾乎不再成了影響因素。解碼器標記值的開始和結束位置,然后切片該范圍。

  1. [Benchmark] 
  2. public void SmallDecode() => 
  3. _decoder.Decode(_smallHeader, endHeaders: true, handler: _noOpHandler); 
  4.  
  5.  
  6. [Benchmark] 
  7. public void LargeDecode() => 
  8. _decoder.Decode(_largeHeader, endHeaders: true, handler: _noOpHandler); 

結果:

標頭解碼后,Kestrel需要對其進行驗證和處理。例如,特殊的HTTP/2標頭:path和:method需要設置到HttpRequest.Path和HttpRequest.Method上,而其他標頭需要轉換為字符串并添加到HttpRequest.Headers集合中。

Kestrel具有已知請求標頭的概念。已知標頭是對常見請求標頭的選擇,這些請求標頭已針對快速設置和獲取進行了優化。為將HPack靜態表頭設置為已知頭添加了一條甚至更快的路徑。HPack靜態表給出了61點共同的報頭的名稱和值可被發送,而不是全名的數ID。具有靜態表ID的標頭可以使用優化的路徑繞過某些驗證,并可以根據其ID快速在集合中進行設置。為具有名稱和值的靜態表ID添加了額外的優化。

添加HPack響應壓縮

在.NET 5之前,Kestrel支持讀取請求中的HPack壓縮標頭,但不壓縮響應標頭。響應頭壓縮的明顯優勢是網絡使用量減少,但同時也具有性能優勢。為壓縮的標頭寫入幾個位比將標頭的全名和值編碼并寫入字節更快。

添加了初始HPack靜態壓縮。靜態壓縮非常簡單:如果標頭位于HPack靜態表中,則編寫ID來標識標頭,而不是較長的名稱。

動態HPack標頭壓縮更加復雜,但也帶來了更大的收益。在動態表中跟蹤響應頭的名稱和值,并分別為其分配一個ID。寫入響應的標題后,服務器將檢查表中是否包含標題名稱和值。如果匹配,則寫入ID。如果沒有,則寫入完整的標頭,并將其添加到表中以進行下一個響應。動態表有最大大小,因此向其添加標題可能會以先進先出的順序逐出其他標題。

添加了動態HPack頭壓縮。為了快速搜索頭,動態表使用基本哈希表對頭條目進行分組。為了跟蹤順序并清理除舊的標頭,會維護一個鏈接列表。為了避免分配,已刪除的條目將被合并并重新使用。

使用Wireshark抓包,可以看到示例中gRPC調用的標頭壓縮對響應大小的影響。.NET Core 3.x寫入77 B,而.NET 5僅為12B。

Protobuf消息序列化

.NET的gRPC使用Google.Protobuf包作為消息的默認序列化程序。Protobuf是一種有效的二進制序列化格式。Google.Protobuf是為提高性能而設計的,它使用代碼生成而不是反射來序列化.NET對象。可以向其中添加一些現代的.NET API和功能,以減少分配并提高效率。

Google.Protobuf最大的改進是現代.NET IO類型的支持:Span,ReadOnlySequence和IBufferWriter。這些類型允許使用Kestrel公開的緩沖區直接序列化gRPC消息。這樣可以省去Google.Protobuf在序列化和反序列化Protobuf內容時分配中間數組的麻煩。對Protobuf緩沖區序列化的支持是Microsoft和Google工程師之間多年的努力。更改分布在多個存儲庫中。

優化對Google.Protobuf緩沖區序列化的支持。這是迄今為止最大,最復雜的變化。Protobuf讀寫使用添加到C#和.NET Core的許多面向性能的功能和API:

Span和C# ref struct類型可以快速安全地訪問內存。Span表示任意內存的連續區域。使用span使我們可以序列化為托管.NET數組,堆棧分配的數組或非托管內存,而無需使用指針。Span和.NET可以防止緩沖區溢出。

stackalloc用于創建基于堆棧的數組。stackalloc是在需要較小緩沖區時避免分配的有用工具。

增加MemoryMarshal.GetReference(),Unsafe.ReadUnaligned()和Unsafe.WriteUnaligned()等低級方法,可以實現在原始類型和字節之間直接轉換。

BinaryPrimitives具有用于在.NET基本類型和字節之間進行有效轉換的輔助方法。例如,BinaryPrimitives.ReadUInt64讀取小數字節并返回無符號的64位數字。LittleEndianBinaryPrimitive提供的方法經過了最優化,并使用了向量化。

關于現代C#和.NET的一大優點是可以在不犧牲內存安全性的情況下編寫快速,高效,低級的庫。在性能方面,可以極大的壓榨你的服務器:

  1. private TestMessage _testMessage = CreateMessage(); 
  2. private ReadOnlySequence<byte> _testData = CreateData(); 
  3. private IBufferWriter<byte> _bufferWriter = CreateWriter(); 
  4. [Benchmark] 
  5. public IMessage ToByteArray() => 
  6. _testMessage.ToByteArray(); 
  7. [Benchmark] 
  8. public IMessage ToBufferWriter() => 
  9. _testMessage.WriteTo(_bufferWriter); 
  10. [Benchmark] 
  11. public IMessage FromByteArray() => 
  12. TestMessage.Parser.ParseFrom(CreateBytes()); 
  13. [Benchmark] 
  14. public IMessage FromSequence() => 
  15. TestMessage.Parser.ParseFrom(_testData); 

給Google.Protobuf添加對緩沖區序列化的支持只是第一步。要使用gRPC for .NET,需要更多工作才能利用新功能:

向Grpc.Core.Api中的gRPC序列化抽象層添加了ReadOnlySequence API和IBufferWriter

API。

更新gRPC代碼生成,以將Google.Protobuf中的更改粘貼到Grpc.Core.Api。

更新了.NET的gRPC,以使用Grpc.Core.Api中的新序列化抽象。這段代碼是Kestrel和gRPC之間的集成。由于Kestrel的IO建立在System.IO.Pipelines之上,因此可以在序列化過程中使用其緩沖區。

最終結果是gRPC for .NET將Protobuf消息直接序列化到Kestrel的請求和響應緩沖區。中間數組分配和字節副本已從gRPC消息序列化中刪除。

總結

性能是.NET和gRPC的基本功能,隨著云應用崛起,性能變得越來越重要。較低的延遲和較高的吞吐量意味著更少的服務器。高性能的應用可以節省金錢,減少能耗和構建綠色應用程序的機會。

gRPC,Protobuf和.NET 5進行大量的嘗試和更改,用來提高性能。基準測試表明,gRPC服務器RPS提高了60%,gRPC客戶端RPS提高了230%。

 

責任編輯:趙寧寧 來源: 蟲蟲搜奇
相關推薦

2009-06-29 18:04:13

Tapestry5

2021-06-10 09:40:12

C++性能優化Linux

2010-01-27 16:05:06

C++堆棧

2010-01-21 09:34:57

C++語法

2009-08-21 15:06:09

C#連接字符串

2012-02-15 09:36:50

C++ 11

2021-09-13 05:02:49

GogRPC語言

2025-01-13 06:00:00

Go語言gRPC

2022-04-29 11:52:02

API代碼HTTP

2010-01-21 14:07:14

CC++聲明

2011-04-11 13:00:08

C++結構體枚舉

2010-01-28 16:31:54

C++類型

2010-01-25 10:25:19

C++變量

2010-01-27 17:16:52

C++構造函數

2010-01-21 13:33:44

C++基類

2010-01-20 10:19:55

C++數組

2020-08-21 13:20:36

C++If ElseLinux

2010-01-26 10:42:26

C++函數

2011-05-12 18:21:42

C++

2022-02-20 23:15:46

gRPCGolang語言
點贊
收藏

51CTO技術棧公眾號

日韩精品中文字幕吗一区二区| 九七久久人人| 视频一区视频二区中文| 中文字幕欧美日韩在线| 人妻少妇偷人精品久久久任期| 里番在线播放| 久久蜜桃av一区精品变态类天堂 | 久久天天躁日日躁| 这里只有精品在线观看视频| 国产精品videossex撒尿| 1000部国产精品成人观看| 久久偷看各类wc女厕嘘嘘偷窃| 91av在线免费视频| 最新精品国产| 亚洲天堂av在线播放| 性生活在线视频| 精品欧美日韩精品| 精品成人乱色一区二区| 在线精品日韩| 免费在线国产| 国产iv一区二区三区| 国产精品久久久久久久app| 久久久久久免费观看| 大色综合视频网站在线播放| 欧美精品一区二区三区高清aⅴ| 又色又爽又高潮免费视频国产| 五月天激情在线| 国产精品美女一区二区三区| 九九九热999| 国产ts变态重口人妖hd| 秋霞成人午夜伦在线观看| 97视频在线观看免费| 久久中文免费视频| 欧美gayvideo| 中文字幕国产亚洲| 亚洲午夜久久久久久久久红桃| 日韩精品视频在线看| 欧美日韩国产在线观看| 999精品网站| 性欧美freesex顶级少妇| 一区二区三区精品久久久| 亚洲成人动漫在线| 国产网站在线免费观看| 中文字幕一区二区三| 日韩精品大片| 高清国产福利在线观看| 久久久久久久精| 久久久久资源| 三级在线播放| 2020日本不卡一区二区视频| 精品国产乱码久久久久久久软件| 亚洲不卡免费视频| 成人一区二区三区视频在线观看 | 亚洲老妇xxxxxx| 免费在线精品视频| 成人黄色网址| 一区二区三区**美女毛片| 亚洲av综合色区| 人交獸av完整版在线观看| 亚洲国产精品自拍| 日韩视频免费播放| 在线观看福利电影| 色呦呦日韩精品| 91n.com在线观看| 日韩欧美激情| 日韩视频一区二区| 高清中文字幕mv的电影| 老司机成人在线| 精品亚洲夜色av98在线观看| 性久久久久久久久久| 视频一区欧美| 日日狠狠久久偷偷四色综合免费| 婷婷激情四射网| 狠狠色狠狠色综合日日tαg| 91国内在线视频| 国产第一页在线观看| 久久国产精品无码网站| 97超碰在线播放| 亚洲区小说区图片区| 国产精品私人自拍| 四虎4hu永久免费入口| 激情黄产视频在线免费观看| 日韩欧美亚洲一二三区| 午夜免费福利视频在线观看| 国产一区二区三区黄网站| 亚洲国产成人精品一区二区 | 亚洲乱码中文字幕综合| 久激情内射婷内射蜜桃| 欧美日韩五码| 日韩午夜精品电影| 三上悠亚ssⅰn939无码播放| 久久国产成人精品| 97高清免费视频| 中文字幕乱码人妻二区三区| 国产高清精品网站| 日韩国产在线一区| 高h视频在线播放| 欧美午夜精品久久久久久超碰| 日本少妇一区二区三区| 久久av导航| 欧美激情videos| 糖心vlog精品一区二区| 国产91丝袜在线18| 亚洲国产一区二区三区在线播| 中文字幕在线观看网站| 欧美影院一区二区三区| 男人的天堂影院| 午夜激情久久| 国产精品久久二区| 无码国产精品96久久久久| 国产精品家庭影院| 国产福利视频在线播放| 亚洲一区二区三区在线免费| 亚洲一二在线观看| 精品成人av一区二区在线播放| 国产在线精品一区在线观看麻豆| 欧美日韩电影一区二区三区| 国产乱妇乱子在线播视频播放网站| 欧美色区777第一页| 三叶草欧洲码在线| 韩日欧美一区| 亚洲一区二区三区毛片| 一区二区三区视频在线观看视频| 欧美日韩在线一区| 日本国产在线视频| 欧美精品一级| 91在线免费观看网站| 91精彩在线视频| 色婷婷综合久久久中文字幕| 中文字幕在线播放一区| 欧美精品综合| 91亚洲精品久久久| 欧美黄色激情| 欧美日韩免费一区二区三区视频| 国产精品扒开腿做爽爽| 亚洲一区激情| 欧美日韩一区二区视频在线观看| a国产在线视频| 欧美精品一区二区三区蜜桃| 久久黄色免费网站| 成人午夜又粗又硬又大| 久久综合亚洲精品| 亚洲综合网站| 久久久久久久久久久av| 国产91久久久| 精品成人在线视频| 亚洲做受高潮无遮挡| 香蕉成人久久| 欧美午夜精品久久久久久蜜| 毛片无码国产| 国产亚洲精品美女久久久| 一级片在线免费播放| 中文字幕精品三区| 色播五月激情五月| 久久久久久久久久久9不雅视频| 成人福利视频在线观看| 国产在线观看a视频| 欧美一区二区在线看| 欧美成人aaa片一区国产精品| 国产精品综合久久| 无码人妻精品一区二区蜜桃网站| 成人台湾亚洲精品一区二区| 97香蕉久久夜色精品国产| 五月婷婷丁香网| 在线免费观看日本一区| 欧美成人短视频| 国产麻豆精品久久一二三| 黄色一级大片免费| 国产一区二区三区不卡av| 7m第一福利500精品视频| 国内在线免费高清视频| 欧美精品 日韩| 国产无码精品一区二区| 久久综合一区二区| 一起操在线视频| 国产精品99一区二区| 久久偷看各类wc女厕嘘嘘偷窃 | 国产一区二区三区久久久久久久久| 蜜桃视频在线观看91| 成人做爰免费视频免费看| 久久精品夜夜夜夜夜久久| 免费看日韩av| 欧美在线三级电影| 久久免费视频精品| 久久久午夜精品| 亚洲一区二区偷拍| 亚洲精品激情| 一级日韩一区在线观看| 盗摄系列偷拍视频精品tp| 国产99在线|中文| 国产精品久久久久久福利| 亚洲大胆人体av| 一级黄色大片免费| 无码av免费一区二区三区试看| 亚洲欧美va天堂人熟伦 | 欧美 日韩 国产 成人 在线观看| 狠狠色丁香久久婷婷综| 各处沟厕大尺度偷拍女厕嘘嘘| 97精品国产一区二区三区| 精品无人区一区二区三区竹菊| 成人全视频免费观看在线看| 久久久久日韩精品久久久男男| jizz视频在线观看| 欧美va亚洲va香蕉在线| 波多野结衣一二区| 婷婷综合另类小说色区| jizz亚洲少妇| 国产午夜三级一区二区三| 日批免费观看视频| 精品亚洲porn| 欧美黑人又粗又大又爽免费| 亚洲午夜91| 超碰在线免费观看97| 精品国产一区二区三区噜噜噜| 国产精品一区二区三区免费观看| 99视频这里有精品| 国产精品爽黄69天堂a| 中文字幕在线直播| 国内久久久精品| 污污影院在线观看| 久久视频中文字幕| 丝袜美腿美女被狂躁在线观看| 亚洲精品一区二区三区不| 亚洲精品.www| 日韩写真欧美这视频| 国产精品久久久久久69| 欧美图区在线视频| 麻豆成人免费视频| 欧美日韩国产一区在线| 国产精品第二十页| 夜夜揉揉日日人人青青一国产精品| 日韩精品久久久久久久的张开腿让| 2024国产精品视频| 无码人妻久久一区二区三区蜜桃| 国产一区激情在线| 精品综合久久久久| 久久se这里有精品| 天堂在线中文在线| 韩国女主播成人在线观看| 天堂网在线免费观看| 日韩国产精品久久久| 99久久国产宗和精品1上映| 先锋影音久久| av丝袜天堂网| 免费高清不卡av| 中文字幕成人免费视频| 毛片av一区二区| 久国产精品视频| 国产一区二区三区在线观看精品| 天堂中文av在线| 国产美女精品人人做人人爽| 日本网站在线看| 国产91精品入口| 青青草视频播放| 国产喂奶挤奶一区二区三区| 日本二区在线观看| 中文字幕一区二区日韩精品绯色| 欧美 日韩 国产 一区二区三区| 亚洲女同ⅹxx女同tv| 国产一级aa大片毛片| 亚洲mv大片欧洲mv大片精品| 亚欧洲精品在线视频| 性欧美疯狂xxxxbbbb| 亚洲熟女综合色一区二区三区| 在线欧美小视频| 91激情在线观看| 欧美成人a在线| 亚洲av成人精品一区二区三区在线播放 | 亚洲高清免费在线| 中文字幕在线欧美| 欧美日本一区二区三区四区| 国产同性人妖ts口直男| 亚洲成av人片在线观看香蕉| 欧美在线观看在线观看| 中文字幕av一区中文字幕天堂| caopo在线| 国外成人在线直播| 成人午夜亚洲| 国产精品国模大尺度私拍| 亚洲小说图片视频| 最新精品视频| 中文在线一区| 色91精品久久久久久久久| 成人激情视频网站| 性欧美精品男男| 有码一区二区三区| 手机av免费观看| 精品久久久久久最新网址| 精品无人乱码| 欧美黄色www| 成人国产精品| 精品麻豆av| 亚欧美无遮挡hd高清在线视频| 久久亚洲中文字幕无码| 毛片av中文字幕一区二区| 黄色在线免费播放| 亚洲欧美在线视频| 在线精品免费视| 欧美v日韩v国产v| 日日夜夜精品一区| 日本韩国在线不卡| 综合激情五月婷婷| 一区二区三区精品国产| 亚洲男女自偷自拍| 最好看的中文字幕| 国产精品色呦呦| 欧美 日韩 精品| 日韩精品一区二区三区四区| avav免费在线观看| 1769国内精品视频在线播放| 欧美成年网站| 亚洲欧洲精品在线| 久久亚洲精选| 在线精品一区二区三区| 一区二区三区不卡视频| 国产精品区在线观看| 国产亚洲精品日韩| 亚洲美女久久精品| 精品久久中出| 亚洲麻豆一区| 影音先锋资源av| 亚洲精品你懂的| 一区二区视频网站| 一本色道久久综合狠狠躁篇怎么玩 | 人妻91麻豆一区二区三区| 久久精品国产亚洲精品2020| 成人看片在线观看| 久久伊人一区| 一区二区三区四区五区精品视频| 佐佐木明希电影| 一区二区三区四区在线播放| 91成人一区二区三区| 中文字幕在线观看亚洲| av亚洲一区二区三区| 欧美一区二视频在线免费观看| 日韩视频一区| 国产福利在线观看视频| 五月天视频一区| 午夜影院免费视频| 欧美一级bbbbb性bbbb喷潮片| 九九热hot精品视频在线播放| 蜜桃视频一区二区在线观看| 国产精品羞羞答答xxdd| 免费一级片视频| 亚洲大胆美女视频| 345成人影院| 日产精品高清视频免费| 久久永久免费| 手机看片国产日韩| 欧美福利视频一区| 中文字幕有码在线视频| 国产精品免费一区二区三区在线观看 | 欧美黄色性视频| 成人爽a毛片免费啪啪红桃视频| 日日摸日日碰夜夜爽无码| 2欧美一区二区三区在线观看视频| 日日夜夜综合网| 亚洲色图美腿丝袜| 亚洲成人a级片| 久久亚洲a v| 91丨九色丨国产丨porny| 久久精品五月天| 日韩资源在线观看| 综合激情五月婷婷| 久久久久久久久久久久久国产精品 | 波多野结衣精品| 久久天天狠狠| 九九久久精品视频| 日韩精品一区二区三区国语自制| 亚洲精品一区av在线播放| 欧洲亚洲精品| 东北少妇不带套对白| 久久久久久久性| 国产免费无遮挡| 午夜精品久久久久久99热| 蜜桃一区二区| 四虎成人在线播放| 偷拍亚洲欧洲综合| 日本免费视频在线观看| 国产精品一码二码三码在线| 日本中文在线一区| 久久久久久久蜜桃| 中文字幕欧美日韩精品| 成人资源在线播放| 国产免费又粗又猛又爽| 亚洲综合偷拍欧美一区色| 毛片网站在线| 99电影在线观看| 免费亚洲电影在线| 国产黄色片视频| 在线观看视频99| 国产精品网在线观看| 亚洲 欧美 另类人妖| 亚洲国产aⅴ成人精品无吗| 成人综合影院| 久久精品国产一区二区三区不卡| 狠狠久久亚洲欧美| 国产免费一区二区三区四区五区| 欧美成人午夜激情视频| 成人在线一区|