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

成人網(wǎng)站性能提升20倍之經(jīng)驗(yàn)談

開(kāi)發(fā) 前端 后端
要搞定這巨大的流量很難。更困難的是,在色情網(wǎng)站上提供的很多內(nèi)容都是低延遲的實(shí)時(shí)流媒體而不是簡(jiǎn)單的靜態(tài)視頻。但是對(duì)于所有碰到過(guò)的挑戰(zhàn),我很少看到有搞定過(guò)它們的開(kāi)發(fā)人員寫(xiě)的東西。所以我決定把自己在這方面的經(jīng)驗(yàn)寫(xiě)出來(lái)。

色情業(yè)是個(gè)大行業(yè)。互聯(lián)網(wǎng)上沒(méi)有多少網(wǎng)站的流量能和最大的色情網(wǎng)站相匹敵。

搞定這巨大的流量很難。更困難的是,在色情網(wǎng)站上提供的很多內(nèi)容都是低延遲的實(shí)時(shí)流媒體而不是簡(jiǎn)單的靜態(tài)視頻。但是對(duì)于所有碰到過(guò)的挑戰(zhàn),我很少看到有搞定過(guò)它們的開(kāi)發(fā)人員寫(xiě)的東西。所以我決定把自己在這方面的經(jīng)驗(yàn)寫(xiě)出來(lái)。 

問(wèn)題是什么?

幾年前,我正在為當(dāng)時(shí)全世界訪問(wèn)量排名26的網(wǎng)站工作 — 這里不是說(shuō)的色情網(wǎng)站排名,而是全世界排名。

當(dāng)時(shí),該網(wǎng)站通過(guò)RTMP(Real Time Messaging protocol)協(xié)議響應(yīng)對(duì)色情流媒體的請(qǐng)求。更具體地說(shuō),它使用了Adobe的FMS(Flash Media Server)技術(shù)為用戶提供實(shí)時(shí)流媒體。基本過(guò)程是這樣的:

  1. 用戶請(qǐng)求訪問(wèn)某個(gè)實(shí)時(shí)流媒體
  2. 服務(wù)器通過(guò)一個(gè)RTMP session響應(yīng),播放請(qǐng)求的視頻片段

因?yàn)槟承┰颍現(xiàn)MS對(duì)我們并不是一個(gè)好的選擇,首先是它的成本,包括了購(gòu)買以下兩者:

  1. 為每一臺(tái)運(yùn)行FMS的服務(wù)器購(gòu)買Windows的版權(quán)
  2. 大約4000美元一個(gè)的FMS特定版權(quán),由于我們的規(guī)模,我們必須購(gòu)買的版權(quán)量數(shù)以百計(jì),而且每天都在增加。

所有這些費(fèi)用開(kāi)始不斷累積。撇開(kāi)成本不提,F(xiàn)MS也是一個(gè)比較挫的產(chǎn)品,特別是在它的功能方面(我過(guò)一會(huì)再詳細(xì)說(shuō)這個(gè)問(wèn)題)。所以我決定拋棄FMS,自己從頭開(kāi)始寫(xiě)一個(gè)自己的RTMP解析器。

最后,我終于把我們的服務(wù)效率提升了大約20倍。

開(kāi)始

這里涉及到兩個(gè)核心問(wèn)題:首先,RTMP和其他的Adobe協(xié)議及格式都不是開(kāi)放的,這就很難使用它們。要是對(duì)文件格式都一無(wú)所知,你如何能對(duì)它進(jìn) 行反向工程或者解析它呢?幸運(yùn)的是,有一些反向工程的嘗試已經(jīng)在公開(kāi)領(lǐng)域出現(xiàn)了(并不是Adobe出品的,而是osflash.org,它破解了一些協(xié) 議),我們的工作就是基于這些成果。

注:Adobe后來(lái)發(fā)布了所謂的“規(guī)格說(shuō)明書(shū)”,比起在非Adobe提供的反向工程wiki和文檔中披露的內(nèi)容,這個(gè)說(shuō)明書(shū)里也沒(méi)有啥新東西。他們 給的規(guī)格說(shuō)明書(shū)的質(zhì)量之低劣達(dá)到了荒謬的境地,近乎不可能通過(guò)該說(shuō)明書(shū)來(lái)使用它們的庫(kù)。而且,協(xié)議本身看起來(lái)常常也是有意做成具有誤導(dǎo)性的。例如:

  1. 他們使用29字節(jié)的整形數(shù)。
  2. 他們?cè)趨f(xié)議頭上所有地方都采用低地址存放最高有效字節(jié)(big endian)的格式,除了在某一個(gè)字段(而且未標(biāo)明)上采用低地址存放最低有效字節(jié)(little endian)的格式。
  3. 他們?cè)趥鬏?K的視頻時(shí),不惜耗費(fèi)計(jì)算能力去壓縮數(shù)據(jù)減少空間,這基本上是沒(méi)意義的,因?yàn)樗麄冞@么折騰一次也就是減少幾位或幾個(gè)字節(jié),對(duì)這樣的一個(gè)文件大小可以忽略不計(jì)了。

還有,RTMP是高度以session為導(dǎo)向的,這使得它基本上不可能對(duì)流進(jìn)行組播。理想狀態(tài)下,如果多個(gè)用戶要求觀看同一個(gè)實(shí)時(shí)視頻流,我們可以 直接向他們傳回指向單個(gè)session的指針,在該session里傳輸這個(gè)視頻流(這就是組播的概念)。但是用RTMP的話,我們必須為每一個(gè)要求訪問(wèn) 特定流的用戶創(chuàng)建全新的一個(gè)實(shí)例。這是完全的浪費(fèi)。

[[72331]] 

 

我的解決辦法

想到了這些,我決定把典型的響應(yīng)流重新打包和解析為FLV“標(biāo)簽”(這里的“標(biāo)簽”指某個(gè)視頻、音頻或者元數(shù)據(jù))。這些FLV標(biāo)簽可以在RTMP下順利地傳輸。

這樣一個(gè)方法的好處是:

  • 我們只需要給流重新打包一次(重新打包是一個(gè)噩夢(mèng),因?yàn)槿鄙僖?guī)格說(shuō)明,還有前面說(shuō)到的惡心協(xié)議)。
  • 通過(guò)套用一個(gè)FLV頭,我們可以在客戶端之間順暢地重用任何流,而用內(nèi)部的FLV標(biāo)簽指針(配以某種聲明其在流內(nèi)部確切位置的位移值)就可以訪問(wèn)到真正的內(nèi)容。

我一開(kāi)始用我當(dāng)時(shí)最熟悉的C語(yǔ)言進(jìn)行開(kāi)發(fā)。一段時(shí)間后,這個(gè)選擇變得麻煩了,所以我開(kāi)始學(xué)習(xí)Python并移植我的C代碼。開(kāi)發(fā)過(guò)程加快了,但在做 了一些演示版本后,我很快遇到了資源枯竭的問(wèn)題。Python的socket處理并不適合處理這些類型的情況,具體說(shuō),我們發(fā)現(xiàn)在自己的Python代碼 里,每個(gè)action都進(jìn)行了多次系統(tǒng)調(diào)用和context切換,這增加了巨大的系統(tǒng)開(kāi)銷。

改進(jìn)性能:混合使用Python和C

在對(duì)代碼進(jìn)行梳理之后,我選擇將性能最關(guān)鍵的函數(shù)移植到內(nèi)部完全用C語(yǔ)言編寫(xiě)的一個(gè)Python模塊中。這基本是底層的東西,具體地說(shuō),它利用了內(nèi)核的epoll機(jī)制提供了一個(gè)O(log n)的算法復(fù)雜度。

在異步socket編程方面,有一些機(jī)制可以提供有關(guān)特定socket是否可讀/可寫(xiě)/出錯(cuò)之類的信息。過(guò)去,開(kāi)發(fā)人員們可以用select()系 統(tǒng)調(diào)用獲取這些信息,但很難大規(guī)模使用。Poll()是更好的選擇,但它仍然不夠好,因?yàn)槟忝看握{(diào)用的時(shí)候都要傳遞一大堆socket描述符。

Epoll的神奇之處在于你只需要登記一個(gè)socket,系統(tǒng)會(huì)記住這個(gè)特定的socket并處理所有內(nèi)部的雜亂的細(xì)節(jié)。這樣在每次調(diào)用的時(shí)候就沒(méi) 有傳遞參數(shù)的開(kāi)銷了。而且它適用的規(guī)模也大有可觀,它只返回你關(guān)心的那些socket,相比用其他技術(shù)時(shí)必須從10萬(wàn)個(gè)socket描述符列表里挨個(gè)檢查 是否有帶字節(jié)掩碼的事件,其優(yōu)越性真是非同小可啊。

不過(guò),為了性能的提高,我們也付出了代價(jià):這個(gè)方法采用了完全和以前不同的設(shè)計(jì)模式。該網(wǎng)站以前的方法是(如果我沒(méi)記錯(cuò)的話)單個(gè)原始進(jìn)程,在接收和發(fā)送時(shí)會(huì)阻塞。我開(kāi)發(fā)的是一套事件驅(qū)動(dòng)方案,所以為了適應(yīng)這個(gè)新模型,我必須重構(gòu)其他的代碼。

具體地說(shuō),在新方法中,我們有一個(gè)主循環(huán),它按如下方式處理接收和發(fā)送:

 

 

  1. 接收到的數(shù)據(jù)(作為消息)被傳遞到RTMP層
  2. RTMP包被解析,從中提取出FLV標(biāo)簽
  3. FLV數(shù)據(jù)被傳輸?shù)骄彺婧徒M播層,在該層對(duì)流進(jìn)行組織并填充到底層傳輸緩存中
  4. 發(fā)送程序?yàn)槊總€(gè)客戶端保存一個(gè)結(jié)構(gòu),包含了最后一次發(fā)送的索引,并盡可能多地向客戶端傳送數(shù)據(jù)

這是一個(gè)滾動(dòng)的數(shù)據(jù)窗口,并包含了某些試探性算法,當(dāng)客戶端速度太慢無(wú)法接收時(shí)會(huì)丟棄一些幀。總體來(lái)說(shuō)運(yùn)行的很好。 

系統(tǒng)層級(jí),架構(gòu)和硬件問(wèn)題

但是我們又遇到另外一個(gè)問(wèn)題:內(nèi)核的context切換成為了一個(gè)負(fù)擔(dān)。結(jié)果,我們選擇每100毫秒發(fā)送一次而不是實(shí)時(shí)發(fā)送。這樣可以把小的數(shù)據(jù)包匯總起來(lái),也避免了context切換的爆炸式出現(xiàn)。

也許更大的一個(gè)問(wèn)題在于服務(wù)器架構(gòu)方面:我們需要一個(gè)具備負(fù)載均衡和容錯(cuò)能力的服務(wù)器集群,畢竟因?yàn)榉?wù)器功能異常而失去用戶不是件好玩的事情。一 開(kāi)始,我們采用了專職總管服務(wù)器的方法,它指定一個(gè)”總管“負(fù)責(zé)通過(guò)預(yù)測(cè)需求來(lái)產(chǎn)生和消除播放流。這個(gè)方法華麗麗地失敗了。實(shí)際上,我們嘗試過(guò)的每個(gè)方法 都相當(dāng)明顯地失敗了。最后,我們采用了一個(gè)相對(duì)暴力的方法,在集群的各個(gè)節(jié)點(diǎn)之間隨機(jī)地共享播放的流,使流量基本平衡了。

這個(gè)方法是有效的,但是也有一些不足:雖然一般情況下它處理的很好,我們也碰到了當(dāng)所有網(wǎng)站用戶(或者相當(dāng)大比例的用戶)觀看單個(gè)廣播流的時(shí)候,性 能會(huì)變得非常糟糕。好消息是,除了一次市場(chǎng)宣傳活動(dòng)(marketing campaign)之外,這種情況再也沒(méi)出現(xiàn)過(guò)。我們部署了另外一套單獨(dú)的集群來(lái)處理這種情況,但真實(shí)的情況是我們先分析了一番,覺(jué)得為了一次市場(chǎng)活動(dòng)而 犧牲付費(fèi)用戶的體驗(yàn)是說(shuō)不過(guò)去的,實(shí)際上,這個(gè)案例也不是一個(gè)真實(shí)的事件(雖然說(shuō)能處理所有想象得到的情況也是很好的)。 

結(jié)論

這里有最后結(jié)果的一些統(tǒng)計(jì)數(shù)字:每天在集群里的流量在峰值時(shí)是大約10萬(wàn)用戶(60%負(fù)載),平均是5萬(wàn)。我管理了2個(gè)集群(匈牙利和美國(guó)),每個(gè) 里有大約40臺(tái)服務(wù)器共同承擔(dān)這個(gè)負(fù)載。這些集群的總帶寬大約是50 Gbps,在負(fù)載達(dá)到峰值時(shí)大約使用了10 Gbps。最后,我努力做到了讓每臺(tái)服務(wù)器輕松地能提供10 Gbps帶寬,也就等于一臺(tái)服務(wù)器可以承受30萬(wàn)用戶同時(shí)觀看視頻流。

已有的FMS集群包含了超過(guò)200臺(tái)服務(wù)器,我只需要15臺(tái)就可以取代他們,而且其中只有10臺(tái)在真正提供服務(wù)。這就等于200除以10,等于20 倍的性能提高。大概我在這個(gè)項(xiàng)目里最大的收獲就是我不應(yīng)讓自己受阻于學(xué)習(xí)新技能的困難。具體說(shuō)來(lái),Python、轉(zhuǎn)碼、面向?qū)ο缶幊蹋@些都是我在做這個(gè) 項(xiàng)目之前缺少專業(yè)經(jīng)驗(yàn)的概念。

這個(gè)信念,以及實(shí)現(xiàn)你自己的方案的信心,會(huì)給你帶來(lái)很大的回報(bào)。

【1】后來(lái),當(dāng)我們把新代碼投入生產(chǎn),我們又遇到了硬件問(wèn)題,因?yàn)槲覀兪褂美系膕r2500 Intel架構(gòu)服務(wù)器,由于它們的PCI總線帶寬太低,不能支持10 Gbit的以太網(wǎng)卡。沒(méi)轍,我們只好把它們用在1-4×1 Gbit的以太網(wǎng)池中(把多個(gè)網(wǎng)卡的性能匯總為一個(gè)虛擬網(wǎng)卡)。最終,我們獲得了一些更新的sr2600 i7 Intel架構(gòu)服務(wù)器,它們通過(guò)光纖達(dá)到了無(wú)性能損耗的10 Gbps帶寬。所有上述匯總的結(jié)果都是基于這樣的硬件條件來(lái)計(jì)算的。

英文原文:GERGELY KALMAN,編譯:@老碼農(nóng)的自留地

譯文鏈接:http://blog.jobbole.com/39323/

責(zé)任編輯:林師授 來(lái)源: 伯樂(lè)在線
相關(guān)推薦

2013-08-02 11:23:45

2010-08-17 13:23:49

2011-06-21 16:26:19

SEO內(nèi)部?jī)?yōu)化

2024-05-28 07:01:29

2015-09-16 10:13:16

游戲性能

2009-06-29 15:39:53

Servlet和JSPServlet引擎

2011-09-09 09:50:40

Oracle

2011-06-29 18:21:18

關(guān)鍵詞

2023-10-20 08:12:00

JDK21線程池配置

2009-09-14 15:04:44

2009-07-21 10:44:08

ITIL配置管理經(jīng)驗(yàn)

2017-01-20 09:43:12

日志告警挖掘

2012-07-13 14:25:59

2011-08-15 10:27:48

2014-03-13 09:20:38

jQueryAngularJs

2009-08-11 15:46:47

2012-03-12 10:51:41

數(shù)據(jù)中心災(zāi)難備份

2009-10-28 13:35:25

VB.NET共享成員

2009-02-12 10:14:00

2009-07-02 11:49:44

JSP學(xué)習(xí)步驟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品69av| 成人毛片av在线| www.久久久久久久| 91精品国产自产在线丝袜啪| 亚洲一级二级在线| 日本一区二区三区www| 99热这里只有精品9| 99精品久久| 精品国产一区二区三区四区在线观看 | 级毛片内射视频| 精品国产一区二| 日本高清免费不卡视频| 美女av免费观看| av电影在线观看网址| 成人美女在线观看| 成人国产精品一区| 国产免费av一区| 午夜精品免费| 在线观看欧美成人| 亚洲一区二区乱码| 视频二区欧美| 欧美男生操女生| 欧美性大战久久久久xxx | 国产精品盗摄一区二区三区| 国产在线精品日韩| 国产不卡av在线播放| 视频一区二区欧美| 国产91精品久久久久久| 久久精品www| 国产精品成人av| 一区二区三区动漫| 亚洲永久精品ww.7491进入| 999久久精品| 日韩视频中午一区| 天天久久综合网| 日本综合久久| 色综合久久久久综合体桃花网| 麻豆一区二区三区在线观看| 91网页在线观看| 国产亚洲成年网址在线观看| 精品国产一区二区三| 精品人妻午夜一区二区三区四区 | 久久久久成人精品无码| 国产精品成人av| 波霸ol色综合久久| 特级西西人体高清大胆| 第一会所亚洲原创| 中文字幕亚洲欧美日韩高清| 蜜桃久久精品成人无码av| 伊人久久大香线蕉av不卡| 精品无人区太爽高潮在线播放 | 日本888xxxx| 国产在线成人精品午夜| 国产精品成久久久久| 综合网日日天干夜夜久久| 亚洲一区 欧美| 日韩av有码| 日韩中文字幕在线看| 日韩一区二区三区四区视频| 成人激情电影在线| 国产一区二区三区直播精品电影| 三级网站在线免费观看| 精品美女在线视频| 中文字幕欧美日韩| 小向美奈子av| 欧美日韩国产在线一区| 欧美疯狂xxxx大交乱88av| 精品在线视频观看| 国产精品亚洲产品| 国产成人在线视频| 在线免费看91| 国产美女精品在线| 国产伦理一区二区三区| 人成在线免费视频| 中文字幕免费不卡在线| 中文字幕超清在线免费观看| 日本小视频在线免费观看| 午夜精品视频一区| 青青青国产在线视频| 日韩一区二区三区四区五区| 日韩午夜小视频| 中文字幕在线视频播放| 精品在线手机视频| 久久在线观看视频| 欧美精品亚洲精品日韩精品| 丝袜美腿亚洲一区| 亚洲自拍偷拍第一页| 少妇人妻偷人精品一区二区| 久久久国产精品不卡| 一本色道久久综合亚洲精品婷婷 | 成年人网站免费在线观看| 精品国产一区二区三区噜噜噜| 精品激情国产视频| 五月天婷婷综合网| 精品在线播放午夜| 38少妇精品导航| 在线观看毛片网站| 成人av免费观看| 视频一区三区| 成年人黄色大片在线| 欧美性欧美巨大黑白大战| 国偷自产av一区二区三区麻豆| 欧美人与物videos另类xxxxx| www.亚洲一区| 日本高清不卡码| 国产福利一区二区三区视频| 欧美最大成人综合网| 女人黄色免费在线观看| 欧美天堂亚洲电影院在线播放| 亚洲免费观看在线| 99久久久久| 日本免费一区二区三区视频观看| 国产黄色av片| 中文字幕中文字幕一区二区| 免费在线激情视频| 51vv免费精品视频一区二区| 在线日韩精品视频| 国产一级18片视频| 懂色av一区二区夜夜嗨| 亚洲欧洲一二三| 亚洲国产福利| 亚洲国产精久久久久久| 欧美卡一卡二卡三| 精品一区二区免费看| 欧美乱偷一区二区三区在线| 俺来俺也去www色在线观看| 制服丝袜中文字幕亚洲| 国产精品情侣呻吟对白视频| 亚洲一区国产一区| 国产精品嫩草在线观看| 一色桃子av在线| 欧美日韩成人在线| av资源在线免费观看| 日本大胆欧美人术艺术动态| 欧美精品欧美精品| 色戒汤唯在线观看| 日韩精品福利网站| 天堂网一区二区三区| 成人aa视频在线观看| 日韩在线观看a| 一区二区在线免费播放| 欧美肥婆姓交大片| 黑人精品一区二区三区| 亚洲主播在线观看| 催眠调教后宫乱淫校园| 欧美三级不卡| 国产精品亚洲一区| 春色校园综合激情亚洲| 日韩成人网免费视频| 伊人手机在线视频| 久久色在线视频| 成年人视频在线免费| 精品理论电影在线| 国产主播喷水一区二区| 久久99精品久久| 欧美一区二区成人| 国产一级特黄毛片| 99久久伊人精品| 无码内射中文字幕岛国片| 狠狠操综合网| 成人黄色短视频在线观看| 成人a在线视频免费观看| 欧美一二三在线| 日本三级网站在线观看| 91丨porny丨国产| 牛夜精品久久久久久久| 999精品色在线播放| 亚洲一区二区三区乱码aⅴ| 免费在线观看的电影网站| 亚洲精品福利在线| 男人天堂视频在线| 一色屋精品亚洲香蕉网站| 91精品国产三级| 99视频精品免费观看| 日本一区二区三区四区在线观看 | 青青在线视频| 精品亚洲aⅴ在线观看| 欧美 亚洲 另类 激情 另类| 亚洲男人的天堂网| 女同性恋一区二区三区| 日韩综合在线视频| 成人手机在线播放| 色天下一区二区三区| 国产精品自拍网| 黄污视频在线观看| 亚洲网站在线播放| 国产成人三级一区二区在线观看一 | 亚洲欧美日韩在线综合| 亚洲综合网狠久久| 国产精品高潮呻吟久久av黑人| 肉肉视频在线观看| 一区二区三区高清国产| 国产91绿帽单男绿奴| 91国产成人在线| 久久久久亚洲av无码专区 | 国产精品无码久久久久| 欧美日本中文字幕| 国产区av在线| 亚洲精品一区二区三区蜜桃下载 | 一区二区视频在线免费| 另类图片第一页| 96pao国产成视频永久免费| 日韩美女视频中文字幕| 中文字幕有码在线视频| 亚洲精品一二区| 国产成人精品无码高潮| 日本高清不卡视频| 中文字幕亚洲综合久久| 在线观看亚洲黄色| 亚洲电影一区二区| 国产精品久久久免费看| 久久久夜色精品亚洲| 亚洲av无码专区在线播放中文| 免费成人你懂的| 能在线观看的av| 韩国亚洲精品| 超碰人人爱人人| 国产精品久久久久久久久久10秀| 欧美极品色图| 欧美亚洲色图校园春色| 999国产在线| 亚洲91在线| 国产精品日韩欧美| 成人欧美大片| 136fldh精品导航福利| 最新黄网在线观看| 久久久www成人免费精品| av在线中文| 亚洲天堂影视av| 日韩av资源站| 亚洲美女www午夜| 日本久久一级片| 精品国产精品一区二区夜夜嗨| av小说天堂网| 日韩一区二区在线免费观看| 亚洲性在线观看| 欧美日韩国产影片| 最近中文字幕免费在线观看| 91成人看片片| 国产99久久久久久免费看| 日本高清成人免费播放| 伊人久久久久久久久久久久| 色婷婷av一区二区| 国产一区二区视频网站| 色美美综合视频| 波多野结衣高清视频| 欧美中文字幕一区二区三区| 精品久久久久久久久久久久久久久久久久| 大伊人狠狠躁夜夜躁av一区| 久久夜色精品亚洲| 日韩欧美在线视频| 超碰在线观看91| 在线精品视频一区二区三四| 久久久久久久亚洲| 欧美日韩中文字幕一区二区| 伊人网综合在线| 日韩成人综合网站| 岛国精品视频在线播放| 国产精品美女在线播放| 蜜臀av免费一区二区三区| 久久66热这里只有精品| 亚欧日韩另类中文欧美| 欧洲精品亚洲精品| 久久福利影院| 加勒比海盗1在线观看免费国语版| 欧美天堂亚洲电影院在线观看| 国产 日韩 欧美在线| 久久av最新网址| 久热在线视频观看| 国产精品99久久久| 人妻丰满熟妇av无码久久洗澡 | 国产精品大片免费观看| 美女日批免费视频| 奇米影视在线99精品| 国产毛片久久久久久| 波多野结衣中文字幕一区二区三区 | 妞干网视频在线观看| 麻豆91精品| 午夜剧场高清版免费观看| 99在线精品视频| 亚洲图片第一页| 亚洲一二三区在线观看| 丁香社区五月天| 91精品国产综合久久国产大片| 人妻精品无码一区二区| 在线观看视频99| av影院在线免费观看| 国产精品影片在线观看| 国产精品巨作av| 致1999电视剧免费观看策驰影院| 亚洲国产国产亚洲一二三| 深夜黄色小视频| 99久久精品免费看| 精品国产视频在线观看| 一本大道久久精品懂色aⅴ| 国产视频第一页| 亚洲午夜激情免费视频| 免费男女羞羞的视频网站在线观看| 国产成人av网址| 国偷自产视频一区二区久| 亚洲日本一区二区三区在线不卡 | 91国产精品电影| 欧美韩国日本| 欧美日韩精品久久久免费观看| 你懂的视频一区二区| 欧美男女交配视频| 91香蕉视频黄| 久久伊人成人网| 欧美日本国产视频| 韩国精品视频| 国产91ⅴ在线精品免费观看| 视频一区中文字幕精品| 亚洲欧美日韩国产成人综合一二三区| 亚洲经典三级| 亚洲av无一区二区三区久久| 中文字幕成人av| 91视频久久久| 亚洲人成在线观看| 国产欧洲在线| 国产精品综合久久久久久| 亚洲综合色站| 最新免费av网址| 中文字幕乱码日本亚洲一区二区| 狠狠人妻久久久久久综合| 亚洲第一页中文字幕| 污污影院在线观看| 中文字幕在线视频免费| 欧美一二三在线| 中文字幕在线视频区| 国产91色在线播放| 特黄特色欧美大片| 国产一线二线三线女| 国产一区二区0| 人妻少妇精品一区二区三区| 欧美裸体一区二区三区| 999国产在线视频| 国产精品a久久久久久| 九九久久电影| 免费观看成人网| 日本一区二区三级电影在线观看 | 欧美一区二区视频17c| 国产精品日韩精品欧美精品| 中文字幕一区三区久久女搜查官| 亚洲国产精品久久久男人的天堂| 性生活三级视频| 欧美极品少妇xxxxx| 国产精品乱战久久久| 少妇av一区二区三区无码| 96av麻豆蜜桃一区二区| 人妻 日韩精品 中文字幕| 亚洲欧洲日产国产网站| 日本h片久久| 欧美aaa在线观看| 国产盗摄一区二区三区| 久久久精品国产sm调教| 精品国产乱码久久久久久久久| 爱情岛亚洲播放路线| 久久久久久国产精品mv| 日本网站在线观看一区二区三区| 奇米网一区二区| 日韩一区二区三区四区五区六区| 超碰中文在线| 欧美精品一区二区视频 | 绯色av蜜臀vs少妇| 欧美日韩国产精品一区| 国产午夜在线观看| 91精品视频免费看| 亚洲天堂成人| 麻豆精品免费视频| 欧美乱妇一区二区三区不卡视频| 九色porny自拍| 成人激情文学综合网| 亚洲精品男人天堂| 国产亚洲一区二区在线| 久久精品国产福利| 成人国产在线看| www.久久热.com| 91免费精品国偷自产在线| 狠久久av成人天堂| 国精产品一区二区三区| 欧美久久久久久久久中文字幕| 污污网站在线看| 欧美精品二区三区四区免费看视频| 久久爱另类一区二区小说| 国产精品伦子伦免费视频| 免费观看在线午夜影视| 亚洲wwwav| 在线一区欧美| 精品国产大片大片大片| 欧美在线一二三四区| 香蕉视频网站在线观看| 免费一级特黄录像| 亚洲另类在线视频| 色就是色亚洲色图| 日韩免费中文字幕| 午夜精品国产| 国产黄色片在线| 国产视频亚洲精品| 日韩欧美中文字幕在线视频| 亚洲乱码国产一区三区|