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

淺析因Session導(dǎo)致的ASP.NET網(wǎng)站性能問(wèn)題

開(kāi)發(fā) 后端
你的站點(diǎn)有被客戶(hù)投訴很慢嗎?是不是查了很多遍還是沒(méi)有完全解決?本文將為大家介紹如何解決因?yàn)镾ession導(dǎo)致的ASP.NET網(wǎng)站性能問(wèn)題。

大家是不是有數(shù)據(jù)庫(kù)沒(méi)有發(fā)現(xiàn)異常,CPU也沒(méi)有異常,內(nèi)存占用量沒(méi)有異常,GC計(jì)數(shù)沒(méi)有異常,硬盤(pán)IO也沒(méi)有異常,帶寬沒(méi)有異常,線(xiàn)路沒(méi)有異常,沒(méi)有丟包,但就是被投訴?而且還是陣發(fā)性的,有某個(gè)用戶(hù)投訴慢的時(shí)候,你訪(fǎng)問(wèn)卻很快,本地又復(fù)現(xiàn)不出來(lái)?今天你訪(fǎng)問(wèn)了博客園真是太幸運(yùn)了,也許這里就有你想要的一個(gè)答案——假如你的站點(diǎn)動(dòng)態(tài)處理了圖片或者其他原本不會(huì)動(dòng)態(tài)處理的非網(wǎng)頁(yè)資源的話(huà)。沒(méi)想到吧,造成ASP.NET網(wǎng)站性能下降的正是Session惹的禍!

我們公司某個(gè)站點(diǎn)訪(fǎng)問(wèn)量一直很大,幾年前就已經(jīng)發(fā)現(xiàn)客戶(hù)經(jīng)常投訴說(shuō)很慢,而這個(gè)問(wèn)題我們一直都在排查和解決。從線(xiàn)路問(wèn)題,到數(shù)據(jù)庫(kù)連接泄露,到數(shù)據(jù)庫(kù)死鎖、索引,以及程序的優(yōu)化問(wèn)題,我們都查找過(guò),并且解決過(guò)。然而,這個(gè)問(wèn)題總還是存在。比如說(shuō),在IIS日志中,就會(huì)經(jīng)常看到time-taken大于10秒鐘的訪(fǎng)問(wèn)。而最近我們的KPI要求解決這個(gè)問(wèn)題,不得已,再次踏上這趟艱難的排查之旅。

之所以說(shuō)艱難,是因?yàn)檫@個(gè)現(xiàn)象在本地幾乎無(wú)法復(fù)現(xiàn),一個(gè)是這個(gè)現(xiàn)象是陣發(fā)性的,第二個(gè)是本地訪(fǎng)問(wèn)量或者數(shù)據(jù)量不夠大。我們也嘗試過(guò)在本地加載線(xiàn)上服務(wù)器的數(shù)據(jù)庫(kù),然后拿服務(wù)器的IIS的Log文件重播,結(jié)果確實(shí)是偶爾發(fā)現(xiàn)IIS日志中的time-taken也會(huì)比較長(zhǎng),但是本地服務(wù)器性能不如線(xiàn)上服務(wù)器的,比如說(shuō)IO就差很遠(yuǎn),于是總說(shuō)不清楚到底是什么問(wèn)題。而線(xiàn)上服務(wù)器也不方便用做Dump的形式查找:第一是因?yàn)榫€(xiàn)上一做Dump,站點(diǎn)就會(huì)在幾分鐘內(nèi)失去響應(yīng),這樣我們客服的電話(huà)就會(huì)被打爆;另一個(gè)原因還是陣發(fā)性的問(wèn)題,我們不可能一直盯著性能看,然后在發(fā)生問(wèn)題的瞬間做Dump。再說(shuō)了,看性能也看不出來(lái),因?yàn)槟切╉憫?yīng)時(shí)間很長(zhǎng)的訪(fǎng)問(wèn),其前后附近的響應(yīng)都特別的快。不可避免的,我們只能夠在代碼里面塞入一些調(diào)試和日志的代碼,以期望能夠得到一些有用的信息。

最開(kāi)始的時(shí)候,我們認(rèn)為最可能的原因是數(shù)據(jù)庫(kù)阻塞,比如正好某一個(gè)訪(fǎng)問(wèn)鎖住某個(gè)數(shù)據(jù)庫(kù)對(duì)象(比如一張表或者某幾行),如果這個(gè)時(shí)候訪(fǎng)問(wèn)特定的頁(yè)面,可能就會(huì)比較慢。于是在數(shù)據(jù)庫(kù)層塞入了一堆代碼,這些代碼會(huì)在數(shù)據(jù)庫(kù)連接數(shù)量多,或者某個(gè)數(shù)據(jù)庫(kù)連接時(shí)間特別長(zhǎng)的時(shí)候,將所有數(shù)據(jù)庫(kù)連接的當(dāng)前訪(fǎng)問(wèn)語(yǔ)句、連接持續(xù)總時(shí)間,以及這些連接當(dāng)前的堆棧情況都輸出到文件中。與此同時(shí),我們還打開(kāi)Sql profiler對(duì)這個(gè)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)視,將持續(xù)時(shí)間超過(guò)1秒鐘的都記錄下來(lái)。然而跑了一天之后,卻發(fā)現(xiàn)什么都沒(méi)有被記錄下來(lái),但I(xiàn)IS日志中仍然在這段時(shí)間內(nèi)出現(xiàn)許多10秒以上的訪(fǎng)問(wèn)。這個(gè)時(shí)候,我們就意識(shí)到,可能方向錯(cuò)了。

接著,我們就開(kāi)始塞另外一段代碼:一個(gè)IHttpModule。這個(gè)模塊就只是截獲每一個(gè)頁(yè)面訪(fǎng)問(wèn)的完整生命周期中的所有事件,比如BeginRequest、PreAuthenticateRequest等。同時(shí)在BeginRequest開(kāi)始的時(shí)候設(shè)置一個(gè)定時(shí)器,每隔一秒鐘就會(huì)出發(fā)一個(gè)事件,來(lái)記錄本次訪(fǎng)問(wèn)過(guò)程中,本模塊收集到的所有線(xiàn)程中當(dāng)前的堆棧情況。最后,在EndRequest的時(shí)候,如果訪(fǎng)問(wèn)時(shí)間超過(guò)5秒,就將之前截獲的所有信息輸出到文件中。這一下子問(wèn)題就變得非常的清晰了,比如說(shuō),下面這種輸出(片斷)就是非常典型的一個(gè)情況:

  1. #Steps:  
  2. #Fields: date time threadId stepName  
  3. #---------------------------------------------------  
  4. 2009-07-09 16:48:01.752 0024 BeginRequest  
  5. 2009-07-09 16:48:01.752 0024 AuthenticateRequest  
  6. 2009-07-09 16:48:01.752 0024 PostAuthenticateRequest  
  7. 2009-07-09 16:48:01.752 0024 AuthorizeRequest  
  8. 2009-07-09 16:48:01.752 0024 PostAuthorizeRequest  
  9. 2009-07-09 16:48:01.752 0024 ResolveRequestCache  
  10. 2009-07-09 16:48:01.752 0024 PostResolveRequestCache  
  11. 2009-07-09 16:48:01.752 0024 PostMapRequestHandler  
  12. 2009-07-09 16:48:06.284 0007 AcquireRequestState  
  13. 2009-07-09 16:48:06.284 0007 PostAcquireRequestState  
  14. 2009-07-09 16:48:06.284 0007 PreRequestHandlerExecute  
  15. 2009-07-09 16:48:06.284 0007 EndRequest  
  16. #---------------------------------------------------  
  17. #End of steps. 

也就是說(shuō),在PostMapRequestHandler之后,AcquireRequestState之前,有一大段的等待時(shí)間。而這個(gè)報(bào)告后面的堆棧情況,則顯得很奇怪:線(xiàn)程7從第一次截快照的時(shí)候開(kāi)始,一直到結(jié)束都是空白的!甚至在其他的一些報(bào)告中甚至?xí)l(fā)現(xiàn)這個(gè)線(xiàn)程已經(jīng)被分派處理其他頁(yè)面的工作了(堆棧中的調(diào)用很明顯指出是另一個(gè)aspx頁(yè)面的代碼)。結(jié)果一Google“PostMapRequestHandler”和“AcquireRequestState”這兩個(gè)關(guān)鍵字,就找到了國(guó)外另一個(gè)有類(lèi)似ASP.NET網(wǎng)站性能受影響的受害者:

  1. http://forums.iis.net/t/1147300.aspx 

這個(gè)樓主是一個(gè)aspx頁(yè)面里面有好幾個(gè)iframe,并且每一個(gè)iframe里面都是訪(fǎng)問(wèn)同一個(gè)Web應(yīng)用下的Aspx頁(yè)面。現(xiàn)象就是iframe內(nèi)的頁(yè)面會(huì)一個(gè)個(gè)蹦出來(lái),尤其是這些頁(yè)面都比較慢的時(shí)候。和我這里截獲到的情況一樣,也是PostMapRequestHandler事件到AcquireRequestState之間有很長(zhǎng)的空白時(shí)間。順藤摸瓜,又找到了這么一個(gè)帖子:

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.dotnet.framework.aspnet&mid=7f56033f-caac-47c2-bd9c-95512aa14b47

原來(lái),在A(yíng)cquireRequestState之前,需要等待上一個(gè)同SessionId的頁(yè)面處理完畢之后,才會(huì)繼續(xù)處理當(dāng)前頁(yè)面。其根本原因是:同一個(gè)SessionId下面的Session對(duì)象不應(yīng)該被同時(shí)寫(xiě)入,否則就會(huì)全亂套了,原理和多線(xiàn)程競(jìng)爭(zhēng)是一樣的。因此在設(shè)計(jì)上,同一個(gè)SessionId的頁(yè)面(或者IHttpHandler)就會(huì)順序執(zhí)行。

好了,到這里真相又一次大白了!(指不定還有別的問(wèn)題,還會(huì)有下一次大白的時(shí)候)在我們的系統(tǒng)中,由于特殊的原因,對(duì)圖片的輸出我們會(huì)通過(guò)Asp.Net來(lái)處理,比如說(shuō)加上一些合適的緩存標(biāo)記,甚至?xí)?dòng)態(tài)生成圖片輸出(令人驚訝的是,這個(gè)動(dòng)態(tài)輸出的總時(shí)間消耗甚至不到100毫秒,所以不要說(shuō)動(dòng)態(tài)生成是一種不好的實(shí)施方式)。但是,由于沒(méi)有經(jīng)過(guò)特殊處理,Asp.Net底層認(rèn)為這些訪(fǎng)問(wèn)時(shí)需要對(duì)Session進(jìn)行寫(xiě)操作的,于是就在A(yíng)cquireRequestState之前掛起,等待上一次同SessionId訪(fǎng)問(wèn)結(jié)束。可想而知,圖片多了就會(huì)導(dǎo)致排隊(duì),甚至排很長(zhǎng)的隊(duì)。如果在排隊(duì)結(jié)束之前訪(fǎng)問(wèn)下一個(gè)頁(yè)面,正好系統(tǒng)又沒(méi)有丟掉之前的隊(duì)列,則這次訪(fǎng)問(wèn)就會(huì)變得比較漫長(zhǎng)了。那么怎么做呢? 在一次順藤摸瓜,找到了確切的說(shuō)法:

http://msdn.microsoft.com/en-us/library/ms178581.aspx

注意下面的這段話(huà):

Concurrent Requests and Session State
Access to ASP.NET session state is exclusive per session, which means that if two different users make concurrent requests, access to each separate session is granted concurrently. However, if two concurrent requests are made for the same session (by using the same SessionID value), the first request gets exclusive access to the session information. The second request executes only after the first request is finished. (The second session can also get access if the exclusive lock on the information is freed because the first request exceeds the lock time-out.) If theEnableSessionState value in the @ Page directive is set to ReadOnly, a request for the read-only session information does not result in an exclusive lock on the session data. However, read-only requests for session data might still have to wait for a lock set by a read-write request for session data to clear.

也就是說(shuō),對(duì)于頁(yè)面,我們可以簡(jiǎn)單的在A(yíng)spx上的<% @Page %>內(nèi)設(shè)置EnableSessionState=”false”,或者EnableSessionState=”ReadOnly”,就可以減輕這種問(wèn)題的癥狀。前一種設(shè)置將會(huì)禁止對(duì)Session的訪(fǎng)問(wèn),而后一種設(shè)置則只能允許只讀訪(fǎng)問(wèn)(你不能夠?qū)ession進(jìn)行寫(xiě)操作)。正好,我們剛才提到的IHttpHandler中,對(duì)圖片進(jìn)行處理的部分,是不需要對(duì)Session進(jìn)行寫(xiě)操作的,但是卻需要讀取Session(根據(jù)狀態(tài)不同,而需要獲取一些特殊信息),因此可以采取上述的措施來(lái)解決問(wèn)題。

上述參考文獻(xiàn)中,并沒(méi)有說(shuō)明如何對(duì)不是Page的IHttpHandler如何設(shè)置,這里我特別說(shuō)明一下。對(duì)于自定義的一個(gè)實(shí)現(xiàn)了IHttpHandler接口的類(lèi),只要同時(shí)實(shí)現(xiàn)IReadOnlySessionState,即可達(dá)到EnableSessionState="ReadOnly"的效果。同時(shí),如果沒(méi)有實(shí)現(xiàn)IRequiresSessionState,則等價(jià)于EnableSessionState=”false”的效果。

注意:本文所說(shuō)的,不是說(shuō)你在代碼里面有沒(méi)有用到Session,ASP.NET不會(huì)掃描你的代碼看看有沒(méi)有訪(fǎng)問(wèn)Session,或者在你第一次訪(fǎng)問(wèn)Session的時(shí)候才會(huì)加鎖。ASP.NET是在A(yíng)cquireRequestState事件之前就首先申請(qǐng)這個(gè)鎖——只要你的頁(yè)面沒(méi)有設(shè)置EnableSessionState=”false”或EnableSessionState=”ReadOnly”,或者你的IHttpHandler實(shí)現(xiàn)了IRequiresSessionState卻沒(méi)有實(shí)現(xiàn)IReadOnlySessionState接口就會(huì)這樣。回復(fù)中有很多同學(xué)說(shuō)“只要我不用Session不就行了嗎?”或者“我從來(lái)不用Session”,這么想完全是錯(cuò)誤的,只能說(shuō)你沒(méi)有理解這背后的機(jī)制,甚至可能連Asp.net生命周期都不太清楚。Asp.Net之所以在你的頁(yè)面代碼開(kāi)始執(zhí)行之前就鎖定,是要保證整個(gè)環(huán)境的完整性,避免部分執(zhí)行的情況。當(dāng)然,也正如上面的一些引用中所提到的,你可以自己寫(xiě)一個(gè)SessionProvider而不做任何的鎖工作,但這樣做肯定有不確定性的風(fēng)險(xiǎn),到時(shí)候只能你自己承擔(dān),并且更難復(fù)現(xiàn)和調(diào)試。

ASP.NET網(wǎng)站性能分析后記:

可能有不少人都知道Session是什么,也有很多人知道ASP.NET的生命周期都包含哪些,比如一搜索"PostMapRequestHandler AcquireRequestState",就會(huì)出來(lái)很多中文的頁(yè)面介紹HttpApplication類(lèi)都有哪些事件,以及生命周期等等。而說(shuō)到Session會(huì)造成特殊情況下站點(diǎn)性能問(wèn)題的,似乎中文界我這還真是第一篇。當(dāng)然了,這個(gè)問(wèn)題可能比較偏,因?yàn)橐话愦蠹叶贾粫?huì)處理Aspx頁(yè)面而不會(huì)處理圖片,甚至用Aspx頁(yè)面來(lái)動(dòng)態(tài)輸出圖片的機(jī)會(huì)都比較少,英文的似乎也只有文中提到的唯一一個(gè)同志提出來(lái)了。

不過(guò),有一個(gè)很常見(jiàn)的場(chǎng)景會(huì)受這個(gè)問(wèn)題的影響,那就是“驗(yàn)證碼”。如果驗(yàn)證碼生成速度很慢,同時(shí)客戶(hù)端瀏覽器選擇長(zhǎng)連接而服務(wù)器也接受長(zhǎng)連接,則可能會(huì)影響在輸出驗(yàn)證碼完畢之前訪(fǎng)問(wèn)下一個(gè)頁(yè)面的速度。反過(guò)來(lái),我們也經(jīng)常可以體驗(yàn)到,驗(yàn)證碼出來(lái)的速度總是特別慢,總是“蹦”出來(lái)的,尤其是當(dāng)前頁(yè)面特別復(fù)雜的時(shí)候,似乎頁(yè)面沒(méi)有加載完就總不會(huì)出現(xiàn)驗(yàn)證碼。估計(jì)我說(shuō)的問(wèn)題就是原因之一。

不過(guò)驗(yàn)證碼的問(wèn)題還不是特別好解決,因?yàn)闉榱吮苊庑畔⑿孤兜膯?wèn)題,驗(yàn)證碼的答案通常是存在在Session里面的,而通常的設(shè)計(jì)也是一訪(fǎng)問(wèn)驗(yàn)證碼圖片,就會(huì)將驗(yàn)證碼答案寫(xiě)到Session里面。所以,很不幸,文中提到的那個(gè)解決辦法是行不通的,至少不是能夠直接行得通的。這個(gè)問(wèn)題有沒(méi)有救藥?有,當(dāng)然有了。怎么救?哈,那就有勞你自己開(kāi)動(dòng)腦筋了,我這里算是點(diǎn)到即止了。

【編輯推薦】

  1. ASP.NET的錯(cuò)誤處理機(jī)制
  2. ASP.NET多附件上傳和附件編輯的實(shí)現(xiàn)
  3. ASP.NET中性能和擴(kuò)展性的秘密
  4. ASP.NET 3.5圖表控件親密接觸
  5. 詳解ASP.NET的四種狀態(tài)
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2009-07-31 18:16:09

ASP.NET中的Se

2009-08-03 10:07:20

ASP.NET Ses

2009-07-22 18:02:26

ASP.NET Ses

2009-07-27 10:18:12

TypeResolveASP.NET

2009-07-27 15:34:11

MembershipASP.NET

2009-08-05 15:50:13

ASP.NET優(yōu)點(diǎn)

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 15:10:04

ASP.NET網(wǎng)站設(shè)置

2011-06-28 15:14:10

ASP.NET性能優(yōu)化

2009-07-22 18:03:00

ASP.NET ASP

2009-07-29 10:19:48

Session StaASP.NET

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-28 16:57:50

ASP.NET Ses

2010-08-06 08:50:21

ASP.NET

2009-08-04 17:00:16

ASP.NET代碼分離

2009-07-28 10:59:13

ASP.NET IIS

2009-07-29 14:12:45

ASP.NET tra

2009-07-23 14:31:20

ASP.NET MVC
點(diǎn)贊
收藏

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

日本一区免费在线观看| 国内精久久久久久久久久人| 日本在线播放一区二区| 黄页网站在线| 国产欧美日韩激情| 97人摸人人澡人人人超一碰| 青青青国产在线 | 伊人av成人| 五月婷婷六月激情| 韩国av一区二区三区在线观看| 欧美激情日韩图片| 国产精品免费无码| 国产精品一线| 欧美二区三区的天堂| 黄色www网站| 国产欧美久久久久久久久| 久久日一线二线三线suv| 亚洲影院色无极综合| 天码人妻一区二区三区在线看| 欧美第十八页| 日韩精品免费看| 国产精品久久久久久久99| 亚洲人体影院| 亚洲午夜久久久久中文字幕久| 水蜜桃一区二区三区| 色香蕉在线视频| 国产真实乱对白精彩久久| 91精品国产精品| 欧美成人片在线观看| 欧美日韩一二| 亚洲精品网址在线观看| 日韩精品国产一区| www.久久草.com| 精品视频在线看| 国产熟女高潮视频| 亚洲精品日产| 午夜视频一区二区三区| 天天想你在线观看完整版电影免费| av网站在线播放| 国产亚洲短视频| 精品人伦一区二区三区| 欧美在线 | 亚洲| 国产精品一级在线| 亚洲a∨日韩av高清在线观看| 亚洲性生活大片| 琪琪一区二区三区| 国产精品日韩精品| 久久这里只有精品9| 日韩不卡手机在线v区| 日韩美女激情视频| 91精品国产高清一区二区三密臀| 国产欧美日韩一级| 午夜精品一区二区三区在线播放| 国产精品999久久久| 亚洲福利专区| 98视频在线噜噜噜国产| 国产一级做a爱片久久毛片a| 国产精品综合| 国产成人综合亚洲| 最近国语视频在线观看免费播放| 蜜桃久久av一区| 成人国产精品一区| av一区二区三| 菠萝蜜视频在线观看一区| 国产综合动作在线观看| 欧美色视频免费| 国产日韩欧美综合一区| 亚洲va久久久噜噜噜久久狠狠 | 思热99re视热频这里只精品| 日韩风俗一区 二区| 黄色录像a级片| 国产精品一在线观看| 色av中文字幕一区| 久热这里有精品| 亚洲黄色精品| 国产91在线播放九色快色| 中文字幕 日韩有码| 激情另类小说区图片区视频区| 亚洲aa中文字幕| 天堂在线视频观看| 国产日韩av一区二区| 亚洲一区二区在线免费观看| 先锋成人av| 欧美性猛交xxxx免费看久久久| 国产嫩草在线观看| 一区二区三区四区高清视频 | 国产精品主播直播| 久久久久久九九| 一本一道波多野毛片中文在线| 一区二区三区精品视频| 日本精品免费在线观看| 涩涩涩久久久成人精品 | 91精品国产91久久久久游泳池| 亚洲美腿欧美偷拍| 国产91对白刺激露脸在线观看| 欧美高清免费| 亚洲精品国产欧美| 黄色片子在线观看| 亚洲深夜福利| 亚洲一区二区三区香蕉| 日本一区视频| 悠悠色在线精品| 激情 小说 亚洲 图片: 伦| 天堂av一区| 国产一区av在线| 国产在线免费视频| 蜜桃久久久久久久| 欧美日韩高清免费| 日本性爱视频在线观看| 欧美一a一片一级一片| 欧美做受高潮中文字幕| 色综合久久一区二区三区| 26uuu亚洲伊人春色| wwwav在线播放| 国产精品乱码人人做人人爱| 看av免费毛片手机播放| 日韩成人18| 久久久极品av| 一区二区视频网站| 久久久天堂av| 黄色一级片在线看| 欧美黄视频在线观看| 色综合影院在线| 波多野结衣在线观看视频| 成人h版在线观看| 好吊色视频988gao在线观看| 日韩电影精品| 中文在线不卡视频| 自拍偷拍18p| 久久综合国产精品| 黄色大片在线免费看| 视频一区在线| 欧美乱大交xxxxx| 97人妻精品一区二区三区视频| 国产欧美日本一区视频| 粗暴91大变态调教| 尤物tv在线精品| 日韩免费av片在线观看| 你懂的在线播放| 一本色道久久综合狠狠躁的推荐 | 日韩一区在线播放| 久热精品在线观看视频| 日韩欧美伦理| 国产精品免费看久久久香蕉| www.亚洲视频| 欧美日韩国产不卡| 99成人在线观看| 久久av资源网| 在线不卡日本| 成人永久在线| 不卡av日日日| 亚洲黄色一级大片| 亚洲国产日韩一级| 欧美大喷水吹潮合集在线观看| 在线电影一区二区| 国产成人精品日本亚洲11| 亚洲91av| 精品日本一线二线三线不卡| 国产无码精品一区二区| 91在线一区二区| 熟女性饥渴一区二区三区| 久久av网址| 国产美女久久久| 性国产高清在线观看| 精品久久久久久综合日本欧美| 亚洲一区二区91| 91蝌蚪porny| 中文字幕成人在线视频| 欧美国产高清| 久久精品国产综合精品 | 在线免费不卡电影| 特级西西人体高清大胆| 国产一二精品视频| 日韩中文字幕在线免费| 神马电影久久| 成人h视频在线| 欧美野外wwwxxx| 日韩精品在线电影| 亚洲天堂999| 夜夜操天天操亚洲| 少妇精品一区二区| 久久se精品一区精品二区| 欧美日韩在线免费观看视频| 日韩三级不卡| 琪琪亚洲精品午夜在线| 黄色在线视频网站| 亚洲国产私拍精品国模在线观看| 中文字幕制服诱惑| 午夜欧美在线一二页| 亚洲aaa视频| 91麻豆swag| 美女被艹视频网站| 三级亚洲高清视频| www.69av| 日韩电影在线视频| 国产无套精品一区二区| 青青草国产一区二区三区| 国语自产精品视频在线看一大j8| 超碰97在线免费观看| 亚洲成人在线网| 91精品在线视频观看| 偷偷要91色婷婷| 久热这里有精品| 中文一区二区在线观看| 一级特黄a大片免费| 激情综合五月天| 污污视频网站免费观看| 亚洲欧洲日本一区二区三区| 伊人色综合影院| 九热爱视频精品视频| 国产精品视频在线免费观看| 久久av日韩| 国产激情综合五月久久| 成人在线黄色电影| 欧美裸体xxxx极品少妇| 9色在线观看| 亚洲人成网站免费播放| 先锋av资源站| 欧美va亚洲va香蕉在线| 国产精品午夜福利| 欧美视频在线观看一区二区| 中文字幕日韩一级| 亚洲国产视频在线| 三级影片在线看| 中文字幕一区二区三区不卡在线 | 夜夜爽久久精品91| 美女高潮久久久| 在线免费观看视频黄| 日韩激情一二三区| 凹凸国产熟女精品视频| 亚洲国产高清视频| 成人区一区二区| 欧美视频在线观看| a级片一区二区| 自拍偷拍欧美专区| 久久最新免费视频| 66视频精品| 亚洲AV无码成人精品一区| 成人亚洲一区二区| 日韩高清国产精品| 在线亚洲a色| 欧美一二三区| 国产一区二区欧美| 亚洲高清在线播放| 欧美mv日韩| 国产精品无码乱伦| 亚洲中无吗在线| 老司机午夜免费福利视频| 欧美1区视频| 91动漫在线看| 亚洲人成在线影院| 3d动漫一区二区三区| 国产精品日韩| 乱子伦视频在线看| 青青草视频一区| 天堂视频免费看| 国产伦精品一区二区三区视频青涩 | 91福利区在线观看| 欧美一区二区三区图| 日韩国产激情| 国产欧美欧洲在线观看| 精品三级国产| 久久精品ww人人做人人爽| 久久99国产精品视频| 亚洲一区三区视频在线观看| 综合一区av| 国产毛片视频网站| 日本美女视频一区二区| 国产探花在线观看视频| 成人美女在线视频| 欧美偷拍一区二区三区| 国产精品对白交换视频| 久草资源在线视频| 色婷婷精品大在线视频| 国产美女三级无套内谢| 亚洲国产精品中文| 成人亚洲综合天堂| 不卡中文字幕av| 中文字幕资源网在线观看免费 | 国产精品福利在线观看| 成人精品视频在线观看| 精品一区二区三区国产| 成人3d动漫在线观看| www.69av| 日韩高清在线电影| 午夜性福利视频| 久久精品免视看| 亚洲欧美综合7777色婷婷| 亚洲一区免费在线观看| 中文字幕xxxx| 精品人在线二区三区| av片在线免费观看| 97高清免费视频| www.久久草.com| 人偷久久久久久久偷女厕| 久久久久电影| 欧美黄网站在线观看| 国产精品一区二区视频| 一级片视频免费看| 亚洲国产va精品久久久不卡综合| 中文字幕在线播放av| 亚洲国产精品久久久久秋霞不卡| 免费黄色电影在线观看| 韩国一区二区电影| vam成人资源在线观看| 一区二区三区国产福利| 欧美色网在线| 国产精品免费一区二区三区观看| 欧美综合久久| 99精品在线免费视频| 国产成人小视频| www.99re6| 在线观看日产精品| 香蕉av在线播放| 欧美麻豆久久久久久中文 | 国产精品自拍偷拍视频| 欧美性生活一级片| av在线观看地址| 国产原创一区二区| 精品手机在线视频| 色综合网色综合| 天堂中文在线视频| 久久久久久久久久国产精品| 成人动漫视频在线观看| 亚洲人成网站在线观看播放| 丝袜美腿亚洲一区| 极品粉嫩小仙女高潮喷水久久| 亚洲国产欧美在线| 超碰福利在线观看| 久久综合网hezyo| 亚洲影视资源| 国产系列第一页| 国产一区二区免费在线| 四虎地址8848| 欧美日韩国产片| 日韩在线观看www| 成人免费福利视频| 亚洲乱码精品| 亚洲丝袜在线观看| 一区二区三区**美女毛片| 精品人妻一区二区三区麻豆91| 久久影视免费观看| 国产精品久久久久久久久久久久久久久| 在线电影看在线一区二区三区| 日本aⅴ精品一区二区三区| 国产精品815.cc红桃| 色综合久久88色综合天天| 你懂的免费在线观看视频网站| 日本欧美中文字幕| 欧美三级情趣内衣| xx欧美撒尿嘘撒尿xx| 亚洲视频小说图片| www.黄色av| 色综合视频网站| 国产精品对白| 成年人免费在线播放| 欧美激情在线一区二区| 97超碰中文字幕| 久久精品成人动漫| aaa国产精品| 黄www在线观看| 中文字幕乱码久久午夜不卡| 国产精品一级视频| 欧美日韩国产成人高清视频| 欧美毛片免费观看| 久久久精品麻豆| 一区二区在线免费| 午夜激情小视频| 国产精品视频久久久| 欧美一区二区| 久久久久国产精品区片区无码| 欧美影院一区二区| 性欧美video高清bbw| 欧美一级二级三级九九九| 久久成人免费日本黄色| 国产一级视频在线| 亚洲天堂av图片| 久久精品九色| 无码人妻丰满熟妇区96| 国产精品二三区| 视频二区在线| 成人午夜在线影院| 99精品国产在热久久| 99在线视频免费| 精品国产第一区二区三区观看体验| 久久sese| 日产精品久久久久久久蜜臀| 国产清纯白嫩初高生在线观看91| 午夜精品一区二区三| 国产精品人成电影在线观看| 亚洲国产网站| 亚洲 欧美 国产 另类| 日韩精品一二三四区| 国产精品亚洲欧美日韩一区在线 | 成人短视频下载| 中文字幕在线观看精品| 亚洲 日韩 国产第一| 亚洲欧美日韩高清在线| 亚洲欧美va天堂人熟伦| 精品久久久久久无|