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

Fasthttp 為什么比標準庫快 10 倍 ?

開發 前端
本文不會講解 fasthttp 的應用方法,而是會重點分析 fasthttp 高性能的背后實現原理。

概述

fasthttp? 是一個使用 Go 語言開發的 HTTP 包,主打高性能,針對 HTTP 請求響應流程中的 hot path? 代碼進行了優化,達到零內存分配,性能比標準庫的 net/http 快 10 倍。

上面是來自官方 Github 主頁的項目介紹,拋開其介紹內容不談,光從名字本身來看,作者對項目代碼的自信程度可見一斑。

本文不會講解 fasthttp? 的應用方法,而是會重點分析 fasthttp 高性能的背后實現原理。

基準測試

我們可以通過基準測試看看 fasthttp? 是否真的如描述所言,吊打標準庫的 net/http,下面是官方提供的基準測試結果:

net/http

$ GOMAXPROCS=4 go test -bench='HTTPClient(Do|GetEndToEnd)' -benchmem -benchtime=10s
BenchmarkNetHTTPClientDoFastServer-4 2000000 8774 ns/op 2619 B/op 35 allocs/op
BenchmarkNetHTTPClientGetEndToEnd1TCP-4 500000 22951 ns/op 5047 B/op 56 allocs/op
BenchmarkNetHTTPClientGetEndToEnd10TCP-4 1000000 19182 ns/op 5037 B/op 55 allocs/op
BenchmarkNetHTTPClientGetEndToEnd100TCP-4 1000000 16535 ns/op 5031 B/op 55 allocs/op
BenchmarkNetHTTPClientGetEndToEnd1Inmemory-4 1000000 14495 ns/op 5038 B/op 56 allocs/op
BenchmarkNetHTTPClientGetEndToEnd10Inmemory-4 1000000 10237 ns/op 5034 B/op 56 allocs/op
BenchmarkNetHTTPClientGetEndToEnd100Inmemory-4 1000000 10125 ns/op 5045 B/op 56 allocs/op
BenchmarkNetHTTPClientGetEndToEnd1000Inmemory-4 1000000 11132 ns/op 5136 B/op 56 allocs/op

fasthttp

$ GOMAXPROCS=4 go test -bench='kClient(Do|GetEndToEnd)' -benchmem -benchtime=10s
BenchmarkClientDoFastServer-4 50000000 397 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd1TCP-4 2000000 7388 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd10TCP-4 2000000 6689 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd100TCP-4 3000000 4927 ns/op 1 B/op 0 allocs/op
BenchmarkClientGetEndToEnd1Inmemory-4 10000000 1604 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd10Inmemory-4 10000000 1458 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd100Inmemory-4 10000000 1329 ns/op 0 B/op 0 allocs/op
BenchmarkClientGetEndToEnd1000Inmemory-4 10000000 1316 ns/op 5 B/op 0 allocs/op

基準結果對比

從基準測試結果來看,fasthttp? 的執行速度要比標準庫的 net/http? 快很多,此外,fasthttp? 的內存分配方面優化到了 0?, 完勝 net/http。

核心優化點

筆者選擇的 valyala/fasthttp[1] 版本為 v1.45.0。

對象復用

workerPool

workerpool? 對象表示 連接處理? 工作池,這樣可以控制連接建立后的處理方式,而不是像標準庫 net/http? 一樣,對每個請求連接都啟動一個 goroutine? 處理, 內部的 ready? 字段存儲空閑的 workerChan? 對象,workerChanPool? 字段表示管理 workerChan 的對象池。

// workerpool.go
type workerPool struct {
ready []*workerChan

workerChanPool sync.Pool
}

type workerChan struct {
lastUseTime time.Time
ch chan net.Conn
}

請求/響應 對象

請求對象 Request? 和響應對象 Response 都是通過對象池進行管理的,對應的代碼如下:

// client.go

var (
requestPool sync.Pool
responsePool sync.Pool
)

// 從對象池中獲取 Request 對象
func AcquireRequest() *Request {
...
}

// 歸還 Request 對象到對象池中
func ReleaseRequest(req *Request) {
...
}

// 從對象池中獲取 Response 對象
func AcquireResponse() *Response {
...
}

// 歸還 Response 對象到對象池中
func ReleaseResponse(resp *Response) {
...
}

Cookie 對象

Cookie 對象也是通過對象池進行管理的,對應的代碼如下:

// cookie.go

var cookiePool = &sync.Pool{
New: func() interface{} {
return &Cookie{}
},
}

// 從對象池中獲取 Cookie 對象
func AcquireCookie() *Cookie {
...
}

// 歸還 Cookie 對象到對象池中
func ReleaseCookie(c *Cookie) {
...
}

其他對象復用

$ grep -inr --include \*.go "sync.Pool" $(go list -f {{.Dir}} github.com/valyala/fasthttp) | wc -l

# 輸出如下
38

通過輸出結果可以看到,fasthttp? 中一共有 38 個對象是通過對象池進行管理的,可以說幾乎復用了所有對象,So Crazy!

[]byte 復用

fasthttp? 中復用的對象在使用完成后歸還到對象池之前,需要調用對應的 Reset? 方法進行重置,如果對象中包含 []byte? 類型的字段, 那么會直接進行復用,而不是初始化新的 []byte?, 例如 URI? 對象的 Reset 方法:

// 重置 URI 對象
// 從方法的內部實現中可以看到,類型為 []byte 的所有字段都被復用了
func (u *URI) Reset() {
u.pathOriginal = u.pathOriginal[:0]
u.scheme = u.scheme[:0]
u.path = u.path[:0]
u.queryString = u.queryString[:0]
u.hash = u.hash[:0]
u.username = u.username[:0]
u.password = u.password[:0]

u.host = u.host[:0]
...
}

此外,涉及到單個字段的修改,如果字段是 []byte? 類型,還是會直接復用,例如 Cookie 對象的這幾個方法:

func (c *Cookie) SetValue(value string) {
c.value = append(c.value[:0], value...)
}

func (c *Cookie) SetValueBytes(value []byte) {
c.value = append(c.value[:0], value...)
}

func (c *Cookie) SetKey(key string) {
c.key = append(c.key[:0], key...)
}

func (c *Cookie) SetKeyBytes(key []byte) {
c.key = append(c.key[:0], key...)
}

上面幾個方法的內部實現中,無一例外,都對 []byte 類型的參數進行了復用。

[]byte 和 string 轉換

fasthttp? 專門提供了 []byte? 和 string? 這兩種常見的數據類型相互轉換的方法 ,避免了 內存分配 + 復制,提升性能。

// s2b_new.go
func b2s(b []byte) string {
return *(*string)(unsafe.Pointer(&b))
}

// b2s_new.go
func s2b(s string) (b []byte) {
bh := (*reflect.SliceHeader)(unsafe.Pointer(&b))
sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
bh.Data = sh.Data
bh.Cap = sh.Len
bh.Len = sh.Len
return b
}

高性能的 bytebufferpool

fasthttp? 并沒有直接使用標準庫中的 bytes.Buffer? 對象,而是引用了作者的另外一個包 valyala/bytebufferpool[2], 這個包的核心優化點是 避免內存拷貝 + 底層 byte 切片復用,感興趣的讀者可以看看官方給出的 基準測試結果[3]。

避免反射

fasthttp? 中的所有 對象深拷貝? 內部實現中都沒有使用 反射?,而是手動實現的,這樣可以完全規避 反射? 帶來的影響,例如 Cookie 對象的拷貝實現:

// cookie.go
// Cookie 對象拷貝實現
func (c *Cookie) CopyTo(src *Cookie) {
c.Reset()
c.key = append(c.key, src.key...)
c.value = append(c.value, src.value...)
c.expire = src.expire
c.maxAge = src.maxAge
c.domain = append(c.domain, src.domain...)
c.path = append(c.path, src.path...)
c.httpOnly = src.httpOnly
c.secure = src.secure
c.sameSite = src.sameSite
}

從上面的代碼中可以看到,拷貝? 的內部實現就是手動挨個復制字段,非常 原始 的解決方案。

另外,請求對象 Request? 和響應對象 Response? 的拷貝實現和 Cookie 有異曲同工之處:

// client.go
func (req *Request) CopyTo(dst *Request) {
...
}

func (resp *Response) CopyTo(dst *Response) {
...
}

fasthttp 的問題

軟件工程沒有銀彈,高性能的背后必然是以某些條件作為代價的,fasthttp 的主要問題有:

  • ? 降低了代碼可讀性 (如果不了解 fasthttp 的設計理念,貿然讀代碼很可能無法理解各種方法實現)
  • ? 增加了開發復雜性,代碼開發量要比使用標準庫高,對象復用導致了 申請/歸還 流程彷佛回到了 C/C++ 語言手動管理內存模式
  • ? 增加了開發者心智負擔,如果已經習慣了標準庫的開發模式,很容易寫出 Bug
  • ? 如果業務中有 異步? 處理場景,框架核心的 對象復用 機制可能導致各種問題,如對象提前歸還、對象指針 hang 起、還有更嚴重的對象字段被重置后繼續引用 (這類業務邏輯問題比較難排查)

多核系統的性能優化技巧

  • ? 使用 reuseport 監聽 (SO_REUSEPORT 允許在多核服務器上線性擴展服務器性能,詳細信息請參閱 這個鏈接[4] )
  • ? 使用 GOMAXPROCS=1 為每個 CPU 核運行一個單獨的服務器實例 (進程和 CPU 綁定)
  • ? 確保多隊列網卡的中斷均勻分布在 CPU 內核之間,詳細信息請參閱 [這個鏈接](https://blog.cloudflare.com/how-to-achieve-low-latency/

fasthttp 最佳實踐

  • ? 盡可能復用對象和 []byte buffers, 而不是重新分配
  • ? 使用 []byte 特性技巧
  • ? 使用 sync.Pool 對象池
  • ? 在生產環境對程序進行性能分析,go tool pprof --alloc_objects app mem.pprof 通常比 go tool pprof app cpu.pprof 更容易體現性能瓶頸
  • ? 為 hot path 上的代碼編寫測試和基準測試
  • ? 避免 []byte 和 string 直接進行類型轉換,因為這可能會導致 內存分配 + 復制,可以參考 fasthttp 包內的 s2b 方法和 b2s 方法
  • ? 定期對代碼進行 競態檢測[5], 一般會直接集成到 CI 中
  • ? 使用 quicktemplate 而非 html/template 模板

是否采用 fasthttp

fasthttp? 是為一些高性能邊緣場景設計的,如果你的業務需要支撐較高的 QPS? 并且保持一致的低延遲時間,那么采用 fasthttp? 是非常合理的, 反之 fasthttp? 可能并不適合 (增加開發復雜度和開發者心智負擔)。大多數情況下,標準庫 net/http? 是更好的選擇,因為它簡單易用并且兼容性很高。 如果你的業務流量很少,那么兩者之間的 所謂性能差異 幾乎可以忽略。

Reference

  • ? Go 高性能代碼的 30 個 Tips
  • ? valyala/fasthttp[6]
  • ? fasthttp中運用哪些go優化技巧?
  • ? fasthttp 快在哪里[7]
  • ? fasthttp剖析[8]

引用鏈接

[1]? valyala/fasthttp: ??https://github.com/valyala/fasthttp??

[2]? valyala/bytebufferpool: ??https://github.com/valyala/bytebufferpool??

[3]? 基準測試結果: ??https://omgnull.github.io/go-benchmark/buffer/??

[4]? 這個鏈接: ??https://www.nginx.com/blog/socket-sharding-nginx-release-1-9-1/??

[5]? 競態檢測: ??https://go.dev/doc/articles/race_detector??

[6]? valyala/fasthttp: ??https://github.com/valyala/fasthttp??

[7]? fasthttp 快在哪里: ??https://xargin.com/why-fasthttp-is-fast-and-the-cost-of-it/??

[8]? fasthttp剖析: https://www.jianshu.com/p/a0e766f8dcb0

責任編輯:武曉燕 來源: 洋芋編程
相關推薦

2024-03-08 07:58:13

QPShttpsync

2016-12-14 12:02:01

StormHadoop大數據

2017-02-14 14:20:02

StormHadoop

2022-11-02 08:12:47

TurbopackVite

2017-03-23 14:37:19

WebAssemblyasm.js編程

2025-07-10 14:54:13

AI模型圖像生成

2015-01-16 10:43:09

WiGigWiFi

2011-06-29 09:31:58

3G4G5G

2022-10-27 08:31:31

架構

2021-07-28 14:20:13

正則PythonFlashText

2021-01-21 07:53:29

面試官Promis打印e

2024-03-26 10:13:54

日志引擎SigLens

2025-01-22 08:29:18

索引查詢優化

2025-02-04 17:24:22

2016-08-09 21:18:31

5G4G5G網絡

2025-08-18 09:21:07

2021-03-08 09:05:47

數據傳輸新線纜數據中心

2020-02-12 15:02:15

人工智能機器學習技術

2020-02-27 21:03:30

調度器架構效率

2024-02-26 21:15:20

Kafka緩存參數
點贊
收藏

51CTO技術棧公眾號

一区二区在线免费视频| 黑人精品xxx一区一二区| 91精品视频在线播放| 成人免费精品动漫网站| 久久99成人| 亚洲成人一区二区在线观看| 久久人人九九| 一级淫片免费看| 在线欧美一区| 最近2019中文字幕一页二页| 国产精品99精品无码视亚| 精精国产xxxx视频在线野外 | 国产精品久久久久7777婷婷| 看黄色录像一级片| 三级精品视频| 91精品国产欧美一区二区成人| 国产毛片视频网站| 伊人免费在线| 2023国产精品| 51精品国产人成在线观看| 成人午夜淫片100集| 真实国产乱子伦精品一区二区三区| 日韩av最新在线观看| 亚洲午夜激情影院| 二区三区不卡| 亚洲成在人线免费| 黄色污污在线观看| 最新97超碰在线| 91在线小视频| 国产精品美女xx| 国产又粗又大又黄| 日韩精品乱码av一区二区| 久久久久久久久久国产| 中国毛片直接看| 色婷婷亚洲mv天堂mv在影片| 国产视频亚洲精品| 黄色性视频网站| 电影一区中文字幕| 欧美视频完全免费看| 免费在线观看亚洲视频| 性xxxxfjsxxxxx欧美| 国产精品看片你懂得| 奇米视频888战线精品播放| 人妻无码一区二区三区久久99 | 国产男人精品视频| 无码人妻精品一区二区| 国产欧美日韩一级| 国a精品视频大全| 黄色一级视频免费| 欧美 日韩 国产一区二区在线视频| 中文字幕av一区| 婷婷色一区二区三区| 亚洲黄页在线观看| 亚洲精品小视频| 波多野吉衣中文字幕| 天堂av一区二区三区在线播放| 亚洲精品在线网站| www.四虎在线| 老牛精品亚洲成av人片| 亚洲精品电影在线| 亚洲欧美色图视频| 免费一区二区三区视频导航| 日韩成人激情视频| 日本黄色录像片| 卡一精品卡二卡三网站乱码| 亚洲精品wwwww| 欧美无人区码suv| 日韩动漫一区| 一区二区三区动漫| 最新日韩免费视频| 欧美在线网站| 久久男人av资源网站| www.youjizz.com亚洲| 日韩一级精品| 国产不卡视频在线| 夜夜狠狠擅视频| 国产成人一级电影| 精品午夜一区二区| 岛国视频免费在线观看| 国产精品色在线| 久久久久福利视频| 成人影院在线播放| 91久久一区二区| 国产福利在线免费| 99a精品视频在线观看| 亚洲精品www久久久久久广东| 先锋影音av在线| 精品国产一区二区三区小蝌蚪| 日韩亚洲一区二区| 国产一级黄色av| 久久精品电影| 成人精品在线视频| 无码精品人妻一区二区| 国产欧美视频在线观看| xxxxxx在线观看| 日韩大片免费观看| 欧美日产国产精品| 荫蒂被男人添免费视频| 青青草国产免费一区二区下载| 美女999久久久精品视频 | 日本乱码高清不卡字幕| 拔插拔插华人永久免费| 牛牛影视久久网| 日韩中文字幕在线| 国产成人精品一区二三区| 青娱乐精品视频| 国产精品一区而去| 色老头视频在线观看| 亚洲高清免费视频| 一起操在线视频| 天美av一区二区三区久久| 久久综合九色九九| 欧美在线观看不卡| 成人综合婷婷国产精品久久| 亚洲乱码国产乱码精品天美传媒| 24小时免费看片在线观看| 欧美色图一区二区三区| 人妻无码中文久久久久专区| 亚洲综合激情在线| 国产激情综合五月久久| 欧美熟妇乱码在线一区| 亚洲欧洲精品一区二区精品久久久| 国产精品免费入口| 日韩精品中文字幕吗一区二区| 伊人av综合网| 麻豆成人免费视频| 丁香婷婷深情五月亚洲| gogogo免费高清日本写真| 亚洲天堂一区二区| 亚洲精品www久久久| 精品人妻在线播放| 国产精选一区二区三区 | 欧美色图麻豆| 国产精品天天狠天天看| 亚洲 欧美 精品| 欧美高清在线精品一区| 97成人在线观看视频| 成人午夜网址| 欧美多人乱p欧美4p久久| 亚洲无码精品在线观看| 国产亚洲综合在线| 成人观看免费完整观看| 丝袜美腿一区二区三区动态图| 久久久久久久久国产| 亚洲精品国产精| 一区二区三区日韩欧美| av在线网站免费观看| 亚洲mv大片欧洲mv大片| 91久久综合亚洲鲁鲁五月天| 精品黄色免费中文电影在线播放| 欧美日韩在线不卡| 日韩欧美视频免费观看| 韩国一区二区视频| 青春草在线视频免费观看| 国产一区二区| 九九热精品视频国产| 精品国产99久久久久久宅男i| 最新高清无码专区| 日本一区二区三区在线免费观看| 亚洲精品久久久| 91精品国产高清久久久久久91裸体| 顶级网黄在线播放| 日韩亚洲欧美在线观看| 精品无码久久久久久久久| 成人av网站免费| 日本一道本久久| 国产伦精品一区二区三区视频| 国产ts人妖一区二区三区| 国产在线网站| 欧美日韩成人在线| 强乱中文字幕av一区乱码| 国产91精品入口| 日本中文字幕网址| 久久99久久人婷婷精品综合 | 国产精选久久| 欧美黄色免费网站| 亚洲人成色777777精品音频| 91久久精品午夜一区二区| 午夜国产福利视频| 国产成人精品免费在线| 一女被多男玩喷潮视频| 精品久久影视| 91精品国产综合久久久久久丝袜 | 特级西西444www| 欧美三级免费| 日韩精品资源| 精品国模一区二区三区欧美| 久久久视频免费观看| 精华区一区二区三区| 欧美日韩亚洲综合在线 | 91久久精品国产91久久性色tv| 999精品网| 国产一区二区三区视频在线观看| a天堂在线视频| 国产探花在线精品一区二区| 亚洲视频1区2区| 欧美一级特黄aaa| 亚洲精品孕妇| 亚洲精品中文字幕在线| 99ri日韩精品视频| 国产精品对白刺激| 黑人精品视频| 国产一区二区三区在线| 亚洲黄色在线播放| 欧美少妇bbb| 日韩成年人视频| 亚洲视频综合在线| 精品人妻无码一区二区三区| 国产乱国产乱300精品| www黄色av| 国产精品v一区二区三区| 日韩中文字幕一区二区| 女同另类激情重口| 92国产精品久久久久首页| 久久精品女人天堂av免费观看| 久久97久久97精品免视看 | 中文字幕精品—区二区| 污污的视频网站在线观看| 91精品欧美综合在线观看最新| 97人妻一区二区精品视频| 亚洲国产精品久久人人爱| 国产传媒免费在线观看| 国产亚洲成年网址在线观看| 国产精久久久久| 国产在线国偷精品免费看| 国产一线二线三线在线观看| 99国产精品99久久久久久粉嫩| 成年人黄色在线观看| 成人在线免费视频观看| 免费av一区二区三区| 国产91精品入| 99高清视频有精品视频| 精品国产不卡一区二区| 国产女同一区二区| 成人看片毛片免费播放器| 日韩美女视频免费在线观看| 筱崎爱全乳无删减在线观看| 91精品国产高清自在线看超| 色呦呦呦在线观看| 欧美成人精品h版在线观看| 欧美三级理伦电影| 精品国偷自产在线视频| av在线资源站| 中文字幕日韩在线播放| 岛国最新视频免费在线观看| 亚洲少妇激情视频| 毛片在线能看| 亚洲人成毛片在线播放| 免费在线性爱视频| 亚洲色图美腿丝袜| 麻豆影视在线| 成人h精品动漫一区二区三区| 91精品国产综合久久香蕉| 美女18一级毛片一品久道久久综合| 69精品小视频| 亚洲精品福利电影| 国产成人亚洲综合| 成人网ww555视频免费看| 国产精品久久久久久一区二区| 亚洲成人短视频| 国产精品免费一区豆花| 精品国产黄a∨片高清在线| 国产欧亚日韩视频| 精品自拍视频| 亚洲综合大片69999| 66精品视频在线观看| 精品在线不卡| 欧美亚洲在线日韩| 国产日韩视频在线播放| 亚洲欧美一级二级三级| 丁香花在线影院观看在线播放| 99精品国产在热久久| 久久久久久久久久久久久国产精品| 日韩精品一级中文字幕精品视频免费观看 | 五月天一区二区| 精品人妻一区二区色欲产成人| 色噜噜狠狠色综合欧洲selulu| 中文字幕网址在线| 日韩欧美激情一区| 亚洲aⅴ在线观看| 有码中文亚洲精品| 18+激情视频在线| 97视频在线观看免费高清完整版在线观看| 另类专区亚洲| 成人h视频在线| 久久1电影院| 亚洲国产午夜伦理片大全在线观看网站 | 激情偷乱视频一区二区三区| 91福利视频免费观看| 91丨porny丨蝌蚪视频| 蜜桃av免费观看| 午夜精品久久久久久久久久| 中文字幕免费高清网站| 日韩一级免费一区| 嫩草研究院在线| 伦理中文字幕亚洲| 综合另类专区| 97视频资源在线观看| 欧美猛男做受videos| 欧美日韩午夜爽爽| 久久一区欧美| 麻豆短视频在线观看| 欧美精彩视频一区二区三区| 国产精品自拍片| 欧美aaaaaaa| 国产精品成人一区| 波多野结衣一区二区三区免费视频| 免费中文日韩| 狠狠入ady亚洲精品| 中日韩av在线播放| 91麻豆国产在线观看| 99热精品免费| 在线观看一区日韩| 午夜影院免费视频| 欧美精品少妇videofree| 国产精品麻豆成人av电影艾秋| 国产精品视频免费一区二区三区| 日本精品三区| 精品视频一区二区在线| 成人性视频免费网站| 在线免费看av网站| 欧洲av一区二区嗯嗯嗯啊| 天天综合网天天综合| 欧美激情精品久久久久久免费印度| 青青久久精品| 欧洲久久久久久| 亚洲免费综合| 制服丝袜在线第一页| 一区二区三区在线播放| 伊人成人在线观看| 亚洲深夜福利在线| 9i看片成人免费高清| 国产精品一区二区欧美黑人喷潮水| 久久精品国内一区二区三区水蜜桃| 可以在线看的黄色网址| 成人av电影在线观看| 久久久美女视频| 日韩女优电影在线观看| 在线网址91| 91亚洲精品久久久久久久久久久久 | 欧美视频一区二| 国产粉嫩一区二区三区在线观看| 奇米一区二区三区四区久久| 日韩动漫一区| 日本精品免费在线观看| 久久午夜色播影院免费高清| 成人午夜视频在线播放| 亚洲精品动漫100p| 欧美激情网站| 久久婷婷人人澡人人喊人人爽| 在线国产欧美| 国产制服丝袜在线| 香港成人在线视频| 午夜福利一区二区三区| 2019日本中文字幕| 图片婷婷一区| 免费看a级黄色片| 中文久久乱码一区二区| 亚洲综合五月天婷婷丁香| 久久久www成人免费精品| 99精品女人在线观看免费视频| av中文字幕av| 成人网在线免费视频| 日韩免费一级片| 亚洲欧美制服丝袜| 电影一区电影二区| 日本丰满大乳奶| 成人午夜在线免费| 国产伦精品一区二区三区视频网站| 国产亚洲精品激情久久| 91tv亚洲精品香蕉国产一区| 少妇熟女一区二区| 成人性生交大片免费看视频在线| 午夜美女久久久久爽久久| 亚洲一区资源| 性欧美.com| 国产精品一区二区久久精品爱涩| 国产在线视频二区| 国产午夜精品麻豆| 日本午夜精品久久久久| 一二三在线视频| 99久久精品免费精品国产| 在线观看日本视频| 在线观看欧美日韩国产| www欧美在线观看| 久久亚洲中文字幕无码| 国产精品三级久久久久三级| 国产美女无遮挡永久免费| 久久久久久12| 欧美亚洲精品在线| 午夜不卡久久精品无码免费| 在线亚洲一区二区| 1区2区在线观看| 玛丽玛丽电影原版免费观看1977 | 2024亚洲男人天堂| 日韩综合网站| 黄色网址在线视频| 3d动漫精品啪啪1区2区免费 | 亚洲成av人片在线| 超碰97在线免费观看|