国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

改進性能和樣式的24個ASP 技巧

 更新時間:2007年02月07日 00:00:00   作者:  

簡介

技巧 1:在 Web 服務(wù)器上緩存常用數(shù)據(jù)

技巧 2:在 Application 或 Session 對象中緩存常用數(shù)據(jù)

技巧 3:在 Web 服務(wù)器磁盤上緩存數(shù)據(jù)和 HTML

技巧 4:避免在 Application 或 Session 對象中緩存非靈活組件

技巧 5:不要在 Application 或 Session 對象中緩存數(shù)據(jù)庫連接

技巧 6:妙用 Session 對象

技巧 7:在 COM 對象中封裝代碼

技巧 8:晚點獲取資源,早點釋放資源

技巧 9:進程外的執(zhí)行將犧牲可靠性

技巧 10:顯式使用選項

技巧 11:在子例程和函數(shù)中使用局部變量

技巧 12:將常用數(shù)據(jù)復(fù)制到腳本變量

技巧 13:避免重新定義數(shù)組

技巧 14:使用響應(yīng)緩沖

技巧 15:批處理內(nèi)嵌腳本和 Response.Write 語句

技巧 16:在開始長時間的任務(wù)之前先使用 Response.IsClientConnected

技巧 17:使用 <OBJECT> 標(biāo)記實例化對象

技巧 18:使用 ADO 對象和其他組件的 TypeLib 綁定

技巧 19:利用瀏覽器的驗證能力

技巧 20:在循環(huán)中避免字符串串聯(lián)

技巧 21:啟用瀏覽器和代理緩存

技巧 22:盡可能使用 Server.Transfer 替代 Response.Redirect

技巧 23:在目錄 URL 尾部加斜線

技巧 24:避免使用服務(wù)器變量


--------------------------------------------------------------------------------

簡介

性能是一個特性。您需要預(yù)先設(shè)計性能,或是在日后重新編寫應(yīng)用程序。換句話說,什么是最大限度優(yōu)化 Active Server Pages (ASP) 應(yīng)用程序性能的好策略?

本文為優(yōu)化 ASP 應(yīng)用程序和"Visual Basic(R) 腳本編輯器 (VBScript)"提供了許多技巧。對許多陷阱和缺陷進行了討論。本文所列的建議均在 http://www.microsoft.com 及其他站點上進行了測試,而且工作正常。本文假定您對 ASP 開發(fā)有基本的理解,包括對 VBScript 和/或 JScript、ASP Application、ASP Session 和其他 ASP 內(nèi)部對象(請求、響應(yīng)和服務(wù)器)。

ASP 的性能,通常不止取決于 ASP 代碼本身。我們并不想在一篇文章中囊括所有的至理名言,只在最后列出與性能相關(guān)的資源。這些鏈接包括 ASP 和非 ASP 主題,包括"ActiveX(R) 數(shù)據(jù)對象 (ADO)"、"部件對象模型 (COM)"、數(shù)據(jù)庫和"Internet 信息服務(wù)器 (IIS)"配置。這些是我們喜歡的鏈接 - 務(wù)請關(guān)注它們。

技巧 1:在 Web 服務(wù)器上緩存常用數(shù)據(jù)

典型的 ASP 頁從后端數(shù)據(jù)庫檢索數(shù)據(jù),然后將結(jié)果轉(zhuǎn)換為超文本標(biāo)記語言 (HTML)。無論數(shù)據(jù)庫的速度如何,從內(nèi)存檢索數(shù)據(jù)要比從后端數(shù)據(jù)庫檢索數(shù)據(jù)快得多。從本地硬盤讀取數(shù)據(jù)通常也要比從數(shù)據(jù)庫檢索數(shù)據(jù)快得多。因此,通??梢酝ㄟ^在 Web 服務(wù)器(在內(nèi)存或磁盤)上緩存數(shù)據(jù)來改善性能。

緩存是典型的空間與時間的折衷。如果恰當(dāng)?shù)鼐彺鏀?shù)據(jù),您將看到性能會有驚人的提高。為使緩存發(fā)揮效力,它必須保持經(jīng)常重用的數(shù)據(jù),而且重新計算這些數(shù)據(jù)的代價是昂貴的或比較昂貴的。如果緩存充滿了垃圾數(shù)據(jù),則是對存儲器的浪費。

不經(jīng)常變化的數(shù)據(jù)也是緩存的候選數(shù)據(jù),因為您無須擔(dān)心數(shù)據(jù)與數(shù)據(jù)庫的同步問題。組合框、引用表、DHTML 碎片、可擴展標(biāo)記語言 (XML) 字符串、菜單項和站點配置變量(包括數(shù)據(jù)源名稱 (DSN)、Internet 協(xié)議 (IP) 地址和 Web 路徑)都是緩存的候選數(shù)據(jù)。注意,您可以緩存數(shù)據(jù)的表示而不是數(shù)據(jù)本身。如果 ASP 頁不經(jīng)常更改,而且緩存的成本也非常高(例如,整個產(chǎn)品目錄),請考慮預(yù)先生成 HTML,而不是在每次請求時重新繪制。

數(shù)據(jù)應(yīng)緩存在何處,有哪些緩存策略?數(shù)據(jù)經(jīng)常緩存在 Web 服務(wù)器內(nèi)存或 Web 服務(wù)器磁盤上。下面兩個技巧討論這些選項。

技巧 2:在 Application 或 Session 對象中緩存常用數(shù)據(jù)

ASP Application 和 Session 對象為在內(nèi)存中緩存數(shù)據(jù)提供了方便的容器。既可以將數(shù)據(jù)賦予 Application 對象,也可將數(shù)據(jù)賦予 Session 對象,這些數(shù)據(jù)在 HTTP 調(diào)用中將保留在內(nèi)存中。Session 數(shù)據(jù)按用戶存儲,而 Application 數(shù)據(jù)在所有用戶間共享。

何時將數(shù)據(jù)載入 Application 或 Session?通常,在 Application 或 Session 啟動時加載數(shù)據(jù)。要在 Application 或 Session 啟動時加載數(shù)據(jù),請在下面兩函數(shù)中添加相應(yīng)的代碼:
Application_OnStart()

Session_OnStart()
。這兩個函數(shù)應(yīng)該位于 Global.asa;如果沒有,可以添加這些函數(shù)。也可以在第一次需要數(shù)據(jù)時加載數(shù)據(jù)。要進行上述操作,請在 ASP 頁中添加一些代碼(或編寫可重用的腳本函數(shù)),這些代碼檢查數(shù)據(jù)是否存在,并在數(shù)據(jù)不存在時加載數(shù)據(jù)。這是稱為遲緩計算的經(jīng)典性能技術(shù)的例子 - 在您的確需要它之前,不進行計算。請看例子:

<%
Function GetEmploymentStatusList
Dim d
d = Application("EmploymentStatusList")
If d = "" Then
‘' FetchEmploymentStatusList 函數(shù)(不顯示)
‘' 從 DB 中取出數(shù)據(jù),返回數(shù)組
d = FetchEmploymentStatusList()
Application("EmploymentStatusList") = d
End If
GetEmploymentStatusList = d
End Function
%>

可以為每一塊所需的數(shù)據(jù)編寫類似的函數(shù)。

數(shù)據(jù)應(yīng)該以什么格式存儲?任何變量類型均可存儲,因為所有腳本變量是各不相同的。例如,可以存儲字符串、整型或數(shù)組。通常,您將以這些變量類型之一存儲 ADO 記錄集的內(nèi)容。若要獲取 ADO 記錄集衍生的數(shù)據(jù),可以手工將數(shù)據(jù)復(fù)制到 VBScript 變量中,每次一個字段。使用一個 ADO 記錄集保留函數(shù) GetRows()、GetString() 或 Save() (ADO 2.5),會更快更簡便。完整而詳細的內(nèi)容已超出了本文的范圍。下面的演示函數(shù)使用了
GetRows()
來返回記錄集數(shù)據(jù)的數(shù)組:

‘' 取記錄集,以數(shù)組返回
Function FetchEmploymentStatusList
Dim rs
Set rs = createObject("ADODB.Recordset")
rs.Open "select StatusName, StatusID from EmployeeStatus", _
"dsn=employees;uid=sa;pwd=;"
FetchEmploymentStatusList = rs.GetRows() ‘' 以數(shù)組返回數(shù)據(jù)
rs.Close
Set rs = Nothing
End Function

對上面示例的進一步改進應(yīng)當(dāng)是緩存該列表的 HTML,而不是緩存數(shù)組。下面是一個簡單的范例:

‘' 取記錄集,以"HTML 選項"列表返回
Function FetchEmploymentStatusList
Dim rs, fldName, s
Set rs = createObject("ADODB.Recordset")
rs.Open "select StatusName, StatusID from EmployeeStatus", _
"dsn=employees;uid=sa;pwd=;"
s = "<select name=""EmploymentStatus">" & vbCrLf
Set fldName = rs.Fields("StatusName") ‘' ADO 字段綁定
Do Until rs.EOF
‘' 下面一行違背了不要進行字符串連接,
‘' 但這是可以的,因為我們正在建立高速緩存
s = s & " <option>" & fldName & "</option>" & vbCrLf
rs.MoveNext
Loop
s = s & "</select>" & vbCrLf
rs.Close
Set rs = Nothing ‘' 參見盡早釋放
FetchEmploymentStatusList = s ‘' 以字符串返回數(shù)據(jù)
End Function

在正常的情況下,可以在 Application 或 Session 作用域中緩存 ADO 記錄集本身。有兩個警告:

ADO 必須為標(biāo)記的自由線程
必須使用斷開連接的記錄集。
如果不能保證滿足這兩個要求,請不要緩存 ADO 記錄集。在下面的非靈活組件和不要緩存連接技巧中,我們將討論在 Application 或 Session 作用域中存儲 COM 對象的危險。

如果在 Application 或 Session 作用域中存儲數(shù)據(jù),這些數(shù)據(jù)將一直保留在那兒,直到在程序中改變它、Session 過期或 Web 應(yīng)用程序重新啟動時為止。數(shù)據(jù)需要更新如何處理?若要用手工強制更新應(yīng)用程序數(shù)據(jù),可以調(diào)用只允許管理員訪問的數(shù)據(jù)更新 ASP 頁。另外,還可以通過函數(shù),周期地自動刷新數(shù)據(jù)。下面的示例存儲帶緩存數(shù)據(jù)的時間戳,在指定時間間隔后刷新數(shù)據(jù)。

<%
‘' 未顯示錯誤處理...
Const update_INTERVAL = 300 ‘' 刷新時間間隔,以秒計

‘' 函數(shù)返回雇傭狀態(tài)列表
Function GetEmploymentStatusList
updateEmploymentStatus
GetEmploymentStatusList = Application("EmploymentStatusList")
End Function

‘' 定期更新緩存的數(shù)據(jù)
Sub updateEmploymentStatusList
Dim d, strLastupdate
strLastupdate = Application("Lastupdate")
If (strLastupdate = "") or _
(update_INTERVAL DateDiff("s", strLastupdate, Now)) Then

‘' 注意:此處可能有兩個或多個調(diào)用。這是可以的,只不過
‘' 產(chǎn)生幾個不必要的取指令罷了(就此有一個工作區(qū))

‘' FetchEmploymentStatusList 函數(shù)(不顯示)
‘' 從 DB 中取數(shù)據(jù),返回一個數(shù)組
d = FetchEmploymentStatusList()

‘' 更新 Application 對象。用 Application.Lock()
‘' 來確保一致的數(shù)據(jù)
Application.Lock
Application("EmploymentStatusList") = d
Application("Lastupdate") = CStr(Now)
Application.Unlock
End If
End Sub

其他示例,請參閱具有 Application 數(shù)據(jù)的最快列表框(英文)。

請注意,在 Session 或 Application 對象中緩存大型數(shù)組并非上策。在訪問數(shù)組元素之前,腳本語言的語法要求建立整個數(shù)組的臨時副本。例如,如果在 Application 對象中緩存了將美國郵政編碼映射到本地氣象站的字符串?dāng)?shù)組,該字符串?dāng)?shù)組有 100,000 個元素,ASP 在找出一個字符串之前,必須將所有 100,000 個氣象站復(fù)制到臨時數(shù)組中。在這種情況下,建立帶自定義方法的自定義組件,來存儲氣象站 - 或使用一個字典組件,也許更好。

請不要在倒洗澡水時把孩子一同倒掉,對這種觀點的一個新的注解是:數(shù)組提供了對內(nèi)存中相鄰關(guān)鍵-數(shù)據(jù)對的快速查找和存儲。索引字典比索引數(shù)組要慢。您應(yīng)該根據(jù)具體情況選擇能夠提供最佳性能的數(shù)據(jù)結(jié)構(gòu)。

技巧 3:在 Web 服務(wù)器磁盤上緩存數(shù)據(jù)和 HTML

有時,數(shù)據(jù)過多不能在內(nèi)存中進行緩存。"過多"是一種定性的判斷;它取決于打算消耗的內(nèi)存量,還有緩存項的數(shù)量和這些項的檢索頻率。總之,如果有過多的數(shù)據(jù)要在內(nèi)存中緩存,請考慮以文本或 XML 文件的形式,在 Web 服務(wù)器的硬盤上緩存數(shù)據(jù)。可以將在磁盤上緩存數(shù)據(jù)和在內(nèi)存中緩存數(shù)據(jù)組合起來,為站點建立最優(yōu)的緩存策略。

注意,在度量單個 ASP 頁的性能時,在磁盤上檢索數(shù)據(jù)不一定比從數(shù)據(jù)庫中檢索數(shù)據(jù)快。但是,緩存減輕了數(shù)據(jù)庫和網(wǎng)絡(luò)的負荷。在高負荷情況下,這將明顯提高總體通信量。在查詢成本很高時緩存查詢的結(jié)果,緩存便非常有效,例如多表聯(lián)合或復(fù)雜的存儲過程,或緩存大型的結(jié)果集。按照慣例,測試競爭方案。

ASP 和 COM 提供了幾種構(gòu)建磁盤緩存方案的工具。ADO 記錄集的 Save() 和 Open() 函數(shù),保存和加載磁盤上的記錄集。您可以使用這些方法重寫上面 Application 數(shù)據(jù)緩存技巧中的范例代碼,用 Save() 文件替換向 Application 對象寫入數(shù)據(jù)的代碼。

還有其他一些處理文件的組件:

Scripting.FileSystemObject 使您能夠創(chuàng)建、讀取和寫入文件。
MSXML 是隨 Internet Explorer 提供的 Microsoft(R) XML 解析器,它支持保存和加載 XML 文檔。
LookupTable 對象(在 MSN 上使用的范例)是從磁盤加載簡單列表的良好選擇。
最后,請考慮在磁盤上緩存數(shù)據(jù)的表示,而不是數(shù)據(jù)本身。預(yù)制的 HTML 可以作為 .htm 或 .asp 文件存儲在磁盤上;超級鏈接可以直接指向這些文件??梢允褂蒙虡I(yè)工具,如 XBuilder 或 Microsoft(R) SQL Server 的 Internet 發(fā)行功能來自動化 HTML 生成過程。另外,可以將 HTML 片段 #include 到 .asp 文件。還可以使用 FileSystemObject 從磁盤讀取 HTML 文件或使用 XML 進行早期調(diào)整(英文)。

技巧 4:避免在 Application 或 Session 對象中緩存非靈活組件

雖然在 Application 或 Session 對象中緩存數(shù)據(jù)是個好主意,但是緩存 COM 對象可能有嚴(yán)重缺陷。將常用 COM 對象嵌入 Application 或 Session 對象通常具有吸引力。遺憾的是,很多 COM 對象,包括用 Visual Basic 6.0 或更早版本編寫的 COM 對象,在 Application 或 Session 對象中存儲時將導(dǎo)致嚴(yán)重的瓶頸。

特別是任何非靈活組件,在 Session 或 Application 對象中緩存時將導(dǎo)致性能瓶頸。靈活組件是標(biāo)記為
ThreadingModel=Both
的組件(它聚集了自由線程匯集器 (FTM))或標(biāo)記為
ThreadingModel=Neutral
的組件(Windows(R) 2000 和 COM+ 中新增的"中性"模型。)下列組件是非靈活的:

自由線程組件(除非它們聚集了 FTM)。
單元線程組件。
單線程組件。
已配置組件(Microsoft Transaction Server (MTS)/COM+ 庫和服務(wù)器包/應(yīng)用程序)為非靈活組件,除非它們是"中性"線程的。單元線程組件和其他非靈活組件最適于在頁作用域工作(也就是說,它們在單個 ASP 頁上創(chuàng)建和銷毀)。

在 IIS 4.0 中,標(biāo)記為
ThreadingModel=Both
的組件被視為靈活的。在 IIS 5.0 中,這已經(jīng)不夠了。組件不僅必須標(biāo)記為 Both,而且還必須聚集 FTM。靈活性文章說明了如何使得用"活動模板庫"編寫的 C++ 組件聚集 FTM。請注意,如果組件緩存接口指針,這些指針本身必須為靈活的、或者必須存儲在"COM 全局接口表 (GIT)"中。如果不能重新編譯 Both 線程組件,使它聚集 FTM,則可以將該組件標(biāo)記為
ThreadingModel=Neutral
。另外,如果不希望 IIS 進行靈活性檢查(這樣,希望非靈活組件能夠存儲在 Application 或 Session 作用域中),可以在 metabase 中設(shè)置
AspTrackThreadingModel

True
。不主張更改
AspTrackThreadingModel
。

如果試圖在 Application 對象中存儲用
Server.createObject
創(chuàng)建的非靈活組件,IIS 5.0 將產(chǎn)生錯誤??梢酝ㄟ^在 Global.asa 中使用
<object runat=server scope=application ...>
解決該問題,但是不主張這樣做,因為這將導(dǎo)致匯集和串行化,說明如下。

如果緩存非靈活組件,會發(fā)生什么錯誤呢?緩存在 Session 對象中的非靈活組件,將把會話"鎖定"到某個 ASP 工作器線程。ASP 維護著一個工作器線程池,它向請求提供服務(wù)。通常,新的請求由第一個可用的工作器線程來處理。如果 Session 被鎖定到某個線程,則該請求將不得不等待它所關(guān)聯(lián)的線程變?yōu)榭捎?。打個比方:您進入一個超市,挑選了一些食品,然后在第 3 號收款臺交款。從這以后,每當(dāng)您在這個超市購買食品,都不得不始終在第 3 號收款臺交款,即使是在其他收款臺人少或沒人時。

將非靈活組件存儲在 Applicaton 作用域甚至?xí)π阅墚a(chǎn)生更嚴(yán)重的影響。ASP 將不得不創(chuàng)建專用的線程來運行非靈活的、Applicaton 作用域內(nèi)的組件。這將導(dǎo)致兩種后果:所有調(diào)用不得不被匯集到該線程,而且所有調(diào)用被串行化。匯集意味著:參數(shù)不得不存儲在內(nèi)存的共享區(qū);對該專用線程執(zhí)行昂貴的上下文切換;組件的方法被執(zhí)行;結(jié)果匯集到共享區(qū)域;以及經(jīng)過另一個昂貴的上下文切換,使控制權(quán)返回原來的線程。串行化意味著所有方法必須一個挨一個地運行(同一時刻只能運行一個方法)。兩個不同的 ASP 工作器線程不可能同時執(zhí)行共享組件上的方法。這將扼殺并行機制,尤其是在多處理器計算機上。更壞的是,所有非靈活的、Application 作用域內(nèi)的組件都將共享一個線程("Host STA"),所以串行化的影響更加嚴(yán)重。

是否感到困惑?下面我們提出幾個通用規(guī)則。如果您正在用 Visual Basic (6.0) 或更早版本編寫對象,請不要將它們緩存在 Application 或 Session 對象中。如果您不知道對象的線程模型,就不要緩存它。不要緩存非靈活對象,而應(yīng)當(dāng)在每頁上創(chuàng)建并釋放它們。對象將直接運行在 ASP 工作器線程上,這樣,將不會發(fā)生匯集或串行化。如果 COM 對象正運行在 IIS 框中,而且如果它們沒有花很長時間來初始化和取消,性能將是足夠的。注意,不要用該方法使用單線程對象。小心:VB 可以創(chuàng)建單線程的對象!如果您必須以該方式使用單線程的對象(如 Microsoft Excel 電子表格),則不要期望有很高的吞吐量。

當(dāng) ADO 被標(biāo)記為自由線程時,則緩存 ADO 記錄集是安全的。要將 ADO 標(biāo)記為自由線程,請使用 Makfre15.bat 文件,該文件通常位于如下目錄中:\\Program Files\Common\System\ADO。

警告: 如果您正在用 Microsoft Access 作為數(shù)據(jù)庫,則不應(yīng)當(dāng)將 ADO 標(biāo)記為自由線程。通常,ADO 記錄集還必須是斷開連接的,如果您不能控制站點的 ADO 配置(例如,您是獨立的軟件廠商 [ISV],將 Web 應(yīng)用程序賣給客戶,然后由他們來管理他們自己的配置),那么不緩存記錄集可能會更好。

詞典組件也是靈活對象。LookupTable 從數(shù)據(jù)文件加載它的數(shù)據(jù),并且它對組合框數(shù)據(jù)和配置信息是有用的。來自 Duwamish Books 的 PageCache 對象提供了目錄語義,和 Caprock Dictionary 的表現(xiàn)一樣。這些對象或它們的派生對象可以構(gòu)成有效緩存策略的基礎(chǔ)。注意,Scripting.Dictionary 對象不是靈活的,所以不應(yīng)當(dāng)存儲在 Application 或 Session 作用域。

技巧 5:不要在 Application 或 Session 對象中緩存數(shù)據(jù)庫連接

緩存 ADO 連接通常是不好的策略。如果一個 Connection 對象存儲在 Application 中,并在所有頁上使用,那么所有頁將競爭使用該連接。如果 Connection 對象存儲在 ASP Session 對象中,那么將為每個用戶創(chuàng)建數(shù)據(jù)庫連接。這將連接池的好處毀于一旦,并對 Web 服務(wù)器和數(shù)據(jù)庫產(chǎn)生不必要的壓力。

取代緩存數(shù)據(jù)庫連接的方法是,在每個使用 ADO 的 ASP 頁上創(chuàng)建并取消 ADO 對象。這是個有效的方法,因為 IIS 具有內(nèi)置的數(shù)據(jù)庫連接池。更準(zhǔn)確的說,IIS 自動啟用 OLEDB 和 ODBC 連接池。這確保了創(chuàng)建并取消每個頁上的連接將是有效的。

由于被連接的記錄集中存儲有對數(shù)據(jù)庫連接的引用,所以,不應(yīng)當(dāng)在 Application 或 Session 對象中緩存被連接的記錄集。但是,可以安全地緩存斷開連接的記錄集,因為它不包含對其數(shù)據(jù)連接的引用。要斷開記錄集的連接,請執(zhí)行如下兩個步驟:

Set rs = Server.createObject("ADODB.RecordSet")
rs.CursorLocation = adUseClient ‘' 第 1 步

‘' 植入帶數(shù)據(jù)的記錄集
rs.Open strQuery, strProv

‘' 現(xiàn)在斷開記錄集同數(shù)據(jù)提供者和數(shù)據(jù)源的連接
rs.ActiveConnection = Nothing ‘' 第 2 步

有關(guān)連接池的詳細信息,請參閱 ADO 和 SQL Server(英文)引用。

技巧 6:妙用 Session 對象

在肯定了在 Applications 和 Sessions 中緩存的優(yōu)點之后,我們建議您避免使用 Session 對象。下面將會談到,當(dāng)用于忙碌站點時,Sessions 有幾個缺點。所謂忙碌,通常是指站點每秒請求數(shù)百頁或同時有數(shù)千個用戶。該技巧對于必須進行水平擴展的站點,即那些利用多個服務(wù)器來適應(yīng)負載或執(zhí)行容錯功能的站點來說,更加重要。對于較小的站點,如 intranet 站點,Sessions 的便利,與開銷相比也是值得的。

為了翻新,ASP 自動為每個訪問 Web 服務(wù)器的用戶創(chuàng)建一個 Session。每個 Session 有大約 10 KB 內(nèi)存開銷(在存儲在 Session 中的任何數(shù)據(jù)中是最高的),并使所有的請求都慢了一點。Session 一直保持活動狀態(tài),直到達到可配置的超時(通常 20 分鐘)為止。

Session 最大的問題不是性能而是可伸縮性。Session 不能跨越 Web 服務(wù)器;一旦在一個服務(wù)器上創(chuàng)建了 Session,它的數(shù)據(jù)就保持在那里。這意味著,如果您在 Web 領(lǐng)域中使用 Sessions,您將不得不為每個用戶的請求設(shè)計一種策略,以便始終將這些請求引向用戶的 Session 所在的服務(wù)器。這被稱為將用戶"粘"到 Web 服務(wù)器上。術(shù)語"粘性會話"即來源于此。由于 Session 沒有保持到磁盤上,所以,當(dāng) Web 服務(wù)器崩潰時,被"粘住"的用戶將丟失他們的 Sessions 狀態(tài)。

用于實施粘性會話的策略包括硬件和軟件解決方案。如 Windows 2000 Advanced Server 中的網(wǎng)絡(luò)負載平衡解決方案和 Cisco 公司的"本地指向器"解決方案可以實施粘性會話,但以犧牲一些可伸縮性為代價。這些解決方案并不完美。我們不主張您現(xiàn)在全盤推翻您的軟件解決方案(我們過去常用 ISAPI 篩選器和 URL 矯直對方案進行檢查)。

Application 對象也不能跨越服務(wù)器;如果您需要在 Web 領(lǐng)域內(nèi)共享并更新 Application 數(shù)據(jù),則需要使用后端數(shù)據(jù)庫。但只讀的 Application 數(shù)據(jù)在 Web 領(lǐng)域中仍然有用。

如果只是為了增加正常運行時間(用于處理故障轉(zhuǎn)移和服務(wù)器維護),大多數(shù)執(zhí)行重要任務(wù)的站點將需要部署至少兩臺 Web 服務(wù)器。所以,在設(shè)計執(zhí)行重要任務(wù)的應(yīng)用程序時,您將需要實施"粘性會話",或者簡單地避開 Sessions 以及其他任何在單個 Web 服務(wù)器上存儲用戶狀態(tài)的狀態(tài)管理技術(shù)。

如果當(dāng)前沒有使用 Sessions,請確保將它們關(guān)閉??梢酝ㄟ^"Internet 服務(wù)管理器"(請參閱 ISM 文檔)來為應(yīng)用程序執(zhí)行該操作。如果決定使用 Sessions,可以采取幾個方法來將對性能的影響降低到最小。

可以將不需要 Sessions 的內(nèi)容(如"幫助"屏幕、訪問者區(qū)域等)移動到關(guān)閉了 Sessions 的、單獨的 ASP 應(yīng)用程序中??梢灾痦撎崾?ASP:在給定的頁中您不需要 Session 對象;使用位于 ASP 頁頂端的如下指令:

<% @EnableSessionState=False %>

使用該指令的一個很好的原因是,Session 給框架集帶來了有趣的問題。ASP 保證任何時候只執(zhí)行一個來自 Session 的請求。這樣可以確保如果瀏覽器為一個用戶請求了多個頁時,在每一時刻只有一個 ASP 請求將進入 Session;這就避免了在訪問 Session 對象時出現(xiàn)多線程問題。遺憾的是,結(jié)果,框架集中的所有頁均被以串行化方式繪制,一個接一個地,而不是同時地。這樣,用戶可能不得不等待很長時間才能得到所有框架內(nèi)容。這意味著:如果某些框架頁不信任 Session,一定要使用
@EnableSessionState=False
指令告訴 ASP。

作為使用 Session 對象的替代方式,有很多方法可以用來管理 Session 狀態(tài)。對于狀態(tài)數(shù)量較小的情況(不到 4 KB),通常建議使用 Cookies、QueryString 變量和隱藏形式的變量。對于較大數(shù)量的數(shù)據(jù),如購物推車,則使用后端數(shù)據(jù)庫是最合適的選擇。關(guān)于在 Web 服務(wù)器領(lǐng)域中的狀態(tài)管理技術(shù)已經(jīng)有很多資料。詳細信息,請參閱 會話狀態(tài)(英文)。

技巧 7:在 COM 對象中封裝代碼

如果您有很多 VBScript 或 JScript,那么您可以通過把代碼移動到已編譯的 COM 對象來經(jīng)常改進它們的性能。已編譯的代碼通常比被解釋代碼運行得更快。已編譯的 COM 對象可以通過"早期綁定"訪問其他 COM 對象,這種調(diào)用 COM 對象方法的手段,比腳本所使用的"后期綁定"更有效。

將代碼封裝在 COM 對象種有如下好處(超越性能):

COM 對象是將表達邏輯與業(yè)務(wù)邏輯分隔開來的好辦法。
COM 對象啟用了代碼重用。
很多開發(fā)商發(fā)現(xiàn),用 VB、C++ 或 Visual J++ 書寫的代碼,比 ASP 更容易調(diào)試。
COM 對象有一些缺點,包括初始開發(fā)時間以及需要不同的編程技巧。需要警告您的是,封裝"少"量的 ASP 可能會導(dǎo)致性能降低,而不是提高。通常,在少量 ASP 代碼封裝到 COM 對象時出現(xiàn)這樣的情況。這時候,創(chuàng)建和調(diào)用 COM 對象的開銷,超過了已編譯代碼的好處。至于 ASP 腳本和 COM 對象代碼怎樣合并才能產(chǎn)生最佳性能還有待測試。注意,與 Windows NT(R) 4.0/IIS 4.0 相比,Microsoft 已經(jīng)在 Windows 2000/IIS 5.0 中極大地提高了腳本和 ADO 性能。這樣,已編譯代碼對 ASP 代碼的性能優(yōu)勢已經(jīng)隨著 IIS 5.0 的引入而降低。

有關(guān)在 ASP 中使用 COM 對象的優(yōu)缺點的更多討論,請參閱 ASP 組件準(zhǔn)則和用 COM 和 Microsoft Visual Basic 6.0 對分布式應(yīng)用程序進行編程(英文)。如果您的確部署了 COM 組件,要對它們進行強度測試是非常重要的。實際上,所有 ASP 應(yīng)用程序都應(yīng)當(dāng)作為正式過程進行強度測試。

技巧 8:晚點獲取資源,早點釋放資源

這是個小技巧。通常,最好晚點獲取資源而要早點釋放資源。這些資源包括 COM 對象、文件句柄和其他資源。

ADO 連接和記錄集是這種優(yōu)化的首要目標(biāo)。當(dāng)您使用完記錄集,就是說用它的數(shù)據(jù)打印完一個表格后,請立即將它釋放,而不是等到頁的末尾。將您的 VBScript 變量設(shè)置為
Nothing
是最好的做法。不要讓記錄集簡單地脫離作用域。同時,應(yīng)當(dāng)釋放任何有關(guān)的 Command 或 Connection 對象。(不要忘了對記錄集或"連接"調(diào)用
Close()
,在將它們設(shè)置為
= Nothing
之前。)這將縮短數(shù)據(jù)庫必須為您調(diào)整資源的時間跨度,并將數(shù)據(jù)庫連接盡可能快地釋放給連接池。

技巧 9:進程外的執(zhí)行將犧牲可靠性

ASP 和 MTS/COM+ 都有允許您以可靠性換取性能的配置選項。當(dāng)建立和部署應(yīng)用程序時,應(yīng)當(dāng)理解這種交換。

ASP 選項

ASP 應(yīng)用程序可以配置為以三種方式之一運行。在 IIS 5.0 中引入了術(shù)語"隔離級"來描述這些選項。三個隔離級值分別是低、中和高:

低級隔離。該隔離級在所有版本的 IIS 中受到支持,并且是最快的。它在主 IIS 進程 Inetinfo.exe 中執(zhí)行 ASP。如果 ASP 應(yīng)用程序崩潰,則 IIS 也將崩潰。(要在 IIS 4.0 下重新啟動 IIS,Web 站點管理員需要使用工具,如 InetMon,來監(jiān)視站點,如果服務(wù)器失敗,將運行批處理文件來重新啟動服務(wù)器。而 IIS 5.0 則引入了可靠的重新啟動,它將自動重新啟動失敗的服務(wù)器。)
中級隔離。IIS 5.0 引入了這個新隔離級,它稱為進程外的,這是因為 ASP 運行在 IIS 進程之外。在中級隔離中,所有被配置按"中級"運行的 ASP 應(yīng)用程序,將共享單個進程空間。這將減少在一個服務(wù)器上運行多個進程外的 ASP 應(yīng)用程序所需的進程數(shù)。中級是 IIS 5.0 中默認的隔離級。
高級隔離。在 IIS 4.0 和 IIS 5.0 中受到支持,高級隔離也是進程外的。如果 ASP 崩潰,則 Web 服務(wù)器并不崩潰。ASP 應(yīng)用程序?qū)⒃谙乱粋€ ASP 請求時自動重新啟動。使用高級隔離,每個被配置為按高級運行的 ASP 應(yīng)用程序,將在其自己的進程空間中運行。這樣可以保護 ASP 應(yīng)用程序彼此不受干擾。它的缺點是它需要為每個 ASP 應(yīng)用程序建立獨立的進程。當(dāng)需要在一個服務(wù)器上主持十多個應(yīng)用程序時,會增加很多開銷。
那么,哪個選項是最好的呢?在 IIS 4.0 中,運行進程外的應(yīng)用程序會極大地影響性能。在 IIS 5.0 中,做了許多工作,使得進程外運行 ASP 應(yīng)用程序?qū)π阅墚a(chǎn)生的影響降到了最低。實際上,在大多數(shù)測試中,在 IIS 5.0 中的 ASP 進程外應(yīng)用程序,要比 IIS 4.0 中的進程內(nèi)應(yīng)用程序運行得更快。無論如何,進程內(nèi)(低隔離級)在兩種平臺上仍然產(chǎn)生了最好的性能。但是,如果您的命中率相對較低或最大吞吐量較低,選擇低隔離級不會有太大的好處。所以,除非您需要每個 Web 服務(wù)器每秒處理數(shù)百或數(shù)千個頁面,否則沒有必要選擇低隔離級。同樣,應(yīng)當(dāng)測試多種配置并判斷哪種情形最適合您。

注意: 當(dāng)您進程外運行 ASP 應(yīng)用程序(中級或高級隔離)時,則在 NT4 上它們將運行在 MTS 中,而在 Windows 2000 上它們將運行在 COM+ 中。即,在 NT4 上它們運行在 Mtx.exe 中,而在 Windows 2000 上它們運行在 DllHost.exe 中。在"任務(wù)管理器"中,您可以看見這些正在運行的進程。還可以看見 IIS 如何為進程外的 ASP 應(yīng)用程序配置 MTS 程序包或 COM+ 應(yīng)用程序。

COM 選項

COM 組件也有三個配置選項,雖然與 ASP 選項不完全相似。COM 組件可以被:"不配置"、配置為"庫應(yīng)用程序"或配置為"服務(wù)器應(yīng)用程序"。"不配置"是指不向 COM+ 注冊組件。組件將運行在調(diào)用者的進程空間,就是說,它們是"進程中"的。"庫應(yīng)用程序"也是進程中的,但受惠于 COM+ 的服務(wù),包括安全性、事務(wù)和環(huán)境支持。"服務(wù)器應(yīng)用程序"被配置為在其自己的進程空間中運行。

您可能看到,不配置的組件比庫應(yīng)用程序優(yōu)點稍微多些。您還可能看到"庫應(yīng)用程序"比"服務(wù)器應(yīng)用程序"有很大的性能優(yōu)點。這是因為"庫應(yīng)用程序"與 ASP 運行在同一個進程中,而"服務(wù)器應(yīng)用程序"則運行在自己的進程中。內(nèi)部進程調(diào)用的開銷要比進程內(nèi)調(diào)用的開銷大得多。而且,當(dāng)在進程之間傳遞數(shù)據(jù)(如記錄集)時,必須在兩個進程之間復(fù)制所有的數(shù)據(jù)。

缺點!當(dāng)使用"COM 服務(wù)器應(yīng)用程序"時,如果要在 ASP 和 COM 之間傳遞對象,請確保對象實現(xiàn)"按值匯集",即 MBV。實現(xiàn) MBV 的對象將其自身從一個進程復(fù)制到另一個進程。這比另一種方式好,在另一種方式中,對象留在創(chuàng)建它的進程中,而其他進程則重復(fù)調(diào)用創(chuàng)建使用該對象的進程。被斷開連接的 ADO 記錄集將是按值匯集的,已連接的記錄集則不是。Scripting.Dictionary 并不實現(xiàn) MBV,不會在進程之間傳遞。最后,要另外告訴 VB 程序員的是:MBV 不是通過傳遞參數(shù)
ByVal
獲得的。MBV 是由原始組件創(chuàng)作者實現(xiàn)的。

怎么辦?

如果您想要以性能與可靠性的合理交換來完成您的配置,我們的推薦如下:

在 IIS 4.0 上,使用 ASP 的低隔離級別,并使用"MTS 服務(wù)器包"。
在 IIS 5.0 上,使用 ASP 的中隔離級別,并使用"COM+ 庫應(yīng)用程序"。
這些是很一般的準(zhǔn)則;通常讓公司以中或高隔離級別運行 ASP,而單一目的的 Web 服務(wù)器可運行于低隔離級別。請權(quán)衡折中并自行決定滿足需求的配置。

技巧 10:顯式使用選項

在 .asp 文件中顯式使用
選項 Explicit
。置于 .asp 文件開頭的這一指令,強制開發(fā)人員聲明所有要使用的變量。許多開發(fā)人員認為這有助于調(diào)試應(yīng)用程序,因為它避免了錯誤鍵入變量名稱而不經(jīng)意地新建變量(例如,
MyXLMString=...
而非
MyXMLString=)

也許更重要的是,聲明的變量比未聲明的變量快。實際上,腳本運行時,在每次使用未聲明變量時按照名稱引用。而聲明的變量,在編譯或運行時分配了序號。這樣,聲明的變量按照該序號引用。由于
選項 Explicit
強制變量聲明,因此保證聲明了所有變量而實現(xiàn)快速訪問。

技巧 11:在子例程和函數(shù)中使用局部變量

局部變量是在子例程和函數(shù)中聲明的變量。在子例程和函數(shù)中,局部變量訪問要快于全局變量訪問。使用局部變量還可以使代碼更加清晰,因此盡可能使用局部變量。

技巧 12:將常用數(shù)據(jù)復(fù)制到腳本變量

在 ASP 中訪問 COM 時,應(yīng)該將常用的對象數(shù)據(jù)復(fù)制到腳本變量中。這將削減 COM 方法的調(diào)用,COM 方法的調(diào)用與訪問腳本變量相比,要相對昂貴些。在訪問 Collection 和 Dictionary 對象時,這一技術(shù)也可以削減了昂貴的查找。

通常,如果打算多次訪問對象數(shù)據(jù),請將數(shù)據(jù)放入腳本變量。該優(yōu)化的主要目標(biāo)是 Request 變量(Form 和 QueryString 變量)。例如,您的站點可能傳遞一個名為 UserID 的 QueryString。假定該 UserID 變量要在特定頁中引用 12 次。請不要調(diào)用
Request("UserID")
12 次,而在 ASP 頁的開頭將 UserID 賦予某個變量。然后就在頁中使用該變量。這將節(jié)省 11 次 COM 方法調(diào)用。

在實際中,訪問 COM 屬性或方法暗藏著繁復(fù)的過程和大量的開銷。下面是一個示例,它只是些相當(dāng)普通的代碼(從語法上講):

Foo.bar.blah.baz = Foo.bar.blah.qaz(1)
If Foo.bar.blah.zaq = Foo.bar.blah.abc Then ‘' ...

在運行這段代碼時,將發(fā)生下列事件:

變量
Foo
被解析為全局變量。
變量
bar
被解析為
Foo.
的成員。這將產(chǎn)生 COM 方法調(diào)用。
變量
blah
被解析為
Foo.bar
的成員。這也將產(chǎn)生 COM 方法調(diào)用。
變量
qaz
被解析為
foo.bar.blah
的成員。是的,這也將產(chǎn)生 COM 方法調(diào)用。
調(diào)用
Foo.bar.blah.quaz(1)
。又一次產(chǎn)生 COM 方法調(diào)用。理解這幅圖了嗎?
執(zhí)行步驟 1 到 3 將再次解析
baz
。系統(tǒng)不知道調(diào)用
qaz
是否更改對象模型,因此步驟 1 到 3 必須再次執(zhí)行解析
baz
。

baz
解析為
Foo.bar.blah
的成員。進行屬性置入。
再次執(zhí)行步驟 1 到 3 并解析
zaq
。
再次執(zhí)行步驟 1 到 3 并解析
abc
。
正如所見,這是非??膳碌牡托剩ǘ曳浅BS?VBScript 編寫該代碼實現(xiàn)的快速方法為:

Set myobj = Foo.bar.blah ‘' 對 blah 做一次解析
Myobj.baz = myobj.qaz(1)
If Myobj.zaq = Myobj.abc Then ‘'...

如果您使用的是 VBScript 5.0 或更高版本,則可用
With
語句來寫這段代碼:

With Foo.bar.blah
.baz = .qaz(1)
If .zaq = .abc Then ‘'...
...
End With

請注意該技巧對 VB 編程同樣有效。

技巧 13:避免重新定義數(shù)組

盡量避免
Redim
數(shù)組。從關(guān)心性能的角度來說,如果計算機受物理內(nèi)存的限制,最好一開始將數(shù)組的維數(shù)設(shè)置為最差方案 - 而不要將維數(shù)設(shè)置為最佳方案,再根據(jù)需要重新定義維數(shù)。這并不意味著明知道不需要那么多而就是應(yīng)該分配太多的內(nèi)存。

下面代碼展示了您沒有必要地使用了
Dim

Redim
來解決。

<%
Dim MyArray()
Redim MyArray(2)
MyArray(0) = "hello"
MyArray(1) = "good-bye"
MyArray(2) = "farewell"
...
‘' 一些別的代碼中,這里您不需要更多的空間,然后 ...
Redim Preserve MyArray(5)
MyArray(3) = "more stuff"
MyArray(4) = "even more stuff"
MyArray(5) = "yet more stuff"
%>

更好的辦法是只須一開始
Dim
數(shù)組為正確的大?。ū纠袨?5),而不是
Redim
數(shù)組,再加大數(shù)組。這可能會浪費一點兒內(nèi)存(如果沒有用盡所有元素),但是獲得的是速度。

技巧 14:使用響應(yīng)緩沖

您可以通過打開"響應(yīng)緩沖區(qū)"來緩沖值得輸出的整個頁。這將寫入瀏覽器的數(shù)據(jù)量降為最小,從而提高總體性能。每次寫入都會有大量開銷(包括 IIS 和通過電纜發(fā)送的數(shù)據(jù)量),因此寫入的越少越好。TCP/IP 的工作效率,在發(fā)送少量大的數(shù)據(jù)塊時明顯高于發(fā)送大量小的數(shù)據(jù)塊時,原因在于它的低速啟動和 Nagling 算法(用于最小化網(wǎng)絡(luò)阻塞)。

打開響應(yīng)緩沖有兩種方法。第一種,可以使用"Internet 服務(wù)管理器"為整個應(yīng)用程序打開響應(yīng)緩沖。這是推薦的方法,在 IIS 4.0 和 IIS 5.0 中,在默認情況下,為新的 ASP 應(yīng)用程序打開響應(yīng)緩沖。第二種,逐頁將下列代碼行放在 ASP 頁的開頭,從而啟用響應(yīng)緩沖:

<% Response.Buffer = True %>

該行代碼必須在任何響應(yīng)數(shù)據(jù)寫入瀏覽器之前執(zhí)行(也就是說,在任何 HTML 出現(xiàn)在 ASP 腳本中之前和任何 Cookies 被使用
Response.Cookies
集合設(shè)置之前)。通常,最好是為整個應(yīng)用程序打開響應(yīng)緩沖。這允許省略上面每頁中的代碼行。

Response.Flush

響應(yīng)緩沖的通病是用戶感覺 ASP 頁響應(yīng)遲鈍(盡管總體響應(yīng)時間改善了),因為他們需要等到整個頁生成后才能看見該頁。對于長時間運行的頁面,可以通過設(shè)置
Response.Buffer = False
關(guān)閉響應(yīng)緩沖。但是,更好的策略是使用
Response.Flush
方法。該方法刷新由 ASP 繪入瀏覽器的所有 HTML。例如,繪制了具有 1,000 行的表的 100 行后,ASP 可以調(diào)用
Response.Flush
強制將結(jié)果繪制到瀏覽器;這允許用戶在其余的行準(zhǔn)備好之前先看到頭 100 行。該技術(shù)給了您兩個舉世無雙的好東西 - 響應(yīng)緩沖與瀏覽器中數(shù)據(jù)的逐步顯示的組合。

(注意,在上面 1,000 行表的示例中,許多瀏覽器,在看到 </table> 結(jié)束標(biāo)記之前不會開始繪制表。請檢查目標(biāo)瀏覽器的支持性。要解決該問題,請將表分割為具有較少行的多個表,然后在每個表后面調(diào)用
Response.Flush
。新版本的 Internet Explorer 將在表完全下載之前繪制表,特別是如果指定表的列寬則繪制速度更快;這避免強制 Internet Explorer 通過度量每個單元格的內(nèi)容來計算列寬。)

響應(yīng)緩沖的另一個通病是在生成大型頁時將使用服務(wù)器的大量內(nèi)存。對于該問題,除了要求生成大型頁的技巧外,還可以通過巧妙地使用
Response.Flush
來解決。

技巧 15:批處理內(nèi)嵌腳本和 Response.Write 語句

VBScript 語法
<% = expression %>
將"
表達式
"的值寫入 ASP 輸出流。如果響應(yīng)緩沖沒有打開,則這些語句的每一句都會導(dǎo)致通過網(wǎng)絡(luò),以許多小型包的形式,向瀏覽器寫入數(shù)據(jù)。這是非常慢的。另外,解釋少量腳本和 HTML,將導(dǎo)致在腳本引擎和 HTML 之間切換,也降低了性能。因此,請使用下面技巧:用對
Response.Write
的一個調(diào)用,替換內(nèi)嵌的密集組合表達式。例如,在下面范例中,每行每字段有一個對響應(yīng)流的寫入,每行都有許多 VBScript 和 HTML 之間的切換:

<table>
<% For Each fld in rs.Fields %>
<th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
<tr>
<% For Each fld in rs.Fields %>
<td><% = fld.Value %></td>
<% Next
</tr>
<% rs.MoveNext
Wend %>
</table>

下面是更有效的代碼,每行中有一個對響應(yīng)流的寫入。所有代碼均包含在一個 VBScript 塊內(nèi):

<table>
<%
For each fld in rs.Fields
Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)
Next
While Not rs.EOF
Response.Write ("<tr>")
For Each fld in rs.Fields %>
Response.Write("<td>" & fld.Value & "</td>" & vbCrLf)
Next
Response.Write "</tr>"
Wend
%>
</table>

當(dāng)響應(yīng)緩沖被禁用時,本技巧的作用更大。最好啟用響應(yīng)緩沖,然后觀察批處理
Response.Write
是否對性能有幫助。

(在這一特例中,構(gòu)建表的主體的嵌套循環(huán) (
While Not rs.EOF...
) 可以被精心構(gòu)造的、對 GetString 的調(diào)用所替代。)

技巧 16:在開始長時間的任務(wù)之前先使用 Response.IsClientConnected

如果用戶失去耐心,他們可以在開始執(zhí)行他們的請求之前放棄 ASP 頁。如果他們單擊了 Refresh 或跳轉(zhuǎn)到服務(wù)器的其他頁上,在 ASP 請求隊列的末尾將有一個新的請求,而在隊列的中間有一個斷開連接的請求。這通常發(fā)生在服務(wù)器處于高負荷的情況下(它有一個很長的請求隊列,相應(yīng)的響應(yīng)時間也很長),這只能使情況更糟。如果用戶不再連接,將沒有執(zhí)行 ASP 頁的點(特別是低速、重量級的 ASP 頁)??梢允褂?
Response.IsClientConnected
屬性檢查這種情況。如果它返回
False
,則應(yīng)調(diào)用
Response.End
并放棄該頁的剩余內(nèi)容。實際上,每當(dāng) ASP 要執(zhí)行新的請求時,IIS 5.0 便將該方法編碼,來檢查隊列中的請求有多長。如果在那里超過了 3 秒鐘,ASP 會檢查客戶是否仍然連接著,如果客戶已斷開連接,就立即結(jié)束該請求。您可以使用 metabase 中的
AspQueueConnectionTestTime
設(shè)置,調(diào)整這 3 秒的超時時間。

如果有某頁執(zhí)行了很長時間,您可能還想按一定的時間間隔檢查
Response.IsClientConnected
。在啟用響應(yīng)緩沖之后,按一定的時間間隔執(zhí)行
Response.Flush
,告訴用戶正在進行的是哪些事情,是個好辦法。

注意 在 IIS 4.0 中,
Response.IsClientConnected
將不能正常工作,除非首先執(zhí)行
Response.Write
。如果啟用了緩沖,也需要執(zhí)行
Response.Flush
。在 IIS 5.0 中則不必如此 -
Response.IsClientConnected
工作得很好。在任何情況下,
Response.IsClientConnected
都要有些開銷,所以,只有在執(zhí)行至少要用 500 毫秒(如果想維持每秒幾十頁的吞吐量,這是一個很長的時間了)的操作前才使用它。作為通常的規(guī)則,不要在緊密循環(huán)的每次迭代中調(diào)用它,例如當(dāng)繪制表中的行,可能每 20 行或每 50 行調(diào)用一次。

技巧 17:使用 <OBJECT> 標(biāo)記實例化對象

如果需要引用不能在所有代碼路徑中使用的對象(尤其是服務(wù)器 - 或應(yīng)用程序 - 作用域的對象),則使用 Global.asa 中的
<object runat=server id=objname>
標(biāo)記來聲明它們,而不是使用
Server.createObject
方法。
Server.createObject
立刻創(chuàng)建對象。如果以后不使用那個對象,就不要浪費資源。
<object id=objname>
標(biāo)記聲明了 objname,但實際上 objname 此時并沒有創(chuàng)建,直到它的方法或?qū)傩缘谝淮伪皇褂脮r才創(chuàng)建。

這是遲緩計算的另一個例子。

技巧 18:使用 ADO 對象和其他組件的 TypeLib 聲明

當(dāng)使用 ADO 時,開發(fā)人員經(jīng)常包含
adovbs.txt
來獲得對 ADO 不同常量的訪問權(quán)。該文件必須包含在要使用這些常量的每一頁中。該常量文件非常大,給每個 ASP 頁增加了很多編譯時間和腳本大小方面的開銷。

IIS 5.0 提供了綁定到組件類型庫的能力。允許您在每個 ASP 頁上引用一次類型庫并使用它。每頁不需要為編譯常量文件付出代價,并且組件開發(fā)人員不必為在 ASP 中的使用而生成 VBScript #include 文件。

要訪問 ADO 類型庫,請將下列語句之一放入 Global.asa 中。

<!-- METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library"
TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" -->

或者

<!-- METADATA TYPE="TypeLib"
FILE="C:\Program Files\Common Files\system\ado\msado15.dll" -->

技巧 19:利用瀏覽器的驗證能力

流行的瀏覽器具有對以下功能的高級支持,例如 XML、DHTML、Java 小程序以及遠程數(shù)據(jù)服務(wù)。請盡量利用這些功能。所有這些技術(shù),都可以通過執(zhí)行客戶端的驗證和數(shù)據(jù)緩存,減少了與 Web 服務(wù)器之間的往返。如果您正在運行智能瀏覽器,該瀏覽器可以為您進行一些驗證(例如,在運行 POST 之前檢查信用卡的校驗和否有效)。重申一次,請盡量使用這些功能。由于削減了客戶端到服務(wù)器的往返路程,將減少對 Web 服務(wù)器的壓力,并且削減了網(wǎng)絡(luò)通信量(雖然發(fā)送給瀏覽器的初始頁面可能更大),服務(wù)器訪問的所有后端資源也削減了。而且用戶不必經(jīng)常提取新頁,使用戶的感受好一些。這并不減輕對服務(wù)器端驗證的需要。還是應(yīng)該經(jīng)常進行服務(wù)器端的驗證。這樣能夠防止由于某些原因從客戶端來的壞數(shù)據(jù),例如黑客,或者不運行客戶端驗證程序的瀏覽器。

許多站點由獨立于瀏覽器創(chuàng)建的 HTML 組成。這一點經(jīng)常阻礙開發(fā)人員利用可以提高性能的流行瀏覽器功能。對于真正高性能的、必須關(guān)心瀏覽器的站點,良好的策略是針對流行的瀏覽器優(yōu)化您的頁面。在 ASP 中使用"瀏覽器性能組件",很容易檢測到瀏覽器的功能。諸如 Microsoft FrontPage 等工具,能幫助您設(shè)計使用所希望的目標(biāo)瀏覽器和 HTML 版本的代碼。更詳細的討論,請查看 When is Better Worse? Weighing the Technology Trade-Offs(英文)。

技巧 20:在循環(huán)中避免字符串串聯(lián)

許多人在循環(huán)中創(chuàng)建類似這樣的字符串:

s = "<table>" & vbCrLf
For Each fld in rs.Fields
s = s & " <th>" & fld.Name & "</th> "
Next

While Not rs.EOF
s = s & vbCrLf & " <tr>"
For Each fld in rs.Fields
s = s & " <td>" & fld.Value & "</td> "
Next
s = s & " </tr>"
rs.MoveNext
Wend

s = s & vbCrLf & "</table>" & vbCrLf
Response.Write s

這種方法有幾個問題。首先,重復(fù)連接字符串所花費的時間,以二次方曲線的速率增長;粗略地計算,運行循環(huán)所花費的時間,與記錄數(shù)乘以字段數(shù)的平方成正比。舉一個簡單的例子,便能清楚地說明這一點。

s = ""
For i = Asc("A") to Asc("Z")
s = s & Chr(i)
Next

在第一次迭代中,得到一個字符的字符串
"A"
。在第二次迭代中,VBScript 必須重新分配字符串并復(fù)制兩個字符
"AB"


。在第三次迭代中,它必須再次重新分配

,并復(fù)制三個字符到

。在第 N 次(26 次)迭代中,它必須重新分配并復(fù)制 N 個字符到

。就是 1+2+3+...+N 的和,為 N*(N+1)/2 次復(fù)制。

在以上記錄集的例子中,如果有 100 條記錄和 5個字段,則內(nèi)部的循環(huán)將執(zhí)行 100*5 = 500 次,并且完成所有復(fù)制和重新分配所花費時間,將與 500*500 = 250,000 成正比。對一個大小適度的記錄集,將有很多次復(fù)制。

在該例子中,代碼可以改進:字符串的連接將被
Response.Write()
或內(nèi)嵌腳本 (
<% = fld.Value %>
) 所替代。如果打開響應(yīng)緩沖,這個操作將會很快,因為
Response.Write
僅僅將數(shù)據(jù)添加到響應(yīng)緩沖的末尾。不再重新分配,因而非常有效。

特別是在將 ADO 記錄集轉(zhuǎn)換到 HTML 表時,請考慮使用 GetRows 或 GetString。

如果用 JScript 連接字符串,強烈建議使用
+=
操作符;即用
s += "某字符串",
而不是
s = s + "某字符串"
。

技巧 21:啟用瀏覽器和代理緩存

默認情況下,ASP 禁用瀏覽器和代理中的緩存。這將很有意義,因為 ASP 生來就是動態(tài)的,具有潛在地對時間敏感的信息。如果有一個不需要對每次查看進行刷新的頁,則應(yīng)該啟用瀏覽器和代理緩存。這使得瀏覽器和代理能在某一段時間內(nèi),使用某一頁的緩存副本,這時間的長短可以控制。緩存能明顯減輕服務(wù)器負荷,使用戶的感受好一些。

哪種動態(tài)頁可以緩存?舉例說明:

天氣頁,每 5 分鐘更新一次。
列出新聞的主頁或新聞發(fā)布的主頁,每天更新 2 次。
公共基金運營列表,基本的統(tǒng)計數(shù)小時更新 1 次。
請注意,使用瀏覽器或代理緩存,只有很少的命中被記錄到 Web 服務(wù)器上。如果想精確測量所有頁面查看或者張貼廣告,也許不喜歡使用瀏覽器和代理緩存。

瀏覽器緩存是由 Web 服務(wù)器發(fā)往瀏覽器的 HTTP 截至期限標(biāo)題控制的。ASP 提供了兩種發(fā)送標(biāo)題的機制。要將頁面設(shè)置為在未來某個分鐘數(shù)后過期,請設(shè)置
Response.Expires
屬性。以下的例子通知瀏覽器:內(nèi)容在 10 分鐘后過期:

<% Response.Expires = 10 %>

設(shè)置
Response.Expires
為負數(shù)或 0 則禁用緩存。一定要使用較大的負數(shù),例如 -1000 (大于一天),來克服服務(wù)器時鐘和瀏覽器時鐘之間的差異。第二個屬性
Response.ExpiresAbsolute
,允許設(shè)置內(nèi)容過期的指定時間:

<% Response.ExpiresAbsolute = #May 31,2001 13:30:15# %>

如果不想使用 Response 對象設(shè)置過期時間,可以將 <META> 標(biāo)記寫入 HTML,通常寫在 HTML 文件的 <HEAD> 內(nèi)部。一些瀏覽器會響應(yīng)這條指令,但代理不會。

<META HTTP-EQUIV="Expires" VALUE="May 31,2001 13:30:15">

最后,可以標(biāo)識內(nèi)容對 HTTP 代理緩存是否有效,請使用
Response.CacheControl
屬性。設(shè)置屬性為"Public",允許代理緩存內(nèi)容。

<% Response.CacheControl = "Public" %>

默認情況下,該屬性設(shè)置為"Private"。注意,不應(yīng)當(dāng)為顯示某用戶專用數(shù)據(jù)的頁啟用代理緩存,因為代理也許為屬于其他用戶的用戶頁面服務(wù)。

技巧 22:盡可能使用 Server.Transfer 替代 Response.Redirect

Response.Redirect
通知瀏覽器,請求一個不同的頁面。該函數(shù)經(jīng)常用于重定向用戶到登錄或錯誤頁面。既然重定向強制一個新頁請求,瀏覽器就必須做兩次到 Web 服務(wù)器的往返,而且 Web 服務(wù)器必須處理額外的請求。IIS 5.0 引入一個新的函數(shù),
Server.Transfer
,該函數(shù)執(zhí)行傳送到相同服務(wù)器上的不同 ASP 頁。這樣避免了額外的、從瀏覽器到 Web 服務(wù)器的往返,從而改善了整體系統(tǒng)性能,同時改善了對用戶的響應(yīng)時間。請查看重定向中的新方向(英文),它討論了
Server.Transfer

Server.Execute
。

也可以查看Leveraging ASP in IIS 5.0中有關(guān) IIS 5.0 和 ASP 3.0 新功能的完全列表。(英文)

技巧 23:在目錄 URL 尾部加斜線

相關(guān)的技巧是,一定要定在指向目錄的 URL 尾部加斜線
(/)
。如果省略了斜線,瀏覽器將向服務(wù)器提出請求,僅通知它正尋找一個目錄。然后瀏覽器發(fā)出第二個請求,在 URL 末尾添加斜線,然后服務(wù)器將那個目錄的默認文檔作為響應(yīng),或者如果沒有默認文檔并且目錄瀏覽已被啟用,就以目錄列表作為響應(yīng)。添加了斜線便省去了第一個沒用的往返。出于對用戶的友好,也許想要在顯示的名稱的末尾省略斜線。

例如,寫:

<a title="MSDN Web
Workshop">http://msdn.microsoft.com/workshop</a>

它還適用于指向在 Web 站點主頁的 URL:請使用下面的: <a >,不要用 <a >.


技巧 24:避免使用服務(wù)器變量

訪問服務(wù)器變量將引起 Web 站點向服務(wù)器提出特殊的請求,然后收集所有的服務(wù)器變量,并不止是需要的那個。這好像從發(fā)霉的閣樓中的文件夾中檢索某條特殊的信息一樣。當(dāng)想要某條信息時,在訪問該信息之前必須先上閣樓取得文件夾。這與請求服務(wù)器變量時,性能訪問出現(xiàn)第一次請求服務(wù)器變量所發(fā)生的一樣。后續(xù)的對其他服務(wù)器變量的訪問不會引起性能訪問。

從不訪問不合格的 Request 對象(例如, Request("Data") )。對于不在 Request.Cookies 、 Request.Form 、 Request.QueryString 或 Request.ClientCertificate 中的項,有對 Request.ServerVariables 的隱含調(diào)用。
Request.ServerVariables
集合比其他集合慢很多。

相關(guān)文章

最新評論

国产一线二线三线的区别在哪| 亚洲免费视频欧洲免费视频| 老司机午夜精品视频资源| 偷拍自拍国产在线视频| 免费观看丰满少妇做受| 男人天堂av天天操| 精内国产乱码久久久久久| 亚洲高清自偷揄拍自拍| 中文字日产幕乱六区蜜桃| 欧美男人大鸡吧插女人视频| 亚洲 色图 偷拍 欧美| 亚洲福利精品视频在线免费观看| 最新欧美一二三视频| 欧美成人精品在线观看| 亚洲午夜电影之麻豆| 日韩熟女av天堂系列| 精品91高清在线观看| 2022精品久久久久久中文字幕| 综合一区二区三区蜜臀| 不戴胸罩引我诱的隔壁的人妻| 亚洲激情偷拍一区二区| v888av在线观看视频| 蜜桃臀av蜜桃臀av| 欧美精品国产综合久久| 亚洲女人的天堂av| 后入美女人妻高清在线| 黑人性生活视频免费看| 天天操夜夜操天天操天天操 | 色综合久久五月色婷婷综合| 91九色porny国产蝌蚪视频| 欧洲日韩亚洲一区二区三区| 亚洲精品国偷自产在线观看蜜桃| 激情五月婷婷综合色啪| 99久久激情婷婷综合五月天| 日本少妇精品免费视频| 特一级特级黄色网片| 99久久99一区二区三区| 亚洲国产欧美一区二区丝袜黑人| 五月色婷婷综合开心网4438| 摧残蹂躏av一二三区| 女人精品内射国产99| 激情色图一区二区三区| 国产熟妇一区二区三区av| 在线免费91激情四射 | 超污视频在线观看污污污| 亚洲熟女久久久36d| 婷婷久久久综合中文字幕| 看一级特黄a大片日本片黑人| 老司机深夜免费福利视频在线观看| 天天日天天鲁天天操| 亚洲免费视频欧洲免费视频| 成人性黑人一级av| 93精品视频在线观看| 91国产在线视频免费观看| 在线国产精品一区二区三区| 日本在线一区二区不卡视频| 国产精彩福利精品视频| 综合页自拍视频在线播放| 日本乱人一区二区三区| 又粗又硬又猛又黄免费30| 91精品免费久久久久久| 亚洲欧美清纯唯美另类| 夜夜嗨av一区二区三区中文字幕| 日韩在线视频观看有码在线| 亚洲午夜高清在线观看| 亚洲 国产 成人 在线| 久久精品国产23696| 97成人免费在线观看网站| 伊人综合免费在线视频| 最后99天全集在线观看| 大尺度激情四射网站| 日韩av有码中文字幕| 大鸡巴操娇小玲珑的女孩逼| 亚洲激情唯美亚洲激情图片| 日韩欧美一级黄片亚洲| 伊拉克及约旦宣布关闭领空| 啪啪啪啪啪啪啪免费视频| 午夜久久香蕉电影网| 天天艹天天干天天操| 黄色资源视频网站日韩| 偷拍自拍亚洲美腿丝袜| 日韩一区二区三区三州| 极品性荡少妇一区二区色欲| 免费无毒热热热热热热久| 国产精品人妻66p| 一区二区久久成人网| 2017亚洲男人天堂| 4个黑人操素人视频网站精品91| 成熟熟女国产精品一区| 国产亚洲视频在线观看| 成人网18免费视频版国产| 男女之间激情网午夜在线| 亚洲欧美人精品高清| 亚洲特黄aaaa片| 99国内精品永久免费视频| 国产黄色高清资源在线免费观看| 青青青视频自偷自拍38碰| 欧美老妇精品另类不卡片| 偷拍自拍视频图片免费| 麻豆性色视频在线观看| 99热这里只有精品中文| 欧美韩国日本国产亚洲| 毛片av在线免费看| 美女张开腿让男生操在线看| 国产中文字幕四区在线观看| 欧美日本在线观看一区二区| 视频啪啪啪免费观看| 欧美亚洲一二三区蜜臀| 99热碰碰热精品a中文| 嫩草aⅴ一区二区三区| av视网站在线观看| 综合精品久久久久97| 91久久人澡人人添人人爽乱| 老师让我插进去69AV| 97国产精品97久久| 91亚洲手机在线视频播放| 日韩少妇人妻精品无码专区| 久久香蕉国产免费天天| 国产精品日韩欧美一区二区| 五色婷婷综合狠狠爱| 视频久久久久久久人妻| 视频啪啪啪免费观看| 精品人妻伦一二三区久| 国产又粗又硬又大视频| 亚洲成人av在线一区二区| 亚洲人妻av毛片在线| 99人妻视频免费在线| 久久精品视频一区二区三区四区| 亚洲精品乱码久久久本| 不卡日韩av在线观看| 国产视频在线视频播放| 日本免费一级黄色录像| 日韩欧美高清免费在线| 国产真实灌醉下药美女av福利| 色综合久久五月色婷婷综合| 深夜男人福利在线观看| 国产+亚洲+欧美+另类| 99re6热在线精品| 欧洲精品第一页欧洲精品亚洲| 久久精品久久精品亚洲人| 欧美日韩v中文在线| 激情啪啪啪啪一区二区三区| 黄色大片免费观看网站| 国产欧美日韩第三页| 天天日天天玩天天摸| 五月天久久激情视频| 欧美日韩v中文在线| 欧美精品激情在线最新观看视频| 美女在线观看日本亚洲一区| 91麻豆精品传媒国产黄色片| 午夜精品九一唐人麻豆嫩草成人| 国产又粗又黄又硬又爽| 成人精品在线观看视频| 在线免费91激情四射 | 午夜在线精品偷拍一区二| 亚洲午夜高清在线观看| 中文字母永久播放1区2区3区| 晚上一个人看操B片| 91精品激情五月婷婷在线| 93视频一区二区三区| 五色婷婷综合狠狠爱| 国产日本精品久久久久久久| 75国产综合在线视频| 18禁美女无遮挡免费| 午夜美女福利小视频| 日韩美av高清在线| 黑人解禁人妻叶爱071| 久久一区二区三区人妻欧美| 欧美成人小视频在线免费看| 五月精品丁香久久久久福利社| 亚洲午夜电影在线观看| 日本精品一区二区三区在线视频。| 黄色视频成年人免费观看| 91欧美在线免费观看| 在线观看一区二区三级| 天天干天天操天天玩天天射| 人妻少妇中文有码精品| 3344免费偷拍视频| 五十路息与子猛烈交尾视频| 99热这里只有精品中文| 特级欧美插插插插插bbbbb| 一区二区三区四区视频| 国产午夜激情福利小视频在线| 极品粉嫩小泬白浆20p主播 | 一区二区三区蜜臀在线| 日本人妻欲求不满中文字幕| 日本在线不卡免费视频| 国产综合高清在线观看| 99热99re在线播放| 91快播视频在线观看| 亚洲精品午夜久久久久| 天堂av在线官网中文| 亚洲国产成人av在线一区| 午夜精品一区二区三区4| 日本人妻欲求不满中文字幕| 亚洲图库另类图片区| 丰满少妇人妻xxxxx| 亚洲va欧美va人人爽3p| 天天干天天日天天干天天操| 欧美韩国日本国产亚洲| 干逼又爽又黄又免费的视频| 欧美乱妇无乱码一区二区| 亚洲av自拍偷拍综合| 国产一线二线三线的区别在哪| 亚洲人人妻一区二区三区| 欧美黄片精彩在线免费观看| 欧美viboss性丰满| 亚洲天堂av最新网址| 亚洲1卡2卡三卡4卡在线观看| 亚洲一区自拍高清免费视频| www天堂在线久久| 成年人该看的视频黄免费| 玖玖一区二区在线观看| 十八禁在线观看地址免费| 成人高潮aa毛片免费| 超碰中文字幕免费观看| 亚洲在线观看中文字幕av| 日日夜夜狠狠干视频| 免费在线观看视频啪啪| 国产熟妇一区二区三区av| 强行扒开双腿猛烈进入免费版| 成人性爱在线看四区| 亚洲成av人无码不卡影片一| 少妇与子乱在线观看| 老司机福利精品免费视频一区二区| 久久丁香花五月天色婷婷| 香蕉片在线观看av| 一区二区三区精品日本| 中文字幕高清在线免费播放 | 后入美女人妻高清在线| 啪啪啪18禁一区二区三区| 久久永久免费精品人妻专区 | 国产又粗又猛又爽又黄的视频美国| 女人精品内射国产99| av手机免费在线观看高潮| 免费在线观看污污视频网站| 久草视频中文字幕在线观看| 3344免费偷拍视频| 日本真人性生活视频免费看| 亚洲av日韩精品久久久久久hd| 91精品高清一区二区三区| 亚洲一区制服丝袜美腿| 亚洲天堂成人在线观看视频网站| 日韩中文字幕精品淫| 午夜美女少妇福利视频| rct470中文字幕在线| 婷婷综合亚洲爱久久| 天天色天天爱天天爽| 在线观看的黄色免费网站| 最新激情中文字幕视频| 一区二区三区蜜臀在线| 真实国产乱子伦一区二区| 亚洲狠狠婷婷综合久久app| 一本一本久久a久久精品综合不卡| 巨乳人妻日下部加奈被邻居中出| 人妻久久无码中文成人| 成人福利视频免费在线| www日韩a级s片av| 不卡一不卡二不卡三| 亚洲一级av大片免费观看| 日韩不卡中文在线视频网站| 日韩成人综艺在线播放| 少妇露脸深喉口爆吞精| 黄片大全在线观看观看| 国产黄色a级三级三级三级| 美味人妻2在线播放| 521精品视频在线观看| 成熟熟女国产精品一区| 色综合久久五月色婷婷综合 | 骚货自慰被发现爆操| 五月天色婷婷在线观看视频免费| 蝴蝶伊人久久中文娱乐网| 在线观看的黄色免费网站| 日本熟妇喷水xxx| 伊人日日日草夜夜草| 国内精品在线播放第一页| 中文字幕亚洲久久久| 另类av十亚洲av| 亚洲综合在线观看免费| 成人24小时免费视频| 99精品久久久久久久91蜜桃| 欧美专区日韩专区国产专区| 免费成人av中文字幕| 小泽玛利亚视频在线观看| 中文字日产幕乱六区蜜桃 | 一级黄色av在线观看| 亚洲少妇人妻无码精品| 黄色视频在线观看高清无码 | 日本欧美视频在线观看三区| 黄色资源视频网站日韩| 午夜蜜桃一区二区三区| av中文在线天堂精品| 在线制服丝袜中文字幕| 老司机欧美视频在线看| 精品一区二区三四区| 亚洲国产在线精品国偷产拍| 熟女在线视频一区二区三区| 婷婷六月天中文字幕| 国产又粗又猛又爽又黄的视频在线| 护士小嫩嫩又紧又爽20p| 蜜桃视频在线欧美一区| 亚洲av无女神免非久久| 日本午夜福利免费视频| 国产丰满熟女成人视频| 超碰在线中文字幕一区二区| 91在线免费观看成人| 天天日天天爽天天爽| 国产成人精品一区在线观看| 黑人解禁人妻叶爱071| 欧美黄片精彩在线免费观看| 激情啪啪啪啪一区二区三区 | 亚洲天堂有码中文字幕视频| 91精品国产91久久自产久强| 大鸡八强奸视频在线观看| 97成人免费在线观看网站| 成人乱码一区二区三区av| 2017亚洲男人天堂| 色天天天天射天天舔| 国产午夜亚洲精品麻豆| 免费费一级特黄真人片| 哥哥姐姐综合激情小说| 国产成人精品一区在线观看| 四川五十路熟女av| 岛国青草视频在线观看| 亚洲精品无码久久久久不卡| 福利一二三在线视频观看| 亚洲1卡2卡三卡4卡在线观看| 男生舔女生逼逼视频| 日日日日日日日日夜夜夜夜夜夜| 天天射夜夜操狠狠干| 国产午夜激情福利小视频在线| 亚洲欧美激情国产综合久久久 | 不戴胸罩引我诱的隔壁的人妻| 亚洲欧洲av天堂综合| www日韩毛片av| 欧美精品一区二区三区xxxx| 日本人妻欲求不满中文字幕| 香港一级特黄大片在线播放| 欧美一区二区三区四区性视频| 天天日天天添天天爽| 亚洲av成人免费网站| 激情色图一区二区三区| 久久久久久性虐视频| 精品亚洲国产中文自在线| 成熟熟女国产精品一区| 性感美女福利视频网站| 亚洲老熟妇日本老妇| 制服丝袜在线人妻中文字幕| 夜色17s精品人妻熟女| 欧美色婷婷综合在线| 91破解版永久免费| 国产欧美精品一区二区高清| 一区二区三区av高清免费| 老司机福利精品免费视频一区二区| 2012中文字幕在线高清| 成人亚洲精品国产精品 | 天天躁日日躁狠狠躁躁欧美av| 国产91久久精品一区二区字幕| 亚洲成人线上免费视频观看| 国产精品久久久久久久精品视频| 啊啊啊视频试看人妻| 女同性ⅹxx女同hd| 一区二区三区四区中文| 一区二区三区另类在线| 69精品视频一区二区在线观看| 日本一区精品视频在线观看| 黄网十四区丁香社区激情五月天 | rct470中文字幕在线| 视频一区二区在线免费播放| 超碰97免费人妻麻豆| 五月色婷婷综合开心网4438| 国产美女午夜福利久久| 亚洲午夜在线视频福利| 日本高清成人一区二区三区| 日本人妻少妇18—xx| 一区二区视频在线观看免费观看| 中文字幕日韩精品日本| 男人天堂色男人av| 日本一二三区不卡无| 婷婷综合蜜桃av在线| 超碰中文字幕免费观看| 亚洲 欧美 自拍 偷拍 在线| 福利视频一区二区三区筱慧| 老司机99精品视频在线观看| 视频啪啪啪免费观看| 和邻居少妇愉情中文字幕| 欧亚乱色一区二区三区| 天天射夜夜操综合网| 少妇人妻100系列| 亚洲国际青青操综合网站| 亚洲 欧美 自拍 偷拍 在线| 国产精品系列在线观看一区二区| 欧美麻豆av在线播放| 在线观看黄色成年人网站| 欧美精品 日韩国产| 国产精品大陆在线2019不卡| 白白操白白色在线免费视频 | 中文字幕无码一区二区免费| 免费成人va在线观看| 午夜激情久久不卡一区二区| 黑人巨大的吊bdsm| 国产精品一二三不卡带免费视频| 青春草视频在线免费播放| 99热这里只有国产精品6| 香蕉av影视在线观看| 久久精品视频一区二区三区四区 | 男人插女人视频网站| 天天日天天玩天天摸| 亚洲国产在线精品国偷产拍| 欧美 亚洲 另类综合| 欧洲黄页网免费观看| 一色桃子久久精品亚洲| 国产精品三级三级三级| 在线视频国产欧美日韩| 一区二区三区美女毛片| 日本午夜福利免费视频| 天天干夜夜操啊啊啊| av资源中文字幕在线观看| 九一传媒制片厂视频在线免费观看| 天天干天天操天天扣| 丝袜美腿欧美另类 中文字幕| www久久久久久久久久久| 搞黄色在线免费观看| 女同性ⅹxx女同h偷拍| www久久久久久久久久久| 亚洲成人av在线一区二区| 亚洲一区二区三区av网站| 91片黄在线观看喷潮| 九色精品视频在线播放| 蜜桃专区一区二区在线观看| 欧美黑人巨大性xxxxx猛交| 欧美成人精品欧美一级黄色| 97国产精品97久久| 中文字幕综合一区二区| 国产亚洲精品品视频在线| 欧美综合婷婷欧美综合| 98精产国品一二三产区区别| 免费人成黄页网站在线观看国产| 玖玖一区二区在线观看| 国产一区二区视频观看| 午夜美女福利小视频| 国际av大片在线免费观看| 国产久久久精品毛片| okirakuhuhu在线观看| 色哟哟国产精品入口| 91精品高清一区二区三区| 国产污污污污网站在线| 在线免费观看欧美小视频| 特一级特级黄色网片| 风流唐伯虎电视剧在线观看| 人人妻人人澡欧美91精品| 高潮喷水在线视频观看| 国产精品系列在线观看一区二区 | 日韩欧美亚洲熟女人妻| 美味人妻2在线播放| 不卡精品视频在线观看| 97人妻色免费视频| 粗大的内捧猛烈进出爽大牛汉子| 播放日本一区二区三区电影| 999热精品视频在线| 日韩不卡中文在线视频网站| 天天做天天干天天舔| 91国产在线免费播放| 天天摸天天亲天天舔天天操天天爽| 不卡一区一区三区在线| 91国产在线视频免费观看| 欧美亚洲一二三区蜜臀| 亚洲欧美另类自拍偷拍色图| 亚洲一区二区三区偷拍女厕91| 欧美男人大鸡吧插女人视频| 欧洲黄页网免费观看| 11久久久久久久久久久| 91色九色porny| 国产精彩福利精品视频| 国产精品黄页网站视频| 亚洲青青操骚货在线视频| 国产+亚洲+欧美+另类| 人人爱人人妻人人澡39| 亚洲欧美成人综合在线观看| 国产美女午夜福利久久| 日本五十路熟新垣里子| 扒开让我视频在线观看| 在线视频精品你懂的| 午夜激情久久不卡一区二区| 国产成人精品亚洲男人的天堂| 国产精品中文av在线播放| 天天想要天天操天天干| 91久久人澡人人添人人爽乱| 国产精品免费不卡av| 久久热这里这里只有精品| 伊人开心婷婷国产av| 91超碰青青中文字幕| 9国产精品久久久久老师| 十八禁在线观看地址免费| 天天通天天透天天插| 日本熟女精品一区二区三区| sspd152中文字幕在线| 国产片免费观看在线观看| 亚洲欧美色一区二区| 春色激情网欧美成人| 欧美在线一二三视频| 免费手机黄页网址大全| 夜色17s精品人妻熟女| 免费大片在线观看视频网站| 亚洲中文精品人人免费| 亚洲av成人免费网站| 亚洲成人国产综合一区| 亚洲 欧美 精品 激情 偷拍 | 国产一区av澳门在线观看| 国产视频在线视频播放| 日本乱人一区二区三区| 伊人网中文字幕在线视频| 高清一区二区欧美系列| 91一区精品在线观看| 成人伊人精品色xxxx视频| 精品久久久久久久久久久a√国产| 日韩精品电影亚洲一区| 天天日天天天天天天天天天天| 免费男阳茎伸入女阳道视频 | 青青操免费日综合视频观看| 午夜在线观看一区视频| 久草视频在线一区二区三区资源站| 亚洲国产在线精品国偷产拍| 在线观看911精品国产| 97精品人妻一区二区三区精品| free性日本少妇| 在线免费观看国产精品黄色| 五十路在线观看完整版| 天干天天天色天天日天天射| 国产精品成人xxxx| 亚洲护士一区二区三区| 9国产精品久久久久老师| 精彩视频99免费在线| 亚洲天堂精品福利成人av| 国产免费高清视频视频| 天天日天天敢天天干| 狠狠的往里顶撞h百合| 色婷婷久久久久swag精品| 久久久久久久99精品| 国产精品午夜国产小视频| 亚洲青青操骚货在线视频| 午夜场射精嗯嗯啊啊视频| 国产成人自拍视频播放| 人妻少妇一区二区三区蜜桃| 国产精品国色综合久久 | 视频久久久久久久人妻| 色呦呦视频在线观看视频| 一区二区三区综合视频| 黄色三级网站免费下载| 亚洲特黄aaaa片| 日韩午夜福利精品试看| 日本性感美女写真视频| 春色激情网欧美成人| 91天堂精品一区二区| 亚洲国产免费av一区二区三区| 国产欧美精品不卡在线| 精品日产卡一卡二卡国色天香 | 社区自拍揄拍尻屁你懂的| 婷婷六月天中文字幕| AV天堂一区二区免费试看| 黄色录像鸡巴插进去| 精品一区二区三区午夜| 久草福利电影在线观看| 日本韩国免费福利精品| 日日操综合成人av| 91色老99久久九九爱精品| 国产一区二区欧美三区| 国产乱子伦一二三区| 久草视频在线一区二区三区资源站 | 国产自拍黄片在线观看| 熟女妇女老妇一二三区| 福利在线视频网址导航| 久久国产精品精品美女| 99精品久久久久久久91蜜桃| 久久久精品999精品日本| 青青青青青青青青青青草青青| 不卡日韩av在线观看| yy6080国产在线视频| 欧洲精品第一页欧洲精品亚洲| 国产精品一区二区三区蜜臀av| 天天射夜夜操狠狠干| 成人色综合中文字幕| 五月天久久激情视频| 好吊操视频这里只有精品| 色97视频在线播放| 亚洲av成人网在线观看| 中文字幕中文字幕 亚洲国产| 国产日韩一区二区在线看| 激情伦理欧美日韩中文字幕| 97人妻无码AV碰碰视频| 天天日天天日天天射天天干| 天天干天天操天天插天天日| 18禁美女羞羞免费网站| 77久久久久国产精产品| 国产精品国产三级麻豆| 青青青视频手机在线观看| 午夜美女少妇福利视频| 国产一区二区三免费视频| 精品黑人一区二区三区久久国产| 国产一线二线三线的区别在哪 | 福利片区一区二体验区| 亚洲免费成人a v| 亚洲成人av一区久久| 黑人3p华裔熟女普通话| 三上悠亚和黑人665番号| 大香蕉大香蕉大香蕉大香蕉大香蕉| sw137 中文字幕 在线| 国语对白xxxx乱大交| 亚洲国际青青操综合网站| 自拍偷拍亚洲欧美在线视频| 小泽玛利亚视频在线观看| 亚洲av自拍偷拍综合| 亚洲码av无色中文| 亚欧在线视频你懂的| 91精品激情五月婷婷在线| 大香蕉玖玖一区2区| 偷拍美女一区二区三区| 98精产国品一二三产区区别| 黄页网视频在线免费观看| 色狠狠av线不卡香蕉一区二区 | 男女第一次视频在线观看| 亚洲成人激情av在线| 亚洲精品高清自拍av| 91国语爽死我了不卡| 日韩中文字幕精品淫| jiujiure精品视频在线| 国产日本精品久久久久久久| 老司机福利精品免费视频一区二区 | 国产在线91观看免费观看| 日本人妻少妇18—xx| 中文字母永久播放1区2区3区| 欧美专区第八页一区在线播放| 亚洲一区二区三区五区| 欧美日本aⅴ免费视频| 蜜桃视频在线欧美一区| 日本精品视频不卡一二三| 欧美男人大鸡吧插女人视频| 午夜毛片不卡免费观看视频| av欧美网站在线观看| 欧美日韩不卡一区不区二区| 国产使劲操在线播放| 亚洲成人午夜电影在线观看| 久碰精品少妇中文字幕av| 天天色天天操天天舔| 亚洲av一妻不如妾| 红桃av成人在线观看| 国产伦精品一区二区三区竹菊| 阿v天堂2014 一区亚洲| 一级黄片大鸡巴插入美女| 亚洲精品精品国产综合| 欧美一区二区三区高清不卡tv | 国产免费av一区二区凹凸四季| 中文字幕免费福利视频6| caoporn蜜桃视频| 天天做天天干天天舔| 久久国产精品精品美女| 成人乱码一区二区三区av| 日韩av有码一区二区三区4| 天天干天天操天天爽天天摸| 三级等保密码要求条款| 97成人免费在线观看网站| 成人av电影免费版| 精品一区二区三区三区色爱| 成年人免费看在线视频| 99精品免费观看视频| 国产亚洲视频在线观看| 久草视频中文字幕在线观看| 操日韩美女视频在线免费看| 1区2区3区4区视频在线观看| 人妻少妇中文有码精品| 成人影片高清在线观看| 日韩精品二区一区久久| 中文字幕奴隷色的舞台50| 激情国产小视频在线| 青青青青操在线观看免费| 麻豆精品成人免费视频| 中文字幕人妻av在线观看| 亚洲国产第一页在线观看| 日韩欧美中文国产在线| 日韩精品中文字幕福利| 亚洲伊人av天堂有码在线| 免费黄页网站4188| 2020久久躁狠狠躁夜夜躁| 久久美欧人妻少妇一区二区三区| 欧美性感尤物人妻在线免费看| 午夜在线观看岛国av,com| 99热99re在线播放| 人人妻人人澡人人爽人人dvl| 夜色撩人久久7777| 国产麻豆精品人妻av| 久久久久久性虐视频| 欧美老妇精品另类不卡片| 激情综合治理六月婷婷| 色呦呦视频在线观看视频| 五色婷婷综合狠狠爱| 最近中文字幕国产在线| 亚洲av自拍天堂网| 黄色男人的天堂视频| 91免费放福利在线观看| 亚洲最大免费在线观看| 久久麻豆亚洲精品av| 80电影天堂网官网| 午夜福利资源综合激情午夜福利资| 狠狠躁夜夜躁人人爽天天天天97| 亚洲欧美综合在线探花| 天美传媒mv视频在线观看| 好吊视频—区二区三区| 在线免费观看欧美小视频| 欧美国产亚洲中英文字幕| 亚洲国产精品免费在线观看| 人妻少妇一区二区三区蜜桃| 看一级特黄a大片日本片黑人| 国产黄色片蝌蚪九色91| av线天堂在线观看| 国产精品久久久久久美女校花| 亚洲熟妇久久无码精品| 1024久久国产精品| 中文字日产幕乱六区蜜桃| 亚洲av在线观看尤物| 欧美在线精品一区二区三区视频| 玖玖一区二区在线观看| 1区2区3区不卡视频| 天天躁日日躁狠狠躁av麻豆| 欧美老妇精品另类不卡片| 日韩不卡中文在线视频网站| 好男人视频在线免费观看网站| 大陆av手机在线观看| 国产亚洲成人免费在线观看| 精品一线二线三线日本| 91精品国产麻豆国产| asmr福利视频在线观看| 国产亚洲天堂天天一区| 成人午夜电影在线观看 久久| 女警官打开双腿沦为性奴| 大鸡八强奸视频在线观看| 伊人网中文字幕在线视频| 国产一区二区神马久久| 欧美视频一区免费在线| 国产麻豆91在线视频| av资源中文字幕在线观看| 国产成人精品一区在线观看| 一区二区三区四区中文| 欧美精产国品一二三产品区别大吗| 老司机99精品视频在线观看| 真实国模和老外性视频| 色天天天天射天天舔| 欧美美女人体视频一区| 婷婷六月天中文字幕| 日韩欧美国产一区ab| 美味人妻2在线播放| 日本后入视频在线观看| 国产成人一区二区三区电影网站| 黄色大片男人操女人逼| 人妻丝袜榨强中文字幕| 中文字幕之无码色多多| 成熟熟女国产精品一区| 4个黑人操素人视频网站精品91 | 日韩人妻丝袜中文字幕| 久久艹在线观看视频| 欧美成人一二三在线网| 免费黄色成人午夜在线网站| 免费无毒热热热热热热久| 东京热男人的av天堂| www天堂在线久久| 久久99久久99精品影院| 亚洲av男人的天堂你懂的| 日韩欧美在线观看不卡一区二区 | 日韩美在线观看视频黄| 水蜜桃一区二区三区在线观看视频| 中文字幕之无码色多多| 十八禁在线观看地址免费| 亚洲一区二区三区偷拍女厕91| 男生用鸡操女生视频动漫| 天天干夜夜操天天舔| 老司机99精品视频在线观看| 亚洲欧美清纯唯美另类| 国产成人精品久久二区91| 视频一区 二区 三区 综合| 做爰视频毛片下载蜜桃视频1| 欧美乱妇无乱码一区二区| 免费在线播放a级片| 91快播视频在线观看| 免费在线看的黄网站| 欧美日本在线视频一区| 啪啪啪18禁一区二区三区| 国产女孩喷水在线观看| 免费成人va在线观看| 久久久精品欧洲亚洲av| 欧美在线精品一区二区三区视频 | rct470中文字幕在线| 一区二区三区四区中文| 亚洲无码一区在线影院| 天天插天天狠天天操| 日本福利午夜电影在线观看| 亚洲久久午夜av一区二区| 亚洲欧美色一区二区| jiuse91九色视频| 丰满少妇翘臀后进式| av中文字幕电影在线看| 欧美性受xx黑人性猛交| 国产性感美女福利视频| 极品粉嫩小泬白浆20p主播| 精品国产乱码一区二区三区乱| 不卡精品视频在线观看| 亚洲av一妻不如妾| 欧美亚洲牲夜夜综合久久| 亚洲成a人片777777| 99热久久极品热亚洲| 亚洲国产免费av一区二区三区| 五十路老熟女码av| 在线制服丝袜中文字幕| 91大屁股国产一区二区| 绝顶痉挛大潮喷高潮无码| 亚国产成人精品久久久| 欧美精品中文字幕久久二区| 91大屁股国产一区二区| 精品亚洲国产中文自在线| 激情伦理欧美日韩中文字幕| av网址国产在线观看| 国产女孩喷水在线观看| 国产黄色片蝌蚪九色91| 91麻豆精品久久久久| 五十路熟女av天堂| 久久精品在线观看一区二区| 19一区二区三区在线播放| 91中文字幕免费在线观看| 久久这里有免费精品| 在线观看黄色成年人网站| sw137 中文字幕 在线| 1区2区3区不卡视频| 高潮视频在线快速观看国家快速| 一二三中文乱码亚洲乱码one | 亚洲av香蕉一区区二区三区犇| 国产男女视频在线播放| 欧美性受xx黑人性猛交| 亚洲av男人天堂久久| 欧美色呦呦最新网址| 国产中文精品在线观看| 中文字幕高清免费在线人妻 | 精品一区二区三区午夜| 成人福利视频免费在线| 2022天天干天天操| 天堂中文字幕翔田av| 欧美性感尤物人妻在线免费看| 国产视频一区在线观看| 快点插进来操我逼啊视频| 2022精品久久久久久中文字幕| 婷婷综合亚洲爱久久| 中文字幕亚洲中文字幕| 香港一级特黄大片在线播放| 动漫黑丝美女的鸡巴| 国产精品国产三级国产午| 另类av十亚洲av| 精品av久久久久久久| 白嫩白嫩美女极品国产在线观看| 亚洲综合一区二区精品久久| 日本熟妇丰满厨房55| 在线不卡日韩视频播放| 亚洲精品高清自拍av | 中文字幕国产专区欧美激情| 日本在线不卡免费视频| 国产亚洲四十路五十路| 天天干天天日天天谢综合156 | 38av一区二区三区| 日本韩国免费福利精品| 亚洲精品福利网站图片| 国产日韩欧美视频在线导航| 91九色国产熟女一区二区| 国产91精品拍在线观看| 传媒在线播放国产精品一区| 最新欧美一二三视频| 久久久久久久久久一区二区三区| 天天射,天天操,天天说| 啊啊好大好爽啊啊操我啊啊视频 | 只有精品亚洲视频在线观看| 一个人免费在线观看ww视频 | 视频一区二区三区高清在线| 亚洲免费av在线视频| 99热这里只有精品中文| 日韩av熟妇在线观看| 熟女少妇激情五十路| 亚洲蜜臀av一区二区三区九色| 久久久久久久久久性潮| 久久久久91精品推荐99| 天堂av在线官网中文| 国产九色91在线视频| 自拍偷拍亚洲欧美在线视频| 大鸡吧插逼逼视频免费看| 91国内精品久久久久精品一| 黄色片黄色片wyaa| 欧美亚洲少妇福利视频| av天堂资源最新版在线看| 91免费黄片可看视频| ka0ri在线视频| av在线观看网址av| 婷婷久久一区二区字幕网址你懂得 | av网址在线播放大全| 馒头大胆亚洲一区二区| 国产午夜福利av导航| 国产妇女自拍区在线观看| 青青青国产免费视频| 国产美女精品福利在线| 日韩欧美一级精品在线观看| 亚洲一区制服丝袜美腿| 小穴多水久久精品免费看| 免费国产性生活视频| av高潮迭起在线观看| 在线视频自拍第三页| 欲满人妻中文字幕在线| av手机在线观播放网站| 97少妇精品在线观看| 88成人免费av网站| 国产精品3p和黑人大战| 亚洲va国产va欧美精品88| 国产成人精品午夜福利训2021 | 另类av十亚洲av| 97人人模人人爽人人喊| 丰满少妇翘臀后进式| 国产视频网站一区二区三区| 五十路av熟女松本翔子| 东游记中文字幕版哪里可以看到| 含骚鸡巴玩逼逼视频| 美女视频福利免费看| 亚洲欧美综合在线探花| 日本女大学生的黄色小视频| 国产97在线视频观看| 亚洲视频在线视频看视频在线| 这里只有精品双飞在线播放| 一区二区三区蜜臀在线| 小泽玛利亚视频在线观看| 中文字幕av第1页中文字幕| 欧美视频综合第一页| 午夜大尺度无码福利视频| 黑人借宿ntr人妻的沦陷2| 日比视频老公慢点好舒服啊| 亚洲高清国产拍青青草原| 毛茸茸的大外阴中国视频| 午夜美女福利小视频| 中文字幕日本人妻中出| 第一福利视频在线观看| 偷拍自拍亚洲视频在线观看| 天天干狠狠干天天操| 亚洲 国产 成人 在线| 欧美日韩不卡一区不区二区| 亚洲成人av一区在线| 日本一二三区不卡无| 1000小视频在线| 极品丝袜一区二区三区| 91中文字幕免费在线观看| 2022国产精品视频| 国产日本欧美亚洲精品视| 中文字幕日韩91人妻在线| av视屏免费在线播放| 一本一本久久a久久精品综合不卡| 亚洲精品三级av在线免费观看| 人妻熟女中文字幕aⅴ在线| 99热这里只有国产精品6| 日本三极片视频网站观看| 日韩欧美制服诱惑一区在线| 欧美视频不卡一区四区| 亚洲天堂精品久久久| 夜色福利视频在线观看| 国产日本欧美亚洲精品视| 天天摸天天日天天操| 午夜毛片不卡免费观看视频| 亚洲国产第一页在线观看| 色哟哟国产精品入口| 日韩美女精品视频在线观看网站 | av在线资源中文字幕| 激情国产小视频在线| 色综合久久无码中文字幕波多| 在线观看的黄色免费网站| 一区二区在线视频中文字幕| 国产污污污污网站在线| 激情内射在线免费观看| av网址在线播放大全| 天天干天天啪天天舔| 夜色福利视频在线观看| 国产综合精品久久久久蜜臀| 精品国产成人亚洲午夜| 婷婷综合蜜桃av在线| 不卡精品视频在线观看| 一区二区三区麻豆福利视频| 97精品人妻一区二区三区精品| 国产高潮无码喷水AV片在线观看| 亚洲图库另类图片区| 9色在线视频免费观看| 亚洲欧美激情中文字幕| 久久精品国产23696| 免费岛国喷水视频在线观看| 青青伊人一精品视频| 中文字幕国产专区欧美激情| 久久国产精品精品美女| 国产熟妇人妻ⅹxxxx麻豆| chinese国产盗摄一区二区| 日韩一区二区三区三州| asmr福利视频在线观看| 亚洲 中文字幕在线 日韩| 99热色原网这里只有精品| av亚洲中文天堂字幕网| 国产片免费观看在线观看| 五月精品丁香久久久久福利社| 大香蕉伊人国产在线| 亚洲 中文 自拍 无码| 亚洲一区制服丝袜美腿| 中文字幕日本人妻中出| 91欧美在线免费观看| 亚洲欧美综合另类13p| 五月天久久激情视频| 亚洲Av无码国产综合色区| 午夜精品久久久久久99热| 日本啪啪啪啪啪啪啪| av完全免费在线观看av| 精品少妇一二三视频在线| 亚洲区美熟妇久久久久| 大陆精品一区二区三区久久| 2022天天干天天操| 欧美中文字幕一区最新网址 | 日韩激情文学在线视频| 91在线免费观看成人| nagger可以指黑人吗| 97青青青手机在线视频| 端庄人妻堕落挣扎沉沦| 涩爱综合久久五月蜜臀| 欧美精品一区二区三区xxxx| 在线观看av亚洲情色| 午夜婷婷在线观看视频| 亚洲午夜福利中文乱码字幕| 天天操天天弄天天射| 国产chinesehd精品麻豆| 中文字幕第1页av一天堂网| 亚洲午夜福利中文乱码字幕| 国产一区二区神马久久| 深夜男人福利在线观看| 美女福利视频导航网站| 欧美少妇性一区二区三区| 欧美视频不卡一区四区| 国产熟妇一区二区三区av| 在线播放一区二区三区Av无码| 在线观看av亚洲情色| 免费黄页网站4188| 91色秘乱一区二区三区| 日韩成人综艺在线播放| 欧美视频中文一区二区三区| 亚洲精品无码久久久久不卡| 五十路丰满人妻熟妇| 99久久久无码国产精品性出奶水 | 中文字幕日韩无敌亚洲精品| 国产成人无码精品久久久电影| 日韩精品中文字幕福利| 福利国产视频在线观看| 成人午夜电影在线观看 久久| 亚洲粉嫩av一区二区三区| 青青青aaaa免费| av黄色成人在线观看| 最新国产精品网址在线观看| 亚洲天堂精品福利成人av| 一区二区三区四区视频在线播放| 播放日本一区二区三区电影| 午夜美女少妇福利视频| 国产三级精品三级在线不卡| 亚洲精品无码久久久久不卡| 婷婷午夜国产精品久久久| 亚洲av日韩高清hd| 天天日天天操天天摸天天舔| 亚洲区美熟妇久久久久| 在线观看一区二区三级| 国产熟妇人妻ⅹxxxx麻豆| 国产精品久久综合久久| av手机在线免费观看日韩av| 中文字幕人妻三级在线观看| 日韩黄色片在线观看网站| 一区二区免费高清黄色视频| 国产av一区2区3区| 综合精品久久久久97| 中文字幕无码一区二区免费| 天天日天天鲁天天操| 国产麻豆乱子伦午夜视频观看| 99久久99一区二区三区| 欧美韩国日本国产亚洲| 大鸡巴插入美女黑黑的阴毛| 年轻的人妻被夫上司侵犯| 国产V亚洲V天堂无码欠欠| 啪啪啪啪啪啪啪免费视频| 天天操天天干天天日狠狠插 | 免费男阳茎伸入女阳道视频| 精品高跟鞋丝袜一区二区| 中文字幕无码日韩专区免费| 欧美一区二区三区四区性视频| 男人靠女人的逼视频| 男人天堂最新地址av| 懂色av之国产精品| 狍和女人的王色毛片| 一区二区三区美女毛片| 综合页自拍视频在线播放| 一区二区三区四区五区性感视频| 中文亚洲欧美日韩无线码| 日韩av熟妇在线观看| 欧美日韩熟女一区二区三区| 欧美一区二区三区激情啪啪啪| 亚洲欧洲av天堂综合| 久久久久久cao我的性感人妻| 亚洲国产精品久久久久蜜桃| 亚洲精品精品国产综合| 日韩av大胆在线观看| 宅男噜噜噜666免费观看| 九色精品视频在线播放| 动漫av网站18禁| 国产无遮挡裸体免费直播视频| 中文字幕日韩精品日本| 天天日天天干天天舔天天射| 精品视频一区二区三区四区五区| 亚洲人妻30pwc| 成人免费做爰高潮视频| 超鹏97历史在线观看| 999热精品视频在线| 桃色视频在线观看一区二区 | 亚洲一区二区三区五区| 欧美黑人巨大性xxxxx猛交| 免费大片在线观看视频网站| 成年人的在线免费视频| 91欧美在线免费观看| 国产精品免费不卡av| 懂色av蜜桃a v| 做爰视频毛片下载蜜桃视频1| 在线播放国产黄色av| 97欧洲一区二区精品免费| 中文乱理伦片在线观看| 大骚逼91抽插出水视频| 午夜福利人人妻人人澡人人爽| 91试看福利一分钟| 天天日天天干天天要| 在线新三级黄伊人网| 国产普通话插插视频| 欧美日韩人妻久久精品高清国产| 人妻爱爱 中文字幕| 亚洲最大黄了色网站| 国产综合精品久久久久蜜臀| 亚洲午夜福利中文乱码字幕| 首之国产AV医生和护士小芳| 天天射夜夜操狠狠干| 亚洲男人在线天堂网| 亚洲自拍偷拍综合色| 欧美视频中文一区二区三区| 青青青青在线视频免费观看| 国产日韩一区二区在线看| 中文字幕第1页av一天堂网| 五十路熟女人妻一区二| 亚洲中文字幕校园春色| 日韩精品激情在线观看| 97国产精品97久久| 大鸡吧插逼逼视频免费看| 91 亚洲视频在线观看| 中文字幕第一页国产在线| 66久久久久久久久久久| 欧洲黄页网免费观看| 日本韩国免费一区二区三区视频| 精品国产污污免费网站入口自| 亚洲狠狠婷婷综合久久app| 久草视频在线看免费| 在线观看免费av网址大全| 婷婷午夜国产精品久久久| 一二三区在线观看视频| 日韩美女精品视频在线观看网站| 成年人免费看在线视频| 久久精品亚洲国产av香蕉| 日本后入视频在线观看 | 中文字幕日韩精品日本| 2020久久躁狠狠躁夜夜躁| 天堂av在线最新版在线| 国产九色91在线观看精品| 最新中文字幕乱码在线| 人妻少妇精品久久久久久| 国产高清精品极品美女| 这里有精品成人国产99| 97青青青手机在线视频| 亚洲日产av一区二区在线| 日本熟女50视频免费| 性感美女诱惑福利视频| 青青青国产片免费观看视频| 欧洲亚洲欧美日韩综合| 欧美激情电影免费在线| 精品美女福利在线观看| 国产性感美女福利视频| 夜鲁夜鲁狠鲁天天在线| 天天插天天狠天天操| 免费69视频在线看| 亚洲精品久久综合久| 五月婷婷在线观看视频免费| 精品国产乱码一区二区三区乱| 欧美怡红院视频在线观看| 日本免费一级黄色录像| 97人妻无码AV碰碰视频| 日本高清撒尿pissing| 老司机99精品视频在线观看| 天天操天天干天天艹| 欧美成一区二区三区四区| 特一级特级黄色网片| 中文字幕日韩精品日本| 国产性色生活片毛片春晓精品 | 69精品视频一区二区在线观看| 中文字幕日韩精品就在这里| 午夜久久香蕉电影网| 91免费放福利在线观看| av中文字幕国产在线观看| 日本阿v视频在线免费观看| 污污小视频91在线观看| 国产女人露脸高潮对白视频| 超级av免费观看一区二区三区| 中文乱理伦片在线观看| 国产精品午夜国产小视频| 欧美特色aaa大片| 国产亚洲天堂天天一区| 自拍偷拍日韩欧美一区二区| 国产精品久久久黄网站| 欧美国品一二三产区区别 | 2021年国产精品自拍| 91亚洲精品干熟女蜜桃频道 | 91人妻精品久久久久久久网站| 99热久久这里只有精品| 经典av尤物一区二区| sw137 中文字幕 在线| 护士小嫩嫩又紧又爽20p| 久久久久久久一区二区三| 在线观看欧美黄片一区二区三区| 激情色图一区二区三区| 亚洲午夜高清在线观看| 在线观看欧美黄片一区二区三区 | 男人天堂最新地址av| 东游记中文字幕版哪里可以看到| 久久机热/这里只有| 日韩少妇人妻精品无码专区| 91成人精品亚洲国产| 老师让我插进去69AV| 很黄很污很色的午夜网站在线观看| 中文字幕人妻av在线观看| 精品视频中文字幕在线播放| 日本成人一区二区不卡免费在线| 日韩欧美高清免费在线| 亚洲中文字幕国产日韩| 天天综合天天综合天天网| 亚洲欧美综合另类13p| 亚洲激情唯美亚洲激情图片| 九九热99视频在线观看97| 中文字幕一区二区亚洲一区| 风流唐伯虎电视剧在线观看| 夜夜嗨av一区二区三区中文字幕| 日本黄在免费看视频| 欧洲欧美日韩国产在线| 亚洲伊人色一综合网| 成人18禁网站在线播放| 在线观看国产网站资源| 久久精品久久精品亚洲人| 中文字幕中文字幕人妻| 91av中文视频在线| 又色又爽又黄又刺激av网站| 大肉大捧一进一出好爽在线视频| 91精品综合久久久久3d动漫| 欧洲国产成人精品91铁牛tv| 伊人综合免费在线视频| h国产小视频福利在线观看| av日韩在线观看大全| 做爰视频毛片下载蜜桃视频1| 粉嫩欧美美人妻小视频| 自拍偷拍vs一区二区三区| 自拍偷拍 国产资源| 91久久国产成人免费网站| 91国内精品久久久久精品一| 馒头大胆亚洲一区二区| 自拍偷拍亚洲精品第2页| 午夜精品一区二区三区4| 2021久久免费视频| 亚洲伊人久久精品影院一美女洗澡 | 99人妻视频免费在线| 老有所依在线观看完整版 | 特一级特级黄色网片| 婷婷综合蜜桃av在线| 9l人妻人人爽人人爽| 亚洲护士一区二区三区| 日韩美女福利视频网| 在线播放 日韩 av| 啪啪啪啪啪啪啪啪啪啪黄色| av中文字幕在线导航| 欲乱人妻少妇在线视频裸| 中文字幕亚洲久久久| 在线播放国产黄色av| 玖玖一区二区在线观看| 抽查舔水白紧大视频| 亚洲欧美色一区二区| 夜夜骑夜夜操夜夜奸| 9l人妻人人爽人人爽| 国产九色91在线视频| 精品国产成人亚洲午夜| 韩国一级特黄大片做受| 91色老99久久九九爱精品| 日韩精品啪啪视频一道免费| 亚洲一区二区三区久久受| 99亚洲美女一区二区三区| 在线播放国产黄色av| 激情五月婷婷免费视频| 一区二区三区欧美日韩高清播放| 免费观看成年人视频在线观看| 天美传媒mv视频在线观看| 欧美第一页在线免费观看视频| 欧美一区二区三区激情啪啪啪| 国产亚洲视频在线二区| 国产精品自拍在线视频| 亚洲精品福利网站图片| 久久h视频在线观看| 美女福利写真在线观看视频| 888欧美视频在线| 视频在线免费观看你懂得| 国产黑丝高跟鞋视频在线播放| 精品国产成人亚洲午夜| 一区二区三区精品日本| 人人人妻人人澡人人| 亚洲 色图 偷拍 欧美| av在线免费资源站| 大香蕉玖玖一区2区| 岛国黄色大片在线观看| 蜜桃视频17c在线一区二区| 99热99re在线播放| 伊拉克及约旦宣布关闭领空| 国产综合高清在线观看| 中文字幕av一区在线观看| 亚洲欧美人精品高清| 自拍偷拍 国产资源| 97人人模人人爽人人喊| 中文字幕最新久久久| 亚洲av成人网在线观看| 夜鲁夜鲁狠鲁天天在线| 亚洲中文字幕综合小综合| 日噜噜噜夜夜噜噜噜天天噜噜噜| 美女被肏内射视频网站| 97年大学生大白天操逼| 宅男噜噜噜666国产| 久久久久久久精品老熟妇| 亚洲一区自拍高清免费视频| 国产精品视频欧美一区二区| 高潮视频在线快速观看国家快速| 动漫美女的小穴视频| 日韩中文字幕福利av| 亚洲欧美一区二区三区电影| 一区二区三区四区中文| 摧残蹂躏av一二三区| av天堂中文免费在线| 亚洲精品午夜久久久久| 亚洲中文字幕人妻一区| 欧亚乱色一区二区三区| 亚洲av一妻不如妾| 91国产在线免费播放| 国产成人精品亚洲男人的天堂| 国产97视频在线精品| 老师让我插进去69AV| 粗大的内捧猛烈进出爽大牛汉子| 亚洲欧美激情中文字幕| 大香蕉大香蕉在线有码 av| 9国产精品久久久久老师| 综合精品久久久久97| 亚洲高清国产拍青青草原| 性生活第二下硬不起来| 日韩欧美一级aa大片| 国产黄网站在线观看播放| 免费无毒热热热热热热久| 国产极品精品免费视频 | 久久午夜夜伦痒痒想咳嗽P| 91国语爽死我了不卡| 免费一级特黄特色大片在线观看| 中国无遮挡白丝袜二区精品| 玖玖一区二区在线观看| 天天日天天舔天天射进去| 精品一区二区三区三区色爱| 2o22av在线视频| 在线播放 日韩 av| 久久精品亚洲成在人线a| 亚洲天堂第一页中文字幕| 11久久久久久久久久久| 欧美日韩一区二区电影在线观看| 中文字幕欧美日韩射射一| 亚洲欧美精品综合图片小说| 亚洲成人熟妇一区二区三区| 亚洲的电影一区二区三区| 91国内视频在线观看| 18禁无翼鸟成人在线| 五十路熟女人妻一区二| 自拍偷拍亚洲欧美在线视频| 欧美成人精品在线观看| 一级黄色片夫妻性生活| 亚洲人妻视频在线网| AV无码一区二区三区不卡| 亚洲成人熟妇一区二区三区| 国产九色91在线视频| 一区二区三区蜜臀在线| 日本少妇在线视频大香蕉在线观看 | 日本女人一级免费片| 欧美第一页在线免费观看视频| 天天做天天爽夜夜做少妇| 老有所依在线观看完整版| 欧美日韩不卡一区不区二区| 在线观看av观看av| 国产亚洲视频在线二区| AV无码一区二区三区不卡| 亚洲视频在线视频看视频在线| 青青草人人妻人人妻| 蜜桃视频17c在线一区二区| 精品一区二区三区午夜| 97黄网站在线观看| 91久久人澡人人添人人爽乱| 国产精品自偷自拍啪啪啪| 国产成人精品福利短视频| 日韩av中文在线免费观看| 色秀欧美视频第一页| 免费成人av中文字幕| 一区二区三区视频,福利一区二区| 国产麻豆精品人妻av| 国产精品自拍偷拍a| 大香蕉日本伊人中文在线| av亚洲中文天堂字幕网| 午夜精品久久久久久99热| 2018最新中文字幕在线观看| 人人在线视频一区二区| 欧美日韩不卡一区不区二区| 亚洲高清视频在线不卡| 亚洲成人av一区在线| 国产又粗又硬又大视频| 97色视频在线观看| 欧美精产国品一二三产品价格 | 日本a级视频老女人| 伊人综合免费在线视频| 99精品免费久久久久久久久a| 女同性ⅹxx女同h偷拍| 精品亚洲在线免费观看| 熟女91pooyn熟女| 风流唐伯虎电视剧在线观看| 黑人借宿ntr人妻的沦陷2| 国产精品自拍偷拍a| 亚洲av在线观看尤物| 午夜久久久久久久99| 香蕉av影视在线观看| 91九色porny国产在线| 18禁美女羞羞免费网站| 中文字幕在线观看国产片| 91www一区二区三区| 天天干天天操天天摸天天射| 超碰97免费人妻麻豆| 久久美欧人妻少妇一区二区三区| 亚洲美女美妇久久字幕组| 久草电影免费在线观看| 动漫美女的小穴视频| 久久久久久久久久性潮| 成人蜜臀午夜久久一区| 精品人妻每日一部精品| 国产使劲操在线播放| caoporm超碰国产| 中文亚洲欧美日韩无线码 | 日韩欧美国产一区ab| 91老师蜜桃臀大屁股| 中文亚洲欧美日韩无线码| 大屁股熟女一区二区三区| 日韩亚国产欧美三级涩爱| 18禁网站一区二区三区四区| 家庭女教师中文字幕在线播放| 国产麻豆乱子伦午夜视频观看| 国产精品3p和黑人大战| 精品91高清在线观看| 蜜臀av久久久久久久| 91大神福利视频网| 午夜蜜桃一区二区三区| 国产成人小视频在线观看无遮挡| 国产日韩欧美美利坚蜜臀懂色| 亚洲少妇人妻无码精品| 日韩av有码中文字幕| 超黄超污网站在线观看| free性日本少妇| av视网站在线观看| 一区二区三区蜜臀在线| 97超碰最新免费在线观看| yellow在线播放av啊啊啊| 色吉吉影音天天干天天操| av大全在线播放免费| 在线成人日韩av电影| 日韩二区视频一线天婷婷五| 欧美视频综合第一页| 午夜福利人人妻人人澡人人爽| 天天日天天天天天天天天天天| 久久久麻豆精亚洲av麻花| 男人天堂色男人av| 九色porny九色9l自拍视频| 亚洲国产成人在线一区| 中国把吊插入阴蒂的视频| 美女吃鸡巴操逼高潮视频| 免费人成黄页网站在线观看国产 | japanese五十路熟女熟妇| 成人sm视频在线观看| 中文 成人 在线 视频| 天天日天天干天天干天天日| 九九视频在线精品播放| 伊人情人综合成人久久网小说| 亚洲1区2区3区精华液| 亚洲国产最大av综合| 性欧美日本大妈母与子| 夜色撩人久久7777| 久久久精品999精品日本| 中文字幕一区二区自拍| 美女张开腿让男生操在线看| 亚洲老熟妇日本老妇| yy6080国产在线视频| 日本黄色特一级视频| 日韩精品二区一区久久| 99久久99一区二区三区| 二区中出在线观看老师| 男生用鸡操女生视频动漫| 大陆精品一区二区三区久久| 亚洲的电影一区二区三区| 日韩欧美中文国产在线| 亚洲天堂第一页中文字幕| 国产麻豆国语对白露脸剧情 | 99一区二区在线观看| japanese日本熟妇另类| 成人网18免费视频版国产| 少妇被强干到高潮视频在线观看| 日韩欧美中文国产在线| 夜夜躁狠狠躁日日躁麻豆内射 | 青青草成人福利电影| 国产麻豆91在线视频| 99热这里只有国产精品6| 亚洲av成人免费网站| 一二三中文乱码亚洲乱码one| 青青操免费日综合视频观看| 亚洲综合自拍视频一区| 热99re69精品8在线播放| 97黄网站在线观看| 11久久久久久久久久久| 久久久久久久久久性潮| 大香蕉日本伊人中文在线| 国产不卡av在线免费| 80电影天堂网官网| 鸡巴操逼一级黄色气| 亚洲的电影一区二区三区 | 亚洲一区二区激情在线| 精品区一区二区三区四区人妻 | 狍和女人的王色毛片| 成人激情文学网人妻| 老鸭窝日韩精品视频观看| 亚洲国产40页第21页| 亚洲欧美综合另类13p| 日韩av有码一区二区三区4| 特级欧美插插插插插bbbbb| 唐人色亚洲av嫩草| 国产精品欧美日韩区二区| 国产高潮无码喷水AV片在线观看| 91chinese在线视频| 亚洲欧美人精品高清| 亚洲欧美国产麻豆综合| 亚洲另类伦春色综合小| 老司机福利精品免费视频一区二区| 青青青青青青青青青青草青青 | 91免费黄片可看视频| 做爰视频毛片下载蜜桃视频1| 亚洲伊人av天堂有码在线| 欧美视频一区免费在线| 欧美一级色视频美日韩| 日日夜夜大香蕉伊人| 国产普通话插插视频| 精品欧美一区二区vr在线观看| 在线亚洲天堂色播av电影| 美女福利视频网址导航| 91色老99久久九九爱精品| 天堂资源网av中文字幕| 99精品国产免费久久| 中文字幕1卡1区2区3区| 久久精品在线观看一区二区| yy96视频在线观看| 黄色大片男人操女人逼| 高清成人av一区三区| av日韩在线观看大全| 国产麻豆精品人妻av| 久久h视频在线观看| 日本www中文字幕| 久久99久久99精品影院| 精品av国产一区二区三区四区| 制丝袜业一区二区三区| 欧美日本在线视频一区| 中文字幕av第1页中文字幕| 国产成人自拍视频播放| 六月婷婷激情一区二区三区| 老司机深夜免费福利视频在线观看| 精品久久婷婷免费视频| 黄片色呦呦视频免费看| 欧美一区二区三区四区性视频| 国产一区二区久久久裸臀| 天天爽夜夜爽人人爽QC| 中文字母永久播放1区2区3区| 亚洲欧美成人综合视频| 精品一区二区三四区| 伊人情人综合成人久久网小说| 成人乱码一区二区三区av| 亚洲美女美妇久久字幕组| 天天综合天天综合天天网| 在线免费91激情四射| 欧美亚洲免费视频观看| 成人区人妻精品一区二视频| 成年人午夜黄片视频资源| heyzo蜜桃熟女人妻| 精品黑人巨大在线一区| 激情图片日韩欧美人妻| 国产日本精品久久久久久久 | 丝袜肉丝一区二区三区四区在线看| 国产免费高清视频视频| 超碰在线中文字幕一区二区| 人妻久久久精品69系列| 青娱乐极品视频青青草| 欧美xxx成人在线| 亚洲超碰97人人做人人爱| yy96视频在线观看| 亚洲 清纯 国产com| 日本一区精品视频在线观看| 国产高清在线观看1区2区| 欧美精品伦理三区四区| 精品一区二区三区三区色爱| 欧美少妇性一区二区三区| 超级碰碰在线视频免费观看| 视频一区 二区 三区 综合| 欧美亚洲国产成人免费在线| 在线国产中文字幕视频| 亚洲欧美福利在线观看| 亚洲区欧美区另类最新章节| a v欧美一区=区三区| 午夜蜜桃一区二区三区| 亚洲 欧美 自拍 偷拍 在线| 午夜久久香蕉电影网| 国产麻豆国语对白露脸剧情| 中文字日产幕乱六区蜜桃| 中文字幕一区二区三区蜜月| 亚洲人一区二区中文字幕| 97精品成人一区二区三区| 在线观看操大逼视频| 夜夜嗨av蜜臀av| 中文字幕欧美日韩射射一| 亚洲免费va在线播放| 97小视频人妻一区二区| 熟女91pooyn熟女| 中文字幕综合一区二区| 欧美性受xx黑人性猛交| 大鸡巴插入美女黑黑的阴毛| 又粗又长 明星操逼小视频| 国产精品人妻一区二区三区网站 | asmr福利视频在线观看| 亚洲欧美自拍另类图片| 爱有来生高清在线中文字幕| 欲满人妻中文字幕在线| 丰满的继坶3中文在线观看| av在线免费资源站| 人妻久久无码中文成人| 开心 色 六月 婷婷| 亚洲免费福利一区二区三区| 日本午夜爽爽爽爽爽视频在线观看| 久久精品视频一区二区三区四区| 亚洲日产av一区二区在线| 99精品国产免费久久| 国产成人午夜精品福利| 2020韩国午夜女主播在线| 亚洲精品国产久久久久久| 一区二区三区四区视频在线播放| 99精品视频在线观看免费播放| 久久麻豆亚洲精品av| 日噜噜噜夜夜噜噜噜天天噜噜噜| 视频一区 视频二区 视频| 精品黑人巨大在线一区| 38av一区二区三区| 成人H精品动漫在线无码播放| 五月精品丁香久久久久福利社| 三级等保密码要求条款| 熟妇一区二区三区高清版| 小穴多水久久精品免费看| 视频一区二区三区高清在线| 中文字幕高清在线免费播放| 亚洲精品国产久久久久久| 99精品国产aⅴ在线观看| 深田咏美亚洲一区二区| 人妻丝袜精品中文字幕| 五月色婷婷综合开心网4438| 青青草原网站在线观看| 一区二区三区av高清免费| 亚洲一区久久免费视频| 久久久久久97三级| 91国内精品久久久久精品一| 性感美女诱惑福利视频| 福利午夜视频在线观看| 超碰97人人澡人人| 小穴多水久久精品免费看| 啊慢点鸡巴太大了啊舒服视频| 夜色17s精品人妻熟女| 91九色国产熟女一区二区| 亚洲av日韩av网站| 亚洲的电影一区二区三区| 人妻爱爱 中文字幕| 欧美一区二区中文字幕电影| 日本熟妇丰满厨房55| 亚洲国产欧美国产综合在线| 久久午夜夜伦痒痒想咳嗽P| av老司机精品在线观看| 亚洲午夜伦理视频在线| 日韩视频一区二区免费观看| 91亚洲精品干熟女蜜桃频道| 专门看国产熟妇的网站| 少妇一区二区三区久久久| 亚洲国产欧美一区二区丝袜黑人| 欧美一区二区三区乱码在线播放| 日本www中文字幕| 国产麻豆国语对白露脸剧情| 免费在线看的黄片视频| 一区二区视频在线观看视频在线 | 国产乱弄免费视频观看| 精品久久久久久久久久久a√国产 日本女大学生的黄色小视频 | 女同性ⅹxx女同hd| 风流唐伯虎电视剧在线观看| 男生舔女生逼逼的视频| 日韩精品电影亚洲一区| 亚洲 欧美 精品 激情 偷拍| 在线免费91激情四射| 五月天中文字幕内射| 亚洲激情,偷拍视频| 精品视频国产在线观看| 免费费一级特黄真人片 | 一区二区三区四区中文| 特黄老太婆aa毛毛片| 久草视频在线看免费| 一区二区三区四区视频在线播放| 又粗又长 明星操逼小视频| 清纯美女在线观看国产| 91精品国产高清自在线看香蕉网| caoporm超碰国产| 国产男女视频在线播放| 顶级尤物粉嫩小尤物网站| 亚洲一区二区三区精品视频在线| 2017亚洲男人天堂| 沈阳熟妇28厘米大战黑人| 2019av在线视频| 日韩精品中文字幕在线| 天天干狠狠干天天操| 国产美女一区在线观看| 久久久91蜜桃精品ad| 精品一区二区三区午夜| av大全在线播放免费| 亚洲第一黄色在线观看 | 成人性黑人一级av| 国产美女一区在线观看| 美女张开两腿让男人桶av| 成人区人妻精品一区二视频| 桃色视频在线观看一区二区| 在线播放国产黄色av| 中文字幕在线免费第一页| 91国内精品久久久久精品一| 亚洲图片欧美校园春色| 97人妻无码AV碰碰视频| 久久久制服丝袜中文字幕| 超鹏97历史在线观看| 午夜美女少妇福利视频| 曰本无码人妻丰满熟妇啪啪| 日本一道二三区视频久久| 免费成人av中文字幕| 伊人情人综合成人久久网小说 | 国产精品自拍视频大全| 欧美在线精品一区二区三区视频| 97香蕉碰碰人妻国产樱花| 国产日本欧美亚洲精品视| 国产成人无码精品久久久电影 | 亚洲国产欧美国产综合在线| 日本少妇人妻xxxxx18| 2022国产综合在线干| 动漫av网站18禁| 天天日天天干天天要| 啊慢点鸡巴太大了啊舒服视频| 亚洲免费成人a v| 亚洲中文字幕乱码区| 午夜美女福利小视频| 一区二区久久成人网| 97人人模人人爽人人喊| 亚洲一区av中文字幕在线观看| 在线视频免费观看网| 成人av免费不卡在线观看| 久久机热/这里只有| 成人sm视频在线观看| 亚洲欧美福利在线观看| 午夜场射精嗯嗯啊啊视频| 免费观看丰满少妇做受| 国产视频一区在线观看| 天天日天天干天天搡| 日本欧美视频在线观看三区| 中文字幕一区二 区二三区四区| 青青草在观免费国产精品| 91精品国产黑色丝袜| 亚洲 自拍 色综合图| 大香蕉玖玖一区2区| 超污视频在线观看污污污| 亚洲男人让女人爽的视频| 最新黄色av网站在线观看| 在线免费观看99视频| 大鸡吧插逼逼视频免费看| 亚洲人妻av毛片在线| 日本熟妇丰满厨房55| 成年人免费看在线视频| 黄色大片男人操女人逼| 婷婷五月亚洲综合在线| 亚洲人一区二区中文字幕| 红杏久久av人妻一区| 亚洲欧美综合另类13p| 人妻丝袜诱惑我操她视频| 欧亚乱色一区二区三区| 青青青青青青青青青国产精品视频| 亚洲精品麻豆免费在线观看| 成年人的在线免费视频| 岳太深了紧紧的中文字幕| 色爱av一区二区三区| 亚洲免费av在线视频| 色天天天天射天天舔| 狠狠地躁夜夜躁日日躁| 久久久久只精品国产三级| 亚洲av一妻不如妾| 国产伊人免费在线播放| 黄工厂精品视频在线观看 | 青青青青青青青在线播放视频| 日韩美女综合中文字幕pp| av亚洲中文天堂字幕网| 91人妻人人做人人爽在线| 国产亚洲四十路五十路| 99精品久久久久久久91蜜桃| 小泽玛利亚视频在线观看| 欧洲亚洲欧美日韩综合| 唐人色亚洲av嫩草| 亚洲在线观看中文字幕av| 快插进小逼里大鸡吧视频| 欧美一区二区中文字幕电影 | 粉嫩欧美美人妻小视频| 不卡精品视频在线观看| 黄色成人在线中文字幕| 日韩美女福利视频网| 欧美另类一区二区视频| 日本熟女精品一区二区三区| 中文字幕在线视频一区二区三区 | 欧美视频不卡一区四区| 欧美中文字幕一区最新网址| 天天日天天敢天天干| 蝴蝶伊人久久中文娱乐网| 亚洲va天堂va国产va久| 97资源人妻免费在线视频| 男人天堂最新地址av| 在线观看免费av网址大全| 国产在线观看黄色视频| 中文字幕一区二 区二三区四区| 国产揄拍高清国内精品对白| 亚洲1卡2卡三卡4卡在线观看| 99热这里只有国产精品6| 91国产资源在线视频| 免费黄色成人午夜在线网站| 五月天久久激情视频| 午夜久久香蕉电影网| 亚洲一区二区三区精品乱码| 亚洲av日韩精品久久久久久hd| 国产视频一区二区午夜| 97欧洲一区二区精品免费| 国产精品入口麻豆啊啊啊| 在线可以看的视频你懂的| 天天日天天玩天天摸| 免费观看理论片完整版| 日韩加勒比东京热二区| 欧美亚洲中文字幕一区二区三区| 51国产偷自视频在线播放| 国产又色又刺激在线视频| 在线观看日韩激情视频| 自拍偷拍日韩欧美一区二区| 天天射夜夜操综合网| 亚洲中文字幕国产日韩| 日本成人不卡一区二区| 经典国语激情内射视频| 人妻另类专区欧美制服| 国内自拍第一页在线观看| 青青草国内在线视频精选| 天天日夜夜操天天摸| 91色秘乱一区二区三区| 亚洲国产香蕉视频在线播放| 在线免费观看靠比视频的网站| 欧美一区二区三区乱码在线播放 | 91九色国产熟女一区二区| 日韩午夜福利精品试看| 视频一区 二区 三区 综合| 美女日逼视频免费观看| 成人免费公开视频无毒| 国产日韩精品一二三区久久久| 午夜av一区二区三区| 亚洲另类综合一区小说| 免费在线黄色观看网站| 大鸡吧插逼逼视频免费看| 97人人模人人爽人人喊| 91人妻精品一区二区久久| 爆乳骚货内射骚货内射在线| 极品丝袜一区二区三区| 精品一区二区三区午夜| 国产va精品免费观看| 韩国AV无码不卡在线播放| 午夜精品久久久久麻豆影视| 国产久久久精品毛片| 5528327男人天堂| 午夜毛片不卡免费观看视频| 人妻激情图片视频小说| 中文字幕一区二区三区蜜月| 成年人黄色片免费网站| 国产超码片内射在线| 一区二区三区四区视频| 欧美日韩亚洲国产无线码| 天天操,天天干,天天射| 中文字幕国产专区欧美激情| 最新中文字幕免费视频| 人妻熟女中文字幕aⅴ在线| 啊啊啊视频试看人妻| 久久久人妻一区二区| 亚洲av成人网在线观看| 少妇被强干到高潮视频在线观看| 天天射,天天操,天天说| 51精品视频免费在线观看| 中文字幕免费在线免费| 337p日本大胆欧美人| 免费一级黄色av网站| 动色av一区二区三区| 日韩美在线观看视频黄| 国产三级精品三级在线不卡| 午夜在线精品偷拍一区二| 青青青国产免费视频| 激情色图一区二区三区| 欧洲日韩亚洲一区二区三区| 91国内视频在线观看| 蜜桃色婷婷久久久福利在线| 日韩精品中文字幕福利| 99精品亚洲av无码国产另类| 熟女91pooyn熟女| 好吊视频—区二区三区| 78色精品一区二区三区| 欧美成人综合色在线噜噜| 日本一二三区不卡无| 被大鸡吧操的好舒服视频免费| 97少妇精品在线观看| 99精品亚洲av无码国产另类| 美女张开两腿让男人桶av| 熟女人妻在线观看视频| 亚洲图片欧美校园春色 | av视网站在线观看| 天堂av在线官网中文| av网址国产在线观看| 国产三级影院在线观看| 亚洲午夜伦理视频在线| 最新黄色av网站在线观看| 亚洲欧美福利在线观看| 天天操夜夜操天天操天天操| 精品一区二区三区在线观看| 亚洲av成人免费网站| 人妻少妇亚洲一区二区| 日韩精品啪啪视频一道免费| 成人18禁网站在线播放| 久久www免费人成一看片| 亚洲欧美国产麻豆综合| 自拍偷拍亚洲另类色图| 国产精品视频男人的天堂| 91久久国产成人免费网站| 国产福利在线视频一区| 2022天天干天天操| 国产精品自拍偷拍a| www久久久久久久久久久| 久草视频首页在线观看| 午夜福利人人妻人人澡人人爽| 小穴多水久久精品免费看| 日韩欧美国产精品91| 亚洲精品久久视频婷婷| 五色婷婷综合狠狠爱| okirakuhuhu在线观看| 久久久久久性虐视频| 91九色porny蝌蚪国产成人| 日本人妻精品久久久久久| 国产女人被做到高潮免费视频| 2020韩国午夜女主播在线| 国产自拍在线观看成人| 成年人黄视频在线观看| 亚洲中文字字幕乱码| 熟女俱乐部一二三区| 国产在线观看免费人成短视频| 久久热久久视频在线观看| 成年人黄色片免费网站| 久久精品亚洲成在人线a| 人妻自拍视频中国大陆| 国产精品久久久久网| 91精品国产麻豆国产| 美女av色播在线播放| 欧美中文字幕一区最新网址| 国产精品一区二区三区蜜臀av | 久久久久久久精品成人热| 青青草精品在线视频观看| 中文字幕在线永久免费播放| 性感美女高潮视频久久久| 天天操,天天干,天天射| 中文字幕在线免费第一页| 91精品啪在线免费| 亚洲av在线观看尤物| 少妇高潮一区二区三区| 天天日天天添天天爽| 天堂av在线最新版在线| 人人爽亚洲av人人爽av| 98视频精品在线观看| 成人24小时免费视频| 亚洲国产香蕉视频在线播放| 在线可以看的视频你懂的| 国产精品免费不卡av| 97年大学生大白天操逼| 亚洲国产在人线放午夜| 久久尻中国美女视频| 欧洲精品第一页欧洲精品亚洲| 99精品一区二区三区的区| 亚洲成人av一区久久| 大香蕉日本伊人中文在线| 亚洲精品国产在线电影| 精品美女久久久久久| 一区二区久久成人网| 91www一区二区三区| 男女第一次视频在线观看| 国产女人被做到高潮免费视频| 国产成人精品福利短视频| 五十路息与子猛烈交尾视频| 免费看国产av网站| 日本人妻少妇18—xx| 亚洲码av无色中文| 久久久噜噜噜久久熟女av| 被大鸡吧操的好舒服视频免费| 白白操白白色在线免费视频| 中文字幕人妻一区二区视频| 亚洲免费国产在线日韩| 熟女人妻三十路四十路人妻斩| 久久免费看少妇高潮完整版| 天天干天天搞天天摸| 中文字幕高清免费在线人妻 | 日本丰满熟妇大屁股久久| 国产真实乱子伦a视频| 久久h视频在线观看| 亚洲av成人免费网站| 欧美日韩人妻久久精品高清国产| 亚洲av自拍天堂网| 福利一二三在线视频观看| 欧美精品亚洲精品日韩在线| 91免费观看在线网站 | 在线国产精品一区二区三区| 在线视频自拍第三页| 自拍偷拍亚洲另类色图| 少妇露脸深喉口爆吞精| 午夜在线一区二区免费| 五月天中文字幕内射| brazzers欧熟精品系列| 久久久精品精品视频视频| 第一福利视频在线观看| 岛国av高清在线成人在线| 黄色三级网站免费下载| 天天日天天爽天天爽| 五十路熟女人妻一区二区9933| 青青在线视频性感少妇和隔壁黑丝| 日本真人性生活视频免费看| 国产精品一区二区久久久av| 最新黄色av网站在线观看| 欧美一级色视频美日韩| 亚洲av第国产精品| 999九九久久久精品| 超pen在线观看视频公开97| 2021久久免费视频| 在线新三级黄伊人网| 伊人日日日草夜夜草| 免费看国产又粗又猛又爽又黄视频| 任你操视频免费在线观看| 国产精品一区二区久久久av| 亚洲人妻av毛片在线| 91天堂精品一区二区| 亚洲欧美激情人妻偷拍| 亚洲欧美日韩视频免费观看| 欧美怡红院视频在线观看| 日曰摸日日碰夜夜爽歪歪| 清纯美女在线观看国产| 欧美日韩v中文在线| 亚洲在线一区二区欧美| 欧美亚洲少妇福利视频| 色综合天天综合网国产成人| 黄色片一级美女黄色片| 国产麻豆剧果冻传媒app| 免费在线观看污污视频网站| 亚洲高清国产一区二区三区| 一区二区三区久久久91| 最新中文字幕乱码在线| 老司机深夜免费福利视频在线观看| 欧洲国产成人精品91铁牛tv| 国产91久久精品一区二区字幕 | 91麻豆精品久久久久| 国产熟妇乱妇熟色T区| 人人妻人人爱人人草| 免费看国产又粗又猛又爽又黄视频 | 水蜜桃国产一区二区三区| 2020久久躁狠狠躁夜夜躁| 粗大的内捧猛烈进出爽大牛汉子| 特一级特级黄色网片| 91国产资源在线视频| 日本免费一级黄色录像| 国产密臀av一区二区三| 黑人借宿ntr人妻的沦陷2| 免费一级黄色av网站| 亚洲国产成人av在线一区| 青青草原网站在线观看| 青青青国产片免费观看视频| 日韩欧美亚洲熟女人妻| aiss午夜免费视频| 精品一区二区三区在线观看| 97香蕉碰碰人妻国产樱花| 日本韩国免费福利精品| 日韩一区二区三区三州| 韩国亚洲欧美超一级在线播放视频| 日韩成人性色生活片| av大全在线播放免费| 亚洲在线一区二区欧美| 午夜久久久久久久精品熟女| 一区二区三区精品日本| 这里有精品成人国产99| 亚洲免费va在线播放| 人妻丰满熟妇综合网| 人妻3p真实偷拍一二区| 国产aⅴ一线在线观看| 国内精品在线播放第一页| 韩国AV无码不卡在线播放| 国产麻豆91在线视频| 国产精品亚洲а∨天堂免| 亚洲国产最大av综合| 亚洲精品麻豆免费在线观看| 色婷婷综合激情五月免费观看| 亚洲欧美清纯唯美另类 | 又大又湿又爽又紧A视频| 风流唐伯虎电视剧在线观看| 少妇ww搡性bbb91| 天天摸天天干天天操科普| 亚洲美女美妇久久字幕组| 免费人成黄页网站在线观看国产| 欧美少妇性一区二区三区| 视频在线亚洲一区二区| 亚洲成高清a人片在线观看| 传媒在线播放国产精品一区| 538精品在线观看视频| 国产精品一区二区三区蜜臀av| 欧美第一页在线免费观看视频| 十八禁在线观看地址免费| 91传媒一区二区三区| 国产之丝袜脚在线一区二区三区| 在线免费观看视频一二区| 国产精品成人xxxx| 国产麻豆国语对白露脸剧情| 亚洲综合一区二区精品久久| 97超碰最新免费在线观看| 男人操女人的逼免费视频| 制丝袜业一区二区三区| 中国视频一区二区三区| 夜女神免费福利视频| 激情人妻校园春色亚洲欧美 | 狠狠操狠狠操免费视频| av乱码一区二区三区| 超黄超污网站在线观看| 天堂av在线播放免费| 精内国产乱码久久久久久| 成人av久久精品一区二区| 在线播放国产黄色av| 人妻3p真实偷拍一二区| 狠狠躁夜夜躁人人爽天天久天啪| 岳太深了紧紧的中文字幕| 亚洲va国产va欧美va在线| 欧美区一区二区三视频| 99热这里只有国产精品6| 亚洲一级av无码一级久久精品| 中文字幕一区的人妻欧美日韩| 中文字幕在线一区精品| 国产美女午夜福利久久| 久草视频福利在线首页| 欧美3p在线观看一区二区三区| 亚洲高清国产一区二区三区| 我想看操逼黄色大片| 精产国品久久一二三产区区别| 春色激情网欧美成人| 欧洲黄页网免费观看| 成人在线欧美日韩国产| 手机看片福利盒子日韩在线播放 | 91亚洲精品干熟女蜜桃频道| 日韩av中文在线免费观看| 国产又粗又猛又爽又黄的视频在线| 大胆亚洲av日韩av| 亚洲 欧美 自拍 偷拍 在线| 精品亚洲中文字幕av| 999久久久久999| 99亚洲美女一区二区三区| 少妇深喉口爆吞精韩国| 国产日韩精品一二三区久久久| 久久久久国产成人精品亚洲午夜| 日本五十路熟新垣里子| 国产精品人妻一区二区三区网站| 大香蕉大香蕉大香蕉大香蕉大香蕉| 极品性荡少妇一区二区色欲| 天天日天天做天天日天天做| 最新黄色av网站在线观看| 精品av国产一区二区三区四区| 1769国产精品视频免费观看| 大黑人性xxxxbbbb| 91九色porny国产在线| 国产精品久久久久国产三级试频| 在线国产日韩欧美视频| 国产精品三级三级三级| 在线免费观看国产精品黄色| av完全免费在线观看av| 大陆精品一区二区三区久久| 伊人综合免费在线视频| 福利午夜视频在线观看| 国产精品亚洲а∨天堂免| 99热碰碰热精品a中文| 久久精品36亚洲精品束缚| 少妇系列一区二区三区视频| 亚洲 图片 欧美 图片| 人妻激情图片视频小说| 99精品视频之69精品视频| 福利在线视频网址导航| 久久久久久9999久久久久| 一区二区视频在线观看视频在线| 大屁股肉感人妻中文字幕在线| 久草视频中文字幕在线观看| 91‖亚洲‖国产熟女| 自拍偷拍亚洲欧美在线视频| 熟女俱乐部一二三区| 青青青青爽手机在线| 绝色少妇高潮3在线观看| 一区二区三区 自拍偷拍| 日韩北条麻妃一区在线| 一区二区三区在线视频福利| 91国产资源在线视频| 天天插天天狠天天操| 黄色成年网站午夜在线观看| 深夜男人福利在线观看| 最新黄色av网站在线观看| 亚洲精品国品乱码久久久久 | 天天想要天天操天天干| 亚洲一区二区三区偷拍女厕91 | 亚洲图库另类图片区| 在线观看免费视频色97| 中文字幕网站你懂的| 精品久久久久久久久久久99| 在线观看国产网站资源| 国产福利在线视频一区| 亚洲色偷偷综合亚洲AV伊人| 天天日天天摸天天爱| 99久久久无码国产精品性出奶水| 亚欧在线视频你懂的| 国产一区成人在线观看视频| 中文字幕日韩精品日本| 国产内射中出在线观看| 日韩人妻丝袜中文字幕| 一区二区三区久久中文字幕| 国产亚洲精品欧洲在线观看| 美女小视频网站在线| 天天摸天天亲天天舔天天操天天爽| 婷婷激情四射在线观看视频| 美女张开腿让男生操在线看| 人人妻人人爱人人草| av网址国产在线观看| 日本成人不卡一区二区| 青娱乐蜜桃臀av色| 视频啪啪啪免费观看| 九色porny九色9l自拍视频| 女同久久精品秋霞网| 人妻少妇av在线观看| 可以免费看的www视频你懂的| 亚洲av极品精品在线观看| 97瑟瑟超碰在线香蕉| 夜夜嗨av蜜臀av| 亚洲熟女久久久36d| 亚洲精品乱码久久久久久密桃明| 人妻少妇亚洲精品中文字幕| 极品粉嫩小泬白浆20p主播| 日韩美女搞黄视频免费| 91亚洲精品干熟女蜜桃频道| 9久在线视频只有精品| 五月色婷婷综合开心网4438| 日本高清撒尿pissing| 亚洲粉嫩av一区二区三区| 国产第一美女一区二区三区四区 | 性欧美日本大妈母与子| 黑人乱偷人妻中文字幕| 日韩不卡中文在线视频网站| av中文字幕在线导航| 婷婷综合亚洲爱久久| 亚洲综合一区成人在线| 自拍偷拍日韩欧美一区二区| 色偷偷伊人大杳蕉综合网| av日韩在线免费播放| 伊人日日日草夜夜草| 91色老99久久九九爱精品| 人妻熟女中文字幕aⅴ在线| 中文字幕高清免费在线人妻| 青青青aaaa免费| 天天日天天日天天射天天干| 91免费观看国产免费| 欧美一级色视频美日韩| 3344免费偷拍视频| 红桃av成人在线观看| 天堂资源网av中文字幕| 国产自拍在线观看成人| av俺也去在线播放| 亚洲少妇高潮免费观看| 888欧美视频在线| 神马午夜在线观看视频| 在线观看的黄色免费网站| 天堂av在线最新版在线| 亚洲人妻av毛片在线| chinese国产盗摄一区二区| 伊人情人综合成人久久网小说 | 中字幕人妻熟女人妻a62v网| 中文字幕一区二 区二三区四区| 中文乱理伦片在线观看| 加勒比视频在线免费观看| 成人H精品动漫在线无码播放| 一区二区三区的久久的蜜桃的视频| 中文字幕+中文字幕| 极品粉嫩小泬白浆20p主播| 青青青青操在线观看免费| 欧美精品黑人性xxxx| 欧美亚洲免费视频观看| 激情啪啪啪啪一区二区三区 | 亚洲高清一区二区三区视频在线| 都市激情校园春色狠狠| 欧美在线偷拍视频免费看| 超级福利视频在线观看| 亚洲最大黄 嗯色 操 啊| 日韩美女搞黄视频免费| 3337p日本欧洲大胆色噜噜| 日本熟妇丰满厨房55| 午夜在线一区二区免费| 国产精品手机在线看片| 人妻久久久精品69系列| 青青热久免费精品视频在线观看| 日本午夜福利免费视频| 中文字幕1卡1区2区3区| 亚洲最大黄 嗯色 操 啊| 91麻豆精品秘密入口在线观看| 91she九色精品国产| 色97视频在线播放| 1769国产精品视频免费观看| 97国产在线av精品| 晚上一个人看操B片| 99久久久无码国产精品性出奶水| 亚洲成人线上免费视频观看| 91国内精品久久久久精品一| 91色网站免费在线观看| 欧美地区一二三专区| 久久久麻豆精亚洲av麻花| 伊人精品福利综合导航| 亚洲精品麻豆免费在线观看| 偷拍自拍国产在线视频| 日韩成人综艺在线播放| 99av国产精品欲麻豆| 中文字幕人妻av在线观看| 老司机你懂得福利视频| 日韩av熟妇在线观看| 2025年人妻中文字幕乱码在线| 日韩中文字幕精品淫| 亚洲 色图 偷拍 欧美| 久久热久久视频在线观看| 国产一级精品综合av| 亚洲精品国产综合久久久久久久久| 亚洲欧美综合另类13p| 91国内视频在线观看| 黄页网视频在线免费观看| 午夜福利资源综合激情午夜福利资| 国产老熟女伦老熟妇ⅹ| 伊人网中文字幕在线视频| 白白操白白色在线免费视频| 福利视频广场一区二区| 亚洲第一伊人天堂网| 一区二区三区视频,福利一区二区| 日本少妇精品免费视频| 精品视频一区二区三区四区五区| 伊拉克及约旦宣布关闭领空| 国产之丝袜脚在线一区二区三区 | 女生自摸在线观看一区二区三区| 午夜毛片不卡免费观看视频| AV无码一区二区三区不卡| 国产亚洲视频在线观看| 久草视频中文字幕在线观看| 亚洲天堂第一页中文字幕| 国产视频一区在线观看| 国产亚洲成人免费在线观看| 国产麻豆乱子伦午夜视频观看| av网址在线播放大全| 99精品一区二区三区的区| 亚洲综合一区成人在线| av中文字幕福利网| 一个人免费在线观看ww视频| av中文字幕电影在线看| 91she九色精品国产| 中国黄色av一级片| 黄色成人在线中文字幕| 国产成人小视频在线观看无遮挡| 午夜精品久久久久久99热| 成人蜜桃美臀九一一区二区三区| 老鸭窝在线观看一区| 久久麻豆亚洲精品av| 中文字幕1卡1区2区3区| 日本三极片中文字幕| 日韩欧美在线观看不卡一区二区| 非洲黑人一级特黄片| 欧亚乱色一区二区三区| 97国产福利小视频合集| 丰满的继坶3中文在线观看| 亚洲Av无码国产综合色区| 婷婷综合亚洲爱久久| 日韩美女福利视频网| 免费观看理论片完整版| 亚洲区美熟妇久久久久| 中文字幕熟女人妻久久久| 早川濑里奈av黑人番号| 91极品大一女神正在播放| 不卡日韩av在线观看| 中文字幕乱码av资源| 福利视频广场一区二区| 亚洲卡1卡2卡三卡四老狼| 美女吃鸡巴操逼高潮视频| sspd152中文字幕在线| 国产无遮挡裸体免费直播视频|