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

ASP.NET中的Session會產生的性能問題淺析

開發 后端
ASP.NET中的Session會產生的性能問題是指什么呢?那么在實際的應用當中有什么是要注意的呢,那么本文就是把這些經驗向你詳細講解。

ASP.NET中的Session會有什么性能問題呢?你的站點有被客戶投訴很慢嗎?是不是查了很多遍還是沒有完全解決?是不是數據庫沒有發現異常,CPU也沒有異常,內存占用量沒有異常,GC計數沒有異常,硬盤IO也沒有異常,帶寬沒有異常,線路沒有異常,沒有丟包,但就是被投訴?而且還是陣發性的,有某個用戶投訴慢的時候,你訪問卻很快,本地又復現不出來?今天你訪問了博客園真是太幸運了,也許這里就有你想要的一個答案——假如你的站點動態處理了圖片或者其他原本不會動態處理的非網頁資源的話。沒想到吧,這是Session惹的禍!

我們公司某個站點訪問量一直很大,幾年前就已經發現客戶經常投訴說很慢,而這個問題我們一直都在排查和解決。從線路問題,到數據庫連接泄露,到數據庫死鎖、索引,以及程序的優化問題,我們都查找過,并且解決過。然而,這個問題總還是存在。比如說,在IIS日志中,就會經常看到time-taken大于10秒鐘的訪問。而最近我們的KPI要求解決這個問題,不得已,再次踏上這趟艱難的排查之旅。

之所以說艱難,是因為這個現象在本地幾乎無法復現,一個是這個現象是陣發性的,第二個是本地訪問量或者數據量不夠大。我們也嘗試過在本地加載線上服務器的數據庫,然后拿服務器的IIS的Log文件重播,結果確實是偶爾發現IIS日志中的time-taken也會比較長,但是本地服務器性能不如線上服務器的,比如說IO就差很遠,于是總說不清楚到底是什么問題。而線上服務器也不方便用做Dump的形式查找:第一是因為線上一做Dump,站點就會在幾分鐘內失去響應,這樣我們客服的電話就會被打爆;另一個原因還是陣發性的問題,我們不可能一直盯著性能看,然后在發生問題的瞬間做Dump。再說了,看性能也看不出來,因為那些響應時間很長的訪問,其前后附近的響應都特別的快。不可避免的,我們只能夠在代碼里面塞入一些調試和日志的代碼,以期望能夠得到一些有用的信息。

最開始的時候,我們認為最可能的原因是數據庫阻塞,比如正好某一個訪問鎖住某個數據庫對象(比如一張表或者某幾行),如果這個時候訪問特定的頁面,可能就會比較慢。于是在數據庫層塞入了一堆代碼,這些代碼會在數據庫連接數量多,或者某個數據庫連接時間特別長的時候,將所有數據庫連接的當前訪問語句、連接持續總時間,以及這些連接當前的堆棧情況都輸出到文件中。與此同時,我們還打開Sql profiler對這個數據庫進行監視,將持續時間超過1秒鐘的都記錄下來。然而跑了一天之后,卻發現什么都沒有被記錄下來,但IIS日志中仍然在這段時間內出現許多10秒以上的訪問。這個時候,我們就意識到,可能方向錯了。

ASP.NET中的Session還有什么呢?接著,我們就開始塞另外一段代碼:一個IHttpModule。這個模塊就只是截獲每一個頁面訪問的完整生命周期中的所有事件,比如BeginRequest、PreAuthenticateRequest等。同時在BeginRequest開始的時候設置一個定時器,每隔一秒鐘就會出發一個事件,來記錄本次訪問過程中,本模塊收集到的所有線程中當前的堆棧情況。最后,在EndRequest的時候,如果訪問時間超過5秒,就將之前截獲的所有信息輸出到文件中。這一下子問題就變得非常的清晰了,比如說,下面這種輸出(片斷)就是非常典型的一個情況:

  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. 

也就是說,在PostMapRequestHandler之后,AcquireRequestState之前,有一大段的等待時間。而這個報告后面的堆棧情況,則顯得很奇怪:線程7從第一次截快照的時候開始,一直到結束都是空白的!甚至在其他的一些報告中甚至會發現這個線程已經被分派處理其他頁面的工作了(堆棧中的調用很明顯指出是另一個aspx頁面的代碼)。結果一Google“PostMapRequestHandler”和“AcquireRequestState”這兩個關鍵字,就找到了國外另一個有類似遭遇的受害者:

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

這個樓主是一個aspx頁面里面有好幾個iframe,并且每一個iframe里面都是訪問同一個Web應用下的Aspx頁面。現象就是iframe內的頁面會一個個蹦出來,尤其是這些頁面都比較慢的時候。和我這里截獲到的情況一樣,也是PostMapRequestHandler事件到AcquireRequestState之間有很長的空白時間。順藤摸瓜,又找到了這么一個帖子:

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

理解ASP.NET中的Session,原來,在AcquireRequestState之前,需要等待上一個同SessionId的頁面處理完畢之后,才會繼續處理當前頁面。其根本原因是:同一個SessionId下面的Session對象不應該被同時寫入,否則就會全亂套了,原理和多線程競爭是一樣的。因此在設計上,同一個SessionId的頁面(或者IHttpHandler)就會順序執行。

好了,到這里真相又一次大白了!(指不定還有別的問題,還會有下一次大白的時候)在我們的系統中,由于特殊的原因,對圖片的輸出我們會通過Asp.Net來處理,比如說加上一些合適的緩存標記,甚至會動態生成圖片輸出(令人驚訝的是,這個動態輸出的總時間消耗甚至不到100毫秒,所以不要說動態生成是一種不好的實施方式)。但是,由于沒有經過特殊處理,ASP.NET底層認為這些訪問時需要對Session進行寫操作的,于是就在AcquireRequestState之前掛起,等待上一次同SessionId訪問結束。可想而知,圖片多了就會導致排隊,甚至排很長的隊。如果在排隊結束之前訪問下一個頁面,正好系統又沒有丟掉之前的隊列,則這次訪問就會變得比較漫長了。那么怎么做呢? 在一次順藤摸瓜,找到了確切的說法:

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

注意下面的這段話:

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.

也就是說,對于頁面,我們可以簡單的在Aspx上的﹤% @Page %>內設置EnableSessionState=”false”,或者EnableSessionState=”ReadOnly”,就可以減輕這種問題的癥狀。前一種設置將會禁止對Session的訪問,而后一種設置則只能允許只讀訪問(你不能夠對Session進行寫操作)。正好,我們剛才提到的IHttpHandler中,對圖片進行處理的部分,是不需要對Session進行寫操作的,但是卻需要讀取Session(根據狀態不同,而需要獲取一些特殊信息),因此可以采取上述的措施來解決問題。

上述參考文獻中,并沒有說明如何對不是Page的IHttpHandler如何設置,這里我特別說明一下。對于自定義的一個實現了IHttpHandler接口的類,只要同時實現IReadOnlySessionState,即可達到EnableSessionState="ReadOnly"的效果。同時,如果沒有實現IRequiresSessionState,則等價于EnableSessionState=”false”的效果。

注意:本文所說的,不是說你在代碼里面有沒有用到Session,Asp.Net不會掃描你的代碼看看有沒有訪問Session,或者在你第一次訪問Session的時候才會加鎖。Asp.Net是在AcquireRequestState事件之前就首先申請這個鎖——只要你的頁面沒有設置EnableSessionState=”false”或EnableSessionState=”ReadOnly”,或者你的IHttpHandler實現了IRequiresSessionState卻沒有實現IReadOnlySessionState接口就會這樣。回復中有很多同學說“只要我不用Session不就行了嗎?”或者“我從來不用Session”,這么想完全是錯誤的,只能說你沒有理解這背后的機制,甚至可能連Asp.net生命周期都不太清楚。Asp.Net之所以在你的頁面代碼開始執行之前就鎖定,是要保證整個環境的完整性,避免部分執行的情況。當然,也正如上面的一些引用中所提到的,你可以自己寫一個SessionProvider而不做任何的鎖工作,但這樣做肯定有不確定性的風險,到時候只能你自己承擔,并且更難復現和調試。

后記:

可能有不少人都知道ASP.NET中的Session是什么,也有很多人知道ASP.NET的生命周期都包含哪些,比如一搜索"PostMapRequestHandler AcquireRequestState",就會出來很多中文的頁面介紹HttpApplication類都有哪些事件,以及生命周期等等。而說到Session會造成特殊情況下站點性能問題的,似乎中文界我這還真是第一篇。當然了,這個問題可能比較偏,因為一般大家都只會處理Aspx頁面而不會處理圖片,甚至用Aspx頁面來動態輸出圖片的機會都比較少,英文的似乎也只有文中提到的唯一一個同志提出來了。

不過,有一個很常見的場景會受這個問題的影響,那就是“驗證碼”。如果驗證碼生成速度很慢,同時客戶端瀏覽器選擇長連接而服務器也接受長連接,則可能會影響在輸出驗證碼完畢之前訪問下一個頁面的速度。反過來,我們也經常可以體驗到,驗證碼出來的速度總是特別慢,總是“蹦”出來的,尤其是當前頁面特別復雜的時候,似乎頁面沒有加載完就總不會出現驗證碼。估計我說的問題就是原因之一。

不過驗證碼的問題還不是特別好解決,因為為了避免信息泄露的問題,驗證碼的答案通常是存在在Session里面的,而通常的設計也是一訪問驗證碼圖片,就會將驗證碼答案寫到Session里面。所以,很不幸,文中提到的那個解決辦法是行不通的,至少不是能夠直接行得通的。這個問題有沒有救藥?有,當然有了。怎么救?哈,那就有勞你自己開動腦筋了,我這里算是點到即止了。

【編輯推薦】

  1. ASP.NET數據庫緩存淺析
  2. ASP.NET源碼之自定義控件DateTimePicker
  3. ASP.NET文件下載函數使用淺析
  4. 構建ASP.NET線程安全集合淺析
  5. ASP.NET線程安全與靜態變量的生命周期淺談
責任編輯:仲衡 來源: 博客園
相關推薦

2009-07-10 09:39:25

ASP.NET網站性能

2009-08-03 10:07:20

ASP.NET Ses

2009-07-20 17:21:43

Session狀態ASP.NET

2009-07-22 14:23:39

URL RewriteASP.NET

2009-07-27 10:18:12

TypeResolveASP.NET

2009-07-27 15:34:11

MembershipASP.NET

2009-07-29 10:19:48

Session StaASP.NET

2009-07-22 18:03:00

ASP.NET ASP

2009-07-22 18:02:26

ASP.NET Ses

2009-04-08 09:58:07

ASP.NET MVCTempData框架

2009-07-27 09:29:38

ASP.NET中Jav

2009-07-27 10:22:16

ASP.NET中Coo

2009-07-28 10:59:13

ASP.NET IIS

2010-08-06 08:50:21

ASP.NET

2009-07-29 14:12:45

ASP.NET tra

2009-07-30 14:03:04

ASP.NET中的se

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優點

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che
點贊
收藏

51CTO技術棧公眾號

99久久久无码国产精品免费| 亚洲精品国产熟女久久久| 直接在线观看的三级网址| 风流少妇一区二区| 456亚洲影院| 97在线观看免费视频| 伊人国产精品| 亚洲v精品v日韩v欧美v专区| 日本在线观看一区二区三区| 国产理论片在线观看| 影音先锋亚洲精品| 在线看国产精品| 久久久久久婷婷| 成人国产一区| 五月激情综合婷婷| 伊人久久婷婷色综合98网| 四虎永久在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 97国产精品视频人人做人人爱| 黄色性生活一级片| 国产激情精品一区二区三区| 欧美性xxxx在线播放| 精品国产三级a∨在线| 色视频精品视频在线观看| 国内精品伊人久久久久av一坑| 欧洲永久精品大片ww免费漫画| 国产精品夜夜夜爽阿娇| 精品在线99| 亚洲成人免费在线视频| 久久精品亚洲天堂| 91福利精品在线观看| 午夜视频久久久久久| 老汉色影院首页| 欧美尤物美女在线| 国产日韩v精品一区二区| 国产伦精品一区二区三区视频孕妇 | 中文无码久久精品| 色av中文字幕一区| 免费看污片的网站| 亚洲理论电影片| 亚洲国产天堂网精品网站| 一级片免费在线观看视频| 成人在线观看免费播放| 欧美中文字幕一区二区三区亚洲| 黄色大片在线免费看| 影音先锋男人在线资源| 成人免费在线观看入口| 亚洲欧美日韩另类精品一区二区三区| 视频一区二区三区国产| 99精品久久免费看蜜臀剧情介绍| 96成人在线视频| 精品人妻一区二区三区含羞草| 久久精品国产网站| 国产日韩精品电影| 国产精品国产一区二区三区四区 | 国模大尺度视频| 91精品亚洲一区在线观看| 欧美剧情片在线观看| 亚洲国产精品三区| 国产香蕉久久| 欧美丰满少妇xxxxx高潮对白| 欧美美女一级片| 99精品视频在线免费播放| 69久久夜色精品国产69蝌蚪网| 激情文学亚洲色图| 国产午夜精品一区在线观看| 欧美一级片免费看| 亚洲美女精品视频| 韩国精品福利一区二区三区| 日韩国产欧美区| 91精品人妻一区二区| 亚洲资源网你懂的| 在线观看中文字幕亚洲| 尤物在线免费视频| 欧美日韩综合| 5566成人精品视频免费| www.com亚洲| 久久99精品久久久| 99国产精品久久久久老师| 精品人妻一区二区三区四区不卡 | 欧美高清视频一区二区三区| 黄色成人精品网站| 欧洲精品毛片网站| 亚洲天堂中文网| 国产福利一区二区三区视频| 精品一区二区不卡| 国产二区在线播放| 亚洲免费观看高清完整版在线观看熊| youjizz.com在线观看| 91久久线看在观草草青青| 欧美大片免费高清观看| 亚洲妇熟xx妇色黄| 国产淫片av片久久久久久| 六九午夜精品视频| 亚洲国产另类久久精品| 蜜桃久久精品成人无码av| 天天做天天爱天天爽综合网| 久久久久久久香蕉网| 香蕉污视频在线观看| 国产美女av一区二区三区| 精品国产综合久久| 日日夜夜精品一区| 亚洲国产成人91porn| 激情内射人妻1区2区3区 | 在线成人av| 国产精品视频内| 男人天堂一区二区| 亚洲欧洲国产日韩| 女性女同性aⅴ免费观女性恋| 免费视频观看成人| 国产偷亚洲偷欧美偷精品| 欧美 日韩 国产 一区二区三区| 国产日韩精品视频一区二区三区| 国产精品香蕉av| 无码国精品一区二区免费蜜桃| 国产精品久久久久久亚洲伦 | 九色porny丨入口在线| 欧美乱妇15p| 天天躁日日躁aaaa视频| 日韩视频免费| 91视频婷婷| 91欧美在线视频| 色妞www精品视频| 国产十八熟妇av成人一区| 91精品精品| 国产精品欧美久久久| 污污网站在线免费观看| 一区二区在线免费观看| 午夜在线观看av| 伊人久久大香线蕉| 国产91成人video| 亚洲精品成人电影| 亚洲黄色性网站| 97人人爽人人| 91中文字幕精品永久在线| 国产91精品最新在线播放| 天堂网在线观看视频| 一区二区三区精品视频| 伊人成人免费视频| 亚洲国产精品成人| 亚洲精品免费在线视频| 精品麻豆一区二区三区| 欧美电影在线免费观看| 女人18毛片毛片毛片毛片区二| 免费不卡在线观看| 午夜视频久久久| 国产精品久久久久久吹潮| 国产一区二区三区在线观看视频 | 成人51免费| 深夜福利亚洲导航| 一本色道久久综合精品婷婷| 国产精品天天摸av网| 亚洲 欧美 日韩系列| 欧美午夜精彩| 国产日韩欧美在线| 免费av网站在线观看| 欧美一级二级在线观看| 激情五月婷婷小说| 风流少妇一区二区| 熟女少妇在线视频播放| 亚洲欧美tv| 国产精品极品在线| 米奇777四色精品人人爽| 欧美一区二区免费| www.av视频在线观看| jvid福利写真一区二区三区| 国产精品视频一区二区三区四区五区| 老司机成人在线| 国产999精品视频| 91caoporn在线| 日韩区在线观看| 国产成人无码一区二区三区在线| 久久亚洲精品国产精品紫薇| 不卡av免费在线| 久久久久免费av| 国产日韩三区| yy6080久久伦理一区二区| 久久国产精品久久久久久| 人妻少妇精品无码专区久久| 色综合视频在线观看| 日韩精品久久久久久久的张开腿让| 国产一区二区三区日韩| 男人天堂1024| 偷拍欧美精品| 精品欧美一区二区在线观看视频 | 欧美www视频| 中文字幕亚洲乱码熟女1区2区| 欧美高清在线一区二区| 1314成人网| 亚洲一区久久| 日本女人高潮视频| 丝袜久久网站| 92福利视频午夜1000合集在线观看 | 性色av蜜臀av| 欧美性猛交xxxx久久久| 欧美色视频一区二区三区在线观看| 丰满少妇久久久久久久| 男女男精品视频站| 极品中文字幕一区| 伊人精品久久久久7777| 五月综合久久| 成人免费看片网站| 国产精品诱惑| 青青草原成人在线视频| 中文字幕在线观看网站| 一本色道久久综合狠狠躁篇的优点| 精品人妻伦一区二区三区久久| 日本韩国精品一区二区在线观看| 久一视频在线观看| 国产精品美女久久久久av爽李琼| 精品国产一区在线| 国产综合色在线视频区| 亚洲爆乳无码专区| 亚洲高清激情| 亚洲av首页在线| 不卡一区综合视频| 久久久福利视频| 亚洲五码在线| 亚洲最大av网| 亚洲欧美在线人成swag| 国产91网红主播在线观看| 2021中文字幕在线| 久久999免费视频| 三区四区电影在线观看| 影音先锋欧美精品| 清纯唯美亚洲色图| 亚洲成人a**站| 国产av无码专区亚洲av| 欧美猛男男办公室激情| 成人黄色激情视频| 色婷婷精品大在线视频| 毛片基地在线观看| 婷婷夜色潮精品综合在线| 青草草在线视频| 亚洲日穴在线视频| 欧美a级片免费看| 国产精品久久久久一区二区三区共| 波多野结衣先锋影音| 成人精品电影在线观看| 无码人妻一区二区三区在线| 国产精品影视在线| 日本黄色三级网站| 国产精品一区二区久久不卡 | 成人综合在线视频| 台湾佬美性中文| 国产成人福利片| 人妻精品久久久久中文字幕69| 国产最新精品精品你懂的| 看看黄色一级片| 国产精选一区二区三区| 下面一进一出好爽视频| 国产成人免费视频一区| 伊人av在线播放| 成人免费高清在线| www.17c.com喷水少妇| 波多野结衣中文字幕一区| 呦呦视频在线观看| 91麻豆免费看| 黄色三级生活片| 中文字幕亚洲精品在线观看| 777777国产7777777| 亚洲综合自拍偷拍| 日本中文字幕在线免费观看| 懂色aⅴ精品一区二区三区蜜月| 国产原创视频在线| 在线观看av一区二区| 国产又黄又猛又爽| 精品国产乱码久久久久久蜜臀| 欧美熟妇另类久久久久久不卡| 日韩精品中文字幕在线| 成人高清在线| 欧美猛少妇色xxxxx| 2021天堂中文幕一二区在线观| 日韩美女免费视频| 国产午夜久久av| 久久久久久a亚洲欧洲aⅴ| 精品freesex老太交| 中国 免费 av| 国产欧美一区二区色老头| 浓精h攵女乱爱av| 国产成人免费av在线| 国产全是老熟女太爽了| 中文字幕五月欧美| 自拍偷拍欧美亚洲| 欧美精选在线播放| 免费观看国产精品| 这里精品视频免费| h片在线观看视频免费| 国产精品色婷婷视频| 亚洲日本va午夜在线电影| 欧美精品v日韩精品v国产精品| 久久久久久久久久久久久久久久久久| www..com日韩| 久久精品国产77777蜜臀| 人妻av一区二区| 国产精品超碰97尤物18| 国产精品成人久久| 欧美日韩精品二区第二页| 全部免费毛片在线播放一个| 久久精品99国产精品酒店日本 | av一区在线观看| 久久久久久午夜| 999精品视频在线观看| 久久精品国产精品国产精品污 | 久久不射电影网| 最新日韩三级| 国产在线一区二区三区欧美| 国产精品99视频| 无码内射中文字幕岛国片| 成人黄色综合网站| www欧美com| 欧美亚洲日本一区| 日本一卡二卡四卡精品| 精品自在线视频| 色狠狠一区二区三区| 蜜桃成人在线| 亚洲激情影院| 日本女人性视频| 中文字幕日韩一区| 一区二区视频网站| 亚洲香蕉成视频在线观看 | 欧美日韩国产影院| 亚洲精品成人电影| 欧美成人精品一区| 色综合久久久| 亚洲成人第一| 久久一区中文字幕| 日韩一级视频在线观看| 亚洲成a人v欧美综合天堂下载 | 91色视频在线| 亚洲免费激情视频| 精品国产乱码久久久久久影片| av软件在线观看| 亚洲一区二区在线| 一个色综合网| 亚洲高清av一区二区三区| 亚洲女人的天堂| 国产农村妇女毛片精品| 色多多国产成人永久免费网站| 性欧美freehd18| 日韩av高清| 日韩电影在线观看网站| 蜜乳av中文字幕| 欧美午夜电影一区| 香蕉视频在线播放| 成人午夜在线视频一区| 在线中文字幕第一区| 污免费在线观看| 亚洲一区二区精品3399| 人妻无码中文字幕| 欧美性视频精品| 欧美人与牛zoz0性行为| 午夜免费精品视频| 国产精品乱码一区二三区小蝌蚪| 中文字幕一区二区三区波野结| 中文字幕精品一区二区精品| 日本午夜免费一区二区| 50度灰在线观看| 成人av在线播放网站| 久久久精品福利| 视频一区视频二区国产精品 | 日本在线影院| 欧美亚洲免费在线| 毛片不卡一区二区| 免费中文字幕在线| 亚洲激情国产精品| 日本欧美日韩| 国产盗摄视频在线观看| www.欧美亚洲| 中文字幕第315页| 欧美刺激性大交免费视频| 国产精品高潮呻吟久久久久| 99久久久无码国产精品6| 欧美韩日一区二区三区| 国产视频在线观看视频| 91精品国产91久久久久福利| 精品在线观看入口| 亚洲综合伊人久久| 亚洲国产综合色| 高h视频在线| 亚洲a级在线播放观看| 一区二区国产在线观看| 性爱在线免费视频| 欧美va亚洲va香蕉在线| 午夜日韩成人影院| 男女裸体影院高潮| 久久免费电影网| 国产哺乳奶水91在线播放| 欧美又大又粗又长| 66视频精品| 精品人妻一区二区免费视频| 欧美午夜精品久久久久久超碰| 丁香高清在线观看完整电影视频| 日本在线视频不卡| 国产一二精品视频| 日韩综合在线观看| 久久99久久99精品免观看粉嫩| 精品视频国产| 成人做爰www看视频软件| 欧美私人免费视频|