LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

微軟建議的ASP性能優(yōu)化28條守則

admin
2011年10月10日 9:12 本文熱度 2495

本文介紹了優(yōu)化 ASP 應(yīng)用程序和 Visual Basic® Scripting Edition (VBScript) 的技巧。本文討論了許多陷阱。本文列出的建議已經(jīng)在 http://www.microsoft.com 和其它站點(diǎn)中進(jìn)行了測試,效果十分顯著。本文假定您已經(jīng)對 ASP 開發(fā),包括 VBScript 和/或 JScript、ASP Application、ASP Session 和其它 ASP 固有對象(Request、Response 和 Server)有了基本了解。


通常,ASP 性能主要取決于 ASP 代碼本身以外的很多因素。我們不在一篇文章中羅列出所有的信息,在本文結(jié)尾處我們列出了與性能有關(guān)的資源。這些鏈接涵蓋了 ASP 和非 ASP 主題,包括 ActiveX® 數(shù)據(jù)對象 (ADO)、組件對象模型 (COM)、數(shù)據(jù)庫和 Internet Information Server (IIS) 配置。這些都是我們喜歡的一些鏈接 - 一定要去看看。


技巧 1:將經(jīng)常使用的數(shù)據(jù)緩存在 Web 服務(wù)器上


  典型的 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ù)更快。因此,通??梢詫?shù)據(jù)緩存在 Web 服務(wù)器上(存儲在內(nèi)存或磁盤中),來提高性能。


  緩存是傳統(tǒng)的以空間換取時(shí)間的做法。如果您緩存的內(nèi)容正確,那么您可以看到性能會有顯著的提高。為使緩存有效,必須保存那些經(jīng)常重復(fù)使用的數(shù)據(jù),且要重新計(jì)算這些數(shù)據(jù)需要(適度)大的開銷。如果緩存的都是些陳舊的數(shù)據(jù),就會造成內(nèi)存浪費(fèi)。


  不經(jīng)常發(fā)生改變的數(shù)據(jù)是很好的緩存候選數(shù)據(jù),因?yàn)槟槐負(fù)?dān)心隨著時(shí)間的遷移該數(shù)據(jù)與數(shù)據(jù)庫同步的問題。組合框列表、引用表、DHTML 碎片、擴(kuò)展標(biāo)記語言 (XML) 字符串、菜單項(xiàng)和站點(diǎn)配置變量(包括數(shù)據(jù)源名稱 (DSN)、Internet 協(xié)議 (IP) 地址和 Web 路徑)都是很好的緩存候選內(nèi)容。注意您可以緩存數(shù)據(jù)的“表示”,而不緩存數(shù)據(jù)本身。如果 ASP 頁很少更改,且緩存的開銷也很大(例如,整個(gè)產(chǎn)品目錄),則應(yīng)考慮事先產(chǎn)生 HTML,而不是在響應(yīng)每個(gè)請求時(shí)重新顯示。


  應(yīng)將數(shù)據(jù)緩存在哪里,有哪些緩存策略?通常,數(shù)據(jù)緩存在 Web 服務(wù)器的內(nèi)存或磁盤中。下兩個(gè)技巧講述了這兩個(gè)方法。


技巧 2: 將經(jīng)常使用的數(shù)據(jù)緩存在 Application 或 Session 對象中


  ASP Application 和 Session 對象為將數(shù)據(jù)緩存在內(nèi)存中提供了方便的容器。您可以將數(shù)據(jù)指派到 Application 和 Session 對象中,這些數(shù)據(jù)在 HTTP 調(diào)用之間保留在內(nèi)存中。Session 數(shù)據(jù)是按每個(gè)用戶分別存儲的,而 Application 數(shù)據(jù)則在所有用戶之間共享。


  什么時(shí)候?qū)?shù)據(jù)裝載到 Application 或 Session 中呢?通常,數(shù)據(jù)是在啟動 Application 或 Session 時(shí)裝載。要在 Application 或 Session 啟動過程中裝載數(shù)據(jù),應(yīng)將適當(dāng)?shù)拇a分別添加到 Application_OnStart() 或 Session_OnStart() 中。這些函數(shù)應(yīng)在 Global.asa 中,如果沒有,則可以添加這些函數(shù)。還可以在第一次需要時(shí)裝載該數(shù)據(jù)。為此,在 ASP 頁中添加一些代碼(或編寫一個(gè)可重復(fù)使用的腳本函數(shù)),以檢查數(shù)據(jù)是否存在,如果不存在,就裝載數(shù)據(jù)。這是一個(gè)傳統(tǒng)的性能技術(shù),稱為“惰性計(jì)算” - 在您知道需要某一個(gè)值以前不計(jì)算該值。例如:


<%
Function GetEmploymentStatusList
Dim d
d = Application(?EmploymentStatusList?)
If d = ?? Then
' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()
Application(?EmploymentStatusList?) = d
End If
GetEmploymentStatusList = d
End Function
%>


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


  應(yīng)以什么格式存儲數(shù)據(jù)?可以存儲任何變體類型,因?yàn)樗心_本變量都是變體型。例如,您可以存儲字符串、整數(shù)或數(shù)組。通常,您將以這些變量類型之一存儲 ADO 記錄集的內(nèi)容。要從 ADO 記錄集獲取數(shù)據(jù),您可以手工將數(shù)據(jù)復(fù)制到 VBScript 變量,一次一個(gè)字段。使用一個(gè) ADO 記錄集持久函數(shù) GetRows()、GetString() 或 Save()(ADO 2.5),可加快速度且更容易一些。其詳細(xì)情況已超出本文所討論的范圍,但下面給出了一個(gè)函數(shù)舉例,說明使用 GetRows() 返回記錄集數(shù)據(jù)的一個(gè)數(shù)組:


' Get Recordset, return as an Array
Function FetchEmploymentStatusList
Dim rs
Set rs = CreateObject(?ADODB.Recordset?)
rs.Open ?select StatusName, StatusID from EmployeeStatus?, _
?dsn=employees;uid=sa;pwd=;?
FetchEmploymentStatusList = rs.GetRows() ? Return data as an Array
rs.Close
Set rs = Nothing
End Function



  對上面舉例做更進(jìn)一步改進(jìn),可以將 HTML 緩存為列表,而不是數(shù)組。下面是簡單的示例:


' Get Recordset, return as HTML Option list
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 Field Binding
Do Until rs.EOF
' Next line violates Don't Do String Concats,
' but it's OK because we are building a cache
s = s & ? <option>? & fldName & ?</option>? & vbCrLf
rs.MoveNext
Loop
s = s & ?</select>? & vbCrLf
rs.Close
Set rs = Nothing ' See Release Early
FetchEmploymentStatusList = s ' Return data as a String
End Function


  在適當(dāng)?shù)臈l件下,可以將 ADO 記錄集本身緩存在 Application 或 Session 作用域中。有兩個(gè)警告:


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


  當(dāng)您將數(shù)據(jù)存儲在 Application 或 Session 作用域時(shí),數(shù)據(jù)將保留在那里,直到您以編程方式改變它、Session 過期或 Web 應(yīng)用程序重新啟動為止。如果數(shù)據(jù)需要更新怎么辦?要手工強(qiáng)制對 Application 數(shù)據(jù)進(jìn)行更新,您可以訪問只有管理員才可訪問的 ASP 頁來更新數(shù)據(jù)。或者,您可以通過函數(shù)定期自動刷新數(shù)據(jù)。下面例子存儲帶有緩存數(shù)據(jù)的時(shí)間戳,并隔一段時(shí)間后刷新數(shù)據(jù)。


<%
' error handing not shown...
Const UPDATE_INTERVAL = 300 ' Refresh interval, in seconds

' Function to return the employment status list
Function GetEmploymentStatusList
UpdateEmploymentStatus
GetEmploymentStatusList = Application(?EmploymentStatusList?)
End Function

' Periodically update the cached data
Sub UpdateEmploymentStatusList
Dim d, strLastUpdate
strLastUpdate = Application(?LastUpdate?)
If (strLastUpdate = ??) Or _
(UPDATE_INTERVAL < DateDiff(?s?, strLastUpdate, Now)) Then

' Note: two or more calls might get in here. This is okay and will simply
' result in a few unnecessary fetches (there is a workaround for this)

' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()

' Update the Application object. Use Application.Lock()
' to ensure consistent data
Application.Lock
Application(?EmploymentStatusList?) = Events
Application(?LastUpdate?) = CStr(Now)
Application.Unlock
End If
End Sub


  請參見 World's Fastest ListBox with Application Data,上面還有一個(gè)例子。


  要知道在 Session 或 Application 對象中緩存大的數(shù)組不是一個(gè)好的做法。在訪問數(shù)組的任何元素之前,腳本語言的語法要求必須臨時(shí)復(fù)制整個(gè)數(shù)組。例如,如果將由字符串組成的有 100,000 個(gè)元素的數(shù)組(該數(shù)組將美國郵政編碼映射到當(dāng)?shù)氐臍庀笳荆┚彺嬖?Application 對象中,ASP 必須先將所有的 100,000 個(gè)氣象站復(fù)制到臨時(shí)數(shù)組中,然后才能提取一個(gè)字符串。在這種情況下,用自定義方法建立一個(gè)自定義組件來存儲氣象站 - 或使用一個(gè)詞典組件會更好。


  再警告大家一下,不要將嬰兒與洗澡水一起倒掉:數(shù)組能快速查尋和存儲在內(nèi)存中是鄰近的關(guān)鍵數(shù)據(jù)對。索引一個(gè)詞典比索引一個(gè)數(shù)組要慢得多。應(yīng)針對您的實(shí)際情況,選擇提供最佳性能的數(shù)據(jù)結(jié)構(gòu)。


#p#


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


  有時(shí),數(shù)據(jù)可能太多,無法都緩存在內(nèi)存中?!疤唷敝皇且粋€(gè)說法,這要看您想消耗多少內(nèi)存,以及需緩存的項(xiàng)目數(shù)和檢索這些項(xiàng)目的頻率。在任何情況下,如果數(shù)據(jù)太多而無法都緩存在內(nèi)存中,則考慮將數(shù)據(jù)以文本或 XML 文件緩存在 Web 服務(wù)器的硬盤上??梢酝瑫r(shí)將數(shù)據(jù)緩存在磁盤和內(nèi)存中,為您的站點(diǎn)建立最適宜的緩存策略。


  注意當(dāng)測量單個(gè) ASP 頁的性能時(shí),檢索磁盤上的數(shù)據(jù)可能不一定要比從數(shù)據(jù)庫檢索數(shù)據(jù)更快。但緩存會降低數(shù)據(jù)庫和網(wǎng)絡(luò)上的負(fù)載。在高負(fù)載的情況下,這樣做可大大改善總體吞吐量。當(dāng)緩存開銷很大的查詢結(jié)果(如多表聯(lián)接或復(fù)合存儲過程)或大的結(jié)果集時(shí),這是非常有效的。與往常一樣,要測試一下幾種方案的優(yōu)劣。


  ASP 和 COM 提供一些建立基于磁盤的緩存方案的工具。ADO 記錄集 Save() 和 Open() 函數(shù)保存和裝載磁盤中的記錄集??梢允褂眠@些方法重新編寫上面 Application 數(shù)據(jù)緩存技巧中的代碼示例,用文件的 Save() 代替寫到 Application 對象中的代碼。


  有一些其它組件可以用于文件:


  Scripting.FileSystemObject 可使您創(chuàng)建、讀和寫文件。
  與 Internet Explorer 一起提供的 Microsoft&reg; XML 解析器 (MSXML) 支持保存和裝載 XML 文檔。
  LookupTable 對象(例如,用在 MSN 上)是從磁盤裝載簡單列表的最好選擇。
  最后,應(yīng)考慮將數(shù)據(jù)的表示緩存在磁盤上,而不是數(shù)據(jù)本身。預(yù)先轉(zhuǎn)換的 HTML 可以用 .htm 或 .asp 文件存儲在磁盤上,超級鏈接可以直接指向這些文件??梢允褂蒙逃霉ぞ?,如 XBuilder,或 Microsoft&reg; SQL Server&#8482; Internet 發(fā)布功能將產(chǎn)生 HTML 的過程自動化?;蛘?,您可以將 HTML 代碼片斷放在 .asp 文件中。還可以使用 FileSystemObject 從磁盤讀取 HTML 文件,或使用 XML 盡早轉(zhuǎn)換。


技巧 4:避免將非敏捷的組件緩存在 Application 或 Session 對象中


  盡管將數(shù)據(jù)緩存在 Application 或 Session 對象中是一個(gè)好的做法,但緩存 COM 對象卻有嚴(yán)重的陷阱。通常,人們傾向于將經(jīng)常使用的 COM 對象緩存到 Application 或 Session 對象中。很遺憾,許多 COM 對象(包括所有以 Visual Basic 6.0 或更低版本編寫的對象)當(dāng)存儲在 Application 或 Session 對象時(shí),會引起嚴(yán)重的瓶頸。


  具體來講,當(dāng)任何不敏捷的組件緩存在 Session 或 Application 對象時(shí),將引起性能瓶頸。敏捷的組件是被標(biāo)記為 ThreadingModel=Both 的組件,它聚集 Free-threaded marshaler (FTM);或被標(biāo)記為 ThreadingModel=Neutral 的組件。(Neutral 模型是 Windows&reg; 2000 和 COM+ 的新增模型。) 下列組件不是敏捷的:


  自由線程的組件(除非它們聚集 FTM)。
  單元線程組件。
  單線程組件。
  配置的組件(Microsoft Transaction Server (MTS)/COM+ 庫和服務(wù)器程序包/應(yīng)用程序)不是敏捷的,除非它們是 Neutral 線程。單元線程組件和其它非敏捷的組件在頁作用域內(nèi)是最適合的(即,它們在單個(gè) ASP 頁上創(chuàng)建和銷毀)。


  在 IIS 4.0 中,被標(biāo)記為 ThreadingModel=Both 的組件被認(rèn)為是敏捷的。在 IIS 5.0 中,只有這一點(diǎn)還不夠。組件必須不僅被標(biāo)記 Both,還必須聚集 FTM。有關(guān)敏捷性的文章講述了如何使以 Active Template Library 編寫的 C++ 組件聚集 FTM。要注意如果組件緩存界面指針,那么那些指針本身必須是敏捷的,或必須存儲在 COM 共用界面表 (GIT) 中。如果您不能重新編譯 Both 線程組件以聚集 FTM,那么您可以將組件標(biāo)記為 ThreadingModel=Neutral?;蛘?,如果您不想讓 IIS 執(zhí)行敏捷性檢查(因此,您可以允許非敏捷的組件存儲在 Application 或 Session 作用域中),您可以在配置數(shù)據(jù)庫中將 AspTrackThreadingModel 設(shè)置為 True。不建議更改 AspTrackThreadingModel。


  如果您想將以 Server.CreateObject 創(chuàng)建的非敏捷的組件存儲在 Application 對象中,IIS 5.0 將出現(xiàn)一個(gè)錯誤。您可以在 Global.asa 中使用 <object runat=server scope=application ...> 避免這一錯誤,但不建議這樣做,因?yàn)檫@會導(dǎo)致匯集和串行化,關(guān)于這一點(diǎn)將在下面講述。


  如果您緩存非敏捷的組件會出現(xiàn)什么毛病?緩存在 Session 對象中的非敏捷的組件將 Session 鎖定于 ASP 工作者線程。ASP 維護(hù)一個(gè)工作者線程池來處理請求。通常情況下,一個(gè)新請求總是由第一個(gè)可用的工作者線程來處理。如果 Session 被鎖定于一個(gè)線程,那么請求必須等到其相關(guān)的線程可用為止。這里有一個(gè)類比,也許會有所幫助:您去一家超級市場,挑選了一些商品,并在 #_3 收款臺付款。其后,每當(dāng)您在那家超級市場為商品付款時(shí),您總是必須在 #_3 收款臺付款,即使其它收款臺前排隊(duì)的人較少或者沒有人排隊(duì),也是如此。


  將非敏捷的組件存儲在 Application 作用域?qū)π阅艿挠绊懮踔粮鼔?。ASP 必須創(chuàng)建一個(gè)特殊的線程運(yùn)行存儲在 Application 作用域中的非敏捷組件。這會有兩個(gè)結(jié)果:所有調(diào)用都必須匯集到此線程,且所有調(diào)用都排成長隊(duì)。“匯集”的意思是參數(shù)必須存儲在內(nèi)存的共享區(qū)域;執(zhí)行一個(gè)開銷很大的到特殊線程的上下文切換;執(zhí)行組件的方法;將結(jié)果匯集到共享區(qū)域;執(zhí)行另一個(gè)開銷很大的上下文切換,將控制返回到原始的線程。“串行化”意思是指每次只運(yùn)行一個(gè)方法。兩個(gè)不同的 ASP 工作者線程不能同時(shí)在共享組件上執(zhí)行多個(gè)方法。這樣就杜絕了并發(fā)性,特別是在多處理器計(jì)算機(jī)上。更糟的是,所有非敏捷的 Application 作用域的組件共享一個(gè)線程(主機(jī) STA),因此串行化的影響甚至更顯著。


  如之奈何?下面是一些一般的規(guī)則。如果您使用 Visual Basic (6.0) 或更早版本編寫對象,那么不要將它們緩存在 Application 或 Session 對象中。如果您不知道對象的線程模型,不要緩存它。不要緩存非敏捷的對象,而應(yīng)在每個(gè)頁面創(chuàng)建和釋放它們。對象直接在 ASP 工作者線程上運(yùn)行,因此沒有匯集或串行化。如果 COM 對象在 IIS 服務(wù)器上運(yùn)行,且如果它們不花長時(shí)間初始化和刪除,性能尚可。注意單線程對象不應(yīng)該這樣使用。小心 - 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)將 ADO 標(biāo)記為自由線程的。ADO 記錄集也必須切斷連接。一般來說,如果您不能控制站點(diǎn)中的 ADO 配置(例如,您是一個(gè)獨(dú)立的軟件廠商 [ISV],向管理他們自己的配置客戶銷售 Web 應(yīng)用程序),最好不要緩存記錄集。


  詞典組件也是敏捷的對象。LookupTable 從數(shù)據(jù)文件中裝載其數(shù)據(jù),可用于組合框數(shù)據(jù)和配置信息。Duwamish Books 中的 PageCache 對象可提供詞典語法,Caprock Dictionary 也可提供。這些對象或其派生對象可以構(gòu)成有效緩存策略的基礎(chǔ)。注意 Scripting.Dictionary 對象不是敏捷的,不應(yīng)該存儲在 Application 或 Session 作用域中。


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


  緩存 ADO 連接通常是很糟糕的策略。如果一個(gè) Connection 對象存儲在 Application 對象中,并在所有的頁面中使用,那么所有頁面將爭搶這一連接。如果 Connection 對象存儲在 ASP Session 對象中,那么將為每個(gè)用戶創(chuàng)建數(shù)據(jù)庫連接。這就會使連接池的優(yōu)勢蕩然無存,并給 Web 服務(wù)器和數(shù)據(jù)庫帶來不必要的壓力。


  可以不緩存數(shù)據(jù)庫連接,而是在使用 ADO 的每個(gè) ASP 頁面中創(chuàng)建和刪除 ADO 對象。這是很有效的,因?yàn)?IIS 內(nèi)嵌了數(shù)據(jù)庫連接池。更準(zhǔn)確地說,IIS 自動啟用 OLEDB 和 ODBC 連接池。這就能確保在每個(gè)頁面上創(chuàng)建和刪除連接將是有效的。


  因?yàn)檫B接的記錄集存儲一個(gè)到數(shù)據(jù)庫連接的引用,所以您不應(yīng)將連接的記錄集緩存在 Application 或 Session 對象中。但是,您可以安全地緩存斷開連接的記錄集,它們不保存到其數(shù)據(jù)連接的引用。要斷開記錄集連接,執(zhí)行下面的兩個(gè)步驟:


Set rs = Server.CreateObject(?ADODB.RecordSet?)
rs.CursorLocation = adUseClient ' step 1

' Populate the recordset with data
rs.Open strQuery, strProv

' Now disconnect the recordset from the data provider and data source
rs.ActiveConnection = Nothing ' step 2


  有關(guān)連接池的更詳細(xì)信息,可以在 ADO 和 SQL Server 參考資料中找到。


技巧 6:合理地使用 Session 對象


  既然我們已經(jīng)討論了緩存在 Application 和 Session 中的優(yōu)點(diǎn),現(xiàn)在開始討論避免使用 Session 對象的問題。正如下面所討論的,當(dāng)與忙的站點(diǎn)一起使用時(shí),Session 有幾個(gè)缺點(diǎn)?!懊Α钡囊馑家话闶侵敢幻腌娨髱装夙撁婊虺汕先f同時(shí)用戶的站點(diǎn)。這個(gè)技巧對于必須水平擴(kuò)展的站點(diǎn) - 即,那些利用多臺服務(wù)器以處理負(fù)載或?qū)崿F(xiàn)容錯的站點(diǎn) - 甚至更重要。對于較小的站點(diǎn),諸如 Intranet 站點(diǎn),要想實(shí)現(xiàn) Session 帶來的方,必然增大系統(tǒng)開銷。


  簡言之,ASP 自動為每個(gè)訪問 Web 服務(wù)器的用戶創(chuàng)建一個(gè) Session。每個(gè) Session 大約需要 10 KB 的內(nèi)存開銷(最主要的是數(shù)據(jù)存儲在 Session 中),這就使所有的請求都減慢。在配置的超時(shí)時(shí)段(通常是 20 分鐘)結(jié)束以前,Session 一直保留有效。


  Session 的最大的問題不是性能,而是可擴(kuò)展性。Session 不能跨越幾臺 Web 服務(wù)器,一旦在一臺服務(wù)器上創(chuàng)建 Session,其數(shù)據(jù)就留在那兒。這就意味著如果您在一個(gè) Web 服務(wù)器群使用 Session,您必須設(shè)計(jì)一個(gè)策略,將每個(gè)用戶請求始終發(fā)到用戶 Session 所在的那臺服務(wù)器上。這被稱為將用戶“粘”在 Web 服務(wù)器上。術(shù)語“粘性會話”就是從這里派生而來的。如果 Web 服務(wù)器崩潰,被“粘住的”用戶將丟失他們的會話狀態(tài),因?yàn)闀挷皇钦车酱疟P上。


  實(shí)現(xiàn)粘性會話的策略包括硬件和軟件解決方案。諸如 Windows 2000 Advanced Server 中的網(wǎng)絡(luò)負(fù)載平衡和 Cisco 的 Local Director 之類的解決方案都可以實(shí)現(xiàn)粘性會話,代價(jià)是要損失一定程度的可擴(kuò)展性。這些解決方案是不完善的。不建議此時(shí)部署您自己的軟件解決方案(我們過去常常使用 ISAPI 篩選器和 URL 轉(zhuǎn)換等等)。


  Application 對象也不跨越多臺服務(wù)器,如果您必須跨越 Web 服務(wù)器群共享和更新 Application 數(shù)據(jù),您必須使用后端數(shù)據(jù)庫。但是,只讀 Application 數(shù)據(jù)在 Web 服務(wù)器群中仍是有用的。


  如果只是因?yàn)橐黾舆\(yùn)行時(shí)間(處理故障轉(zhuǎn)移和服務(wù)器維護(hù)),大多數(shù)關(guān)鍵任務(wù)站點(diǎn)至少需部署兩臺 Web 服務(wù)器。因此,在設(shè)計(jì)關(guān)鍵任務(wù)應(yīng)用程序時(shí),必須實(shí)現(xiàn)“粘性會話”,或干脆避免使用 Session,以及任何其它將用戶狀態(tài)存儲在單個(gè) Web 服務(wù)器上的狀態(tài)管理技術(shù)。


  如果您不使用 Session,一定要將它們關(guān)閉。您可以通過 Internet Services Manager,為應(yīng)用程序執(zhí)行此操作(參見 ISM 文檔)。如果您決定使用 Session,您可以采用一些方法減輕它們對性能的影響。


  您可以將不需要 Session 的內(nèi)容(如幫助屏幕,訪問者區(qū)域等等)移到另一個(gè)關(guān)閉了 Session 的 ASP 應(yīng)用程序中。您可以逐頁提示 ASP,您不再需要該頁面上的 Session 對象,使用以下放在 ASP 頁面最上面的指令:


<% @EnableSessionState=False %>


  使用這一指令有一個(gè)很好的理由是,這些 Session 在框架集方面存在一個(gè)有意思的問題。ASP 保證任何時(shí)候 Session 只有一個(gè)請求執(zhí)行。這樣就確保如果瀏覽器為一個(gè)用戶請求多個(gè)頁面,一次只有一個(gè) ASP 請求接觸 Session,這樣就避免了當(dāng)訪問 Session 對象時(shí)發(fā)生的多線程問題。很遺憾,一個(gè)框架集中的所有頁面將以串行方式顯示,一個(gè)接一個(gè),而不是同時(shí)顯示。用戶可能必須等候很長時(shí)間,才能看到所有的框架。該故事的寓意:如果某些框架集頁面不依靠 Session,一定要使用 @EnableSessionState=False 指令告訴 ASP。


  有許多管理 Session 狀態(tài)的方法,可替代 Session 對象的使用。對于少量的狀態(tài)(少于 4 KB),我們通常建議使用 Cookies、QueryString 變量和隱式變量。對于更大數(shù)據(jù)量,如購物小車,后端數(shù)據(jù)庫是最適合的選擇。有關(guān) Web 服務(wù)器群中狀態(tài)管理技術(shù)的文章很多。有關(guān)詳細(xì)信息,請參見 Session 狀態(tài)參考資料。


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


  如果您有許多 VBScript 或 JScript,您可以經(jīng)常將代碼移到編譯的 COM 對象中,從而可改善性能。編譯的代碼通常比解釋的代碼運(yùn)行得更快。編譯的 COM 對象可以通過“早綁定”訪問其它 COM 對象,與腳本使用的“晚綁定”相比,“早綁定”是調(diào)用 COM 對象的更有效方法。


  將代碼封裝在 COM 對象中還有一些優(yōu)點(diǎn)(除性能之外):


  COM 對象有利于將表示邏輯與業(yè)務(wù)邏輯分開。
  COM 對象可以保證代碼重復(fù)使用。
  許多開發(fā)人員發(fā)現(xiàn)以 VB、C++ 或 Visual J++ 編寫的代碼比 ASP 更容易調(diào)試。
  COM 對象也有缺點(diǎn),包括初始開發(fā)時(shí)間和需要不同的程序設(shè)計(jì)技巧。注意封裝少量的 ASP 可能引起性能下降,而不會得到性能改進(jìn)。這種情況通常在少量的 ASP 代碼被封裝進(jìn) COM 對象時(shí)發(fā)生。在這種情況下,創(chuàng)建和調(diào)用 COM 對象的系統(tǒng)開銷超過了編譯的代碼的優(yōu)點(diǎn)。應(yīng)反復(fù)地試驗(yàn),以確定什么樣的 ASP 腳本和 COM 對象代碼的組合產(chǎn)生最好的性能。注意,與 Microsoft Windows NT&reg; 4.0/IIS 4.0 相比,Windows 2000/IIS 5.0 中在腳本和 ADO 性能方面有了很大的改進(jìn)。因此,隨著 IIS 5.0 的推出,編譯代碼比 ASP 代碼的性能優(yōu)勢有所降低。


  有關(guān)在 ASP 中使用 COM 的優(yōu)點(diǎn)和缺點(diǎn)的詳細(xì)討論,參見 ASP Component Guidelines and Programming Distributed Applications with and Microsoft Visual Basic 6.0。如果您部署 COM 組件,以負(fù)荷對它們進(jìn)行測試特別重要。事實(shí)上,理所當(dāng)然應(yīng)對所有的 ASP 應(yīng)用程序進(jìn)行負(fù)荷測試。


#p#


技巧 8:遲一點(diǎn)獲得資源,早一點(diǎn)釋放資源


  這里是一個(gè)小技巧供您參考。一般來說,最好遲一點(diǎn)獲得資源,早一點(diǎn)釋放資源。這適用于 COM 對象以及文件句柄和其它資源。


  這種優(yōu)化方法主要用于 ADO 連接和記錄集。當(dāng)您使用完記錄集,比方說在顯示一個(gè)表及其數(shù)據(jù)之后,應(yīng)立即釋放它,而不是等到頁面結(jié)束時(shí)再釋放。將 VBScript 變量設(shè)置為 Nothing 是最好的做法。不要讓記錄集超出作用域之外。而且,要釋放任何相關(guān)的 Command 或 Connection 對象(在將記錄集或連接設(shè)置為 = Nothing 之前,不要忘記調(diào)用 Close())。這會縮短數(shù)據(jù)庫必須為您準(zhǔn)備資源的時(shí)間,并盡快釋放數(shù)據(jù)庫到連接池的連接。


技巧 9:進(jìn)程外執(zhí)行過程以性能換取可靠性


  ASP 和 MTS/COM+ 兩者都有配置選項(xiàng),可使您兼顧可靠性和性能。當(dāng)建立和部署應(yīng)用程序時(shí),應(yīng)知道如何兼顧兩者的性能。


  ASP 選項(xiàng)
  可以配置 ASP 應(yīng)用程序,以便以三種方法之一運(yùn)行。在 IIS 5.0 中,引入了“隔離級”這一術(shù)語以說明這些選項(xiàng)。這三個(gè)隔離級分別是低級、中級和高級:


  低級隔離。這在 IIS 的所有版本中都得到支持,且是最快的。它在 Inetinfo.exe 中運(yùn)行 ASP,Inetinfo.exe 是主要 IIS 進(jìn)程。如果 ASP 應(yīng)用程序崩潰,IIS 也會崩潰。(要在 IIS 4.0 下重新啟動 IIS,Web 站點(diǎn)管理員應(yīng)使用諸如 InetMon 之類的工具監(jiān)視站點(diǎn),如果服務(wù)器發(fā)生故障,應(yīng)啟用批處理文件以重新啟動服務(wù)器。IIS 5.0 引入了可靠的重新啟動,該方法可使發(fā)生故障的服務(wù)器自動重新啟動。)
  中級隔離。IIS 5.0 引入了這個(gè)新的級別,它被稱為進(jìn)程外級別,因?yàn)?ASP 在 IIS 進(jìn)程之外運(yùn)行。在中級隔離中,被配置作為中級隔離運(yùn)行的所有 ASP 應(yīng)用程序都共享一個(gè)進(jìn)程空間。這就減少了在一臺服務(wù)器運(yùn)行多個(gè)進(jìn)程外 ASP 應(yīng)用程序所需要的進(jìn)程數(shù)量。中級隔離是 IIS 5.0 中的默認(rèn)隔離級別。
  高級隔離。在 IIS 4.0 和 IIS 5.0 中支持這一級別,高級隔離也是進(jìn)程外的。如果 ASP 崩潰,Web 服務(wù)器并不會崩潰。下次 ASP 請求時(shí),ASP 應(yīng)用程序就會自動重新啟動。在高級隔離中,配置作為高級隔離運(yùn)行的每個(gè) ASP 應(yīng)用程序都在其自有進(jìn)程空間中運(yùn)行。這樣做可保護(hù) ASP 應(yīng)用程序彼此之間不相互干擾。其缺點(diǎn)是它要求每個(gè) ASP 應(yīng)用程序都要有一個(gè)單獨(dú)的進(jìn)程。當(dāng)在一臺服務(wù)器上必須運(yùn)行許多應(yīng)用程序時(shí),系統(tǒng)開銷就會大大增加。
  哪個(gè)選項(xiàng)最好的呢?在 IIS 4.0 中,進(jìn)程外運(yùn)行將顯著降低性能。在 IIS 5.0 中,做了許多改進(jìn),將進(jìn)程外運(yùn)行 ASP 應(yīng)用程序所產(chǎn)生的開銷降到最低限度。事實(shí)上,在絕大多數(shù)測試中,IIS 5.0 中的 ASP 進(jìn)程外應(yīng)用程序比 IIS 4.0 中的進(jìn)程內(nèi)應(yīng)用程序運(yùn)行得更快。不管怎樣,在兩個(gè)平臺上,進(jìn)程內(nèi)(低隔離級)性能最佳。但是,如果訪問率相對較低或最大吞吐量較低,低隔離級的優(yōu)勢不太明顯。因此,在您每一 Web 服務(wù)器每秒鐘需要數(shù)百或成千上萬頁面時(shí),才會覺得有必要設(shè)置低隔離級。與往常一樣,應(yīng)對多種配置進(jìn)行測試,確定您要采取哪一種折衷方案。


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


  COM 選項(xiàng)
  COM 組件也有三種配置選項(xiàng),雖然與 ASP 選項(xiàng)不完全類似。COM 組件可以是“未配置的”、配置為庫應(yīng)用程序或配置為服務(wù)器應(yīng)用程序。“未配置的”意思是指組件沒有注冊 COM+。組件將在調(diào)用程序的進(jìn)程空間運(yùn)行,那就是說,它們是“進(jìn)程內(nèi)的”。庫應(yīng)用程序也是進(jìn)程內(nèi)的,但使用 COM+ 的服務(wù),包括安全、事務(wù)和上下文支持。服務(wù)器應(yīng)用程序被配置為在它們自有的進(jìn)程空間內(nèi)運(yùn)行。


  您可以看到未配置的組件比庫應(yīng)用程序略有一些優(yōu)勢。庫應(yīng)用程序比服務(wù)器應(yīng)用程序的性能優(yōu)點(diǎn)更大。這是因?yàn)閹鞈?yīng)用程序與 ASP 在同一進(jìn)程內(nèi)運(yùn)行,而服務(wù)器應(yīng)用程序在它們的自有進(jìn)程內(nèi)運(yùn)行。進(jìn)程間的調(diào)用比進(jìn)程內(nèi)調(diào)用開銷更大。而且,當(dāng)在進(jìn)程之間傳遞諸如記錄集之類的數(shù)據(jù)時(shí),必須在兩個(gè)進(jìn)程之間復(fù)制所有的數(shù)據(jù)。


  陷阱!當(dāng)使用 COM 服務(wù)器應(yīng)用程序時(shí),如果您在 ASP 和 COM 之間傳遞對象,要確保對象執(zhí)行“按值匯集”或 MBV。執(zhí)行 MBV 的對象將它們自己從一個(gè)進(jìn)程復(fù)制到另一個(gè)進(jìn)程。這比下面一種方法好,采用這種方法時(shí),對象仍在創(chuàng)建者的進(jìn)程中,另外一個(gè)進(jìn)程反復(fù)地調(diào)用創(chuàng)建進(jìn)程以使用該對象。切斷連接的 ADO 記錄集將“按值匯集”,連接的記錄集則不然。Scripting.Dictionary 不執(zhí)行 MBV,且不在進(jìn)程之間傳遞。最后,VB 程序員請注意:MBV 不通過傳遞參數(shù) ByVal 獲得。MBV 由原始的組件作者執(zhí)行。


  怎么辦?
  如果讓我們建議一個(gè)兼顧性能與可靠性的合理配置,它們應(yīng)是如下的配置:


  在 IIS 4.0 中,使用 ASP 低隔離級別,使用 MTS 服務(wù)器程序包。
  在 IIS 5.0 上,使用 ASP 的中隔離級,并使用 COM+ 庫應(yīng)用程序。
這些是非常一般的原則,主機(jī)服務(wù)公司一般情況下以中或高隔離級運(yùn)行 ASP,而單用途的 Web 服務(wù)器可以以低隔離級運(yùn)行。衡量各種利弊,并自己決定哪個(gè)配置更能符合您的需要。


技巧 10:使用顯式選項(xiàng)


  在 .asp 文件中應(yīng)使用 Option Explicit。此指令放在 .asp 文件的最上面,它強(qiáng)制開發(fā)人員聲明要使用到的所有變量。許多程序員認(rèn)為這種方法對于調(diào)試應(yīng)用程序很有幫助,因?yàn)檫@種方法避免了鍵錯變量名和誤建新變量的可能性(例如,將 MyXMLString=) 錯寫成 MyXLMString=...。


  更重要的一點(diǎn)也許是,聲明的變量比未聲明的變量速度更快。由此,腳本在運(yùn)行時(shí)每次用到未聲明的變量時(shí),按名稱引用它。另一方面,聲明的變量是有順序的,要么以編譯時(shí)間,要么以運(yùn)行時(shí)間。以后,聲明的變量都按此順序引用。因?yàn)?Option Explicit 強(qiáng)制變量聲明,它能確保聲明所有變量,因此訪問的速度也很快。


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


  局部變量是那些在子例程和函數(shù)內(nèi)聲明的變量。在函數(shù)或子例程內(nèi),局部變量訪問比全局變量訪問更快。局部變量的使用也會使代碼更清晰,因此應(yīng)盡量使用局部變量。


技巧 12:將經(jīng)常使用的數(shù)據(jù)復(fù)制到腳本變量中


  當(dāng)訪問 ASP 中的 COM 對象時(shí),應(yīng)將經(jīng)常使用的對象數(shù)據(jù)復(fù)制到腳本變量中。這樣做可減少 COM 方法調(diào)用,因?yàn)?COM 方法調(diào)用與訪問腳本變量相比,開銷相對較大。當(dāng)訪問 Collection 和 Dictionary 對象時(shí),這種技術(shù)也會減少開銷很大的查找。


  一般來說,如果您打算不止一次訪問對象數(shù)據(jù),那么就應(yīng)將數(shù)據(jù)放到腳本變量中。這種優(yōu)化的主要目標(biāo)是 Request 變量(Form 和 QueryString 變量)。例如,您的站點(diǎn)可傳遞一個(gè)名為 UserID 的 QueryString 變量。假設(shè)此 UserID 在特定頁面上被引用 12 次??梢詿o須調(diào)用 Request(?UserID?) 12 次,而是在 ASP 頁面最上面將 UserID 指派到一個(gè)變量。然后在該頁面自始至終使用該變量。這樣就省去了 11 次 COM 方法調(diào)用。


  實(shí)際上,訪問 COM 屬性或方法的開銷并沒有那么大。下面舉一個(gè)例子,說明某相當(dāng)常見的代碼(從語法上講):


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


  當(dāng)此代碼運(yùn)行時(shí),下面是發(fā)生的情況:


  變量 Foo 被解析為全局對象。
  變量 bar 被解析為 Foo 的成員。這實(shí)際就是一次 COM 方法調(diào)用。
  變量 blah 被解析為 Foo.bar 的成員。這又是一次 COM 方法調(diào)用。
  變量 qaz 被解析為 foo.bar.blah 的成員。沒有錯,這還是一次 COM 方法調(diào)用。
  調(diào)用 Foo.bar.blah.quaz(1)。再一次 COM 方法調(diào)用。懂了嗎?
  再次執(zhí)行步驟 1 至步驟 3 以解析 baz。系統(tǒng)并不知道調(diào)用 qaz 是否改變對象模型,因此必須再次執(zhí)行步驟 1 至 3 以解析 baz。
  將 baz 解析為 Foo.bar.blah 的成員。賦予屬性。
  再次執(zhí)行步驟 1 至步驟 3 以解析 zaq。
  再次執(zhí)行步驟 1 至步驟 3 以解析 abc。
  正如您可看到的,效率相當(dāng)差(且慢)。以 VBScript 寫此代碼的快速方法是:


Set myobj = Foo.bar.blah ' do the resolution of blah ONCE
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 程序設(shè)計(jì)。


技巧 13:避免重新確定數(shù)組的維數(shù)


  應(yīng)盡量避免 Redim 數(shù)組。就性能而言,如果計(jì)算機(jī)的物理內(nèi)存大小有限,最好將數(shù)組的初始維數(shù)設(shè)置為其最不利的情況 - 或?qū)⒕S數(shù)設(shè)置為其最佳的情況,然后再按需要重新確定維數(shù)。這并非意味著,如果知道您不需要內(nèi)存時(shí),就隨便分配幾兆字節(jié)的內(nèi)存。


  下面的代碼給您顯示使用 Dim 和 Redim 不當(dāng)?shù)那樾巍?/P>

<%
Dim MyArray()
Redim MyArray(2)
MyArray(0) = ?hello?
MyArray(1) = ?good-bye?
MyArray(2) = ?farewell?
...
' some other code where you end up needing more space happens, then ...
Redim Preserve MyArray(5)
MyArray(3) = ?more stuff?
MyArray(4) = ?even more stuff?
MyArray(5) = ?yet more stuff?
%>


  最好一開始就將數(shù)組的初始大小 Dim 正確(在本例中,是 5)比 Redim 數(shù)組使其更大好得多。您可能浪費(fèi)一些內(nèi)存(如果您沒有使用所有的元素),但獲得的好處是速度變得更快。


#p#


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


  您可以通過啟用“響應(yīng)緩沖”,將要輸出的一整頁緩沖起來。這樣就將寫到瀏覽器的量減到最少,從而改善總體性能。每個(gè)寫操作都會產(chǎn)生很大的系統(tǒng)開銷(在 IIS 中以及在通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)量方面),因此寫操作越少越好。由于其啟動慢且使用 Nagling 算法(用來減輕網(wǎng)絡(luò)塞車情況),TCP/IP 在發(fā)送一些大的數(shù)據(jù)塊時(shí)比必須發(fā)送許多小的數(shù)據(jù)塊時(shí)的效率高得多。


  有兩個(gè)方法啟用響應(yīng)緩沖。第一種,您可以使用 Internet Services Manager 為整個(gè)應(yīng)用程序啟用響應(yīng)緩沖。我們建議采用這種方法,在 IIS 4.0 和 IIS 5.0 中默認(rèn)為新的 ASP 應(yīng)用程序啟用響應(yīng)緩沖。第二種,可以在每個(gè) ASP 頁面的接近頂端的地方加入下面的代碼行,從而啟用響應(yīng)緩沖:


<% Response.Buffer = True %>


  此代碼行必須在任何響應(yīng)數(shù)據(jù)被寫到瀏覽器之前執(zhí)行(即,在任何 HTML 出現(xiàn)在 ASP 腳本之前以及在使用 Response.Cookies 集合設(shè)置任何 Cookies 之前)。一般來說,最好為整個(gè)應(yīng)用程序啟用響應(yīng)緩沖。這樣,您就不必在每個(gè)頁面最上面寫入上述的代碼行。


  Response.Flush
  關(guān)于響應(yīng)緩沖有一個(gè)常見的抱怨,就是用戶感覺到 ASP 頁面的響應(yīng)速度很慢(即使整個(gè)響應(yīng)時(shí)間得到改進(jìn)),因?yàn)樗麄儽仨毜鹊秸麄€(gè)頁面生成,然后他們才能看到東西。對于運(yùn)行時(shí)間長的頁面,您可以設(shè)置 Response.Buffer = False,禁用響應(yīng)緩沖。但是,一個(gè)更好的策略是利用 Response.Flush 方法。這種方法將 ASP 轉(zhuǎn)換的所有 HTML 送到瀏覽器。例如,在轉(zhuǎn)換 1,000 行的表的前 100 行之后,ASP 可以調(diào)用 Response.Flush,強(qiáng)制將轉(zhuǎn)換的結(jié)果送到瀏覽器,這樣可使用戶在其余的行準(zhǔn)備好之前看到頭 100 行。這種技術(shù)可以將響應(yīng)緩沖與瀏覽器逐漸顯示數(shù)據(jù)完美地結(jié)合在一起。


  (注意在上面的 1,000 行表的舉例中,許多瀏覽器在它們看到關(guān)閉 </table> 標(biāo)記之前不會開始顯示表。檢查您的目標(biāo)瀏覽器是否支持。為避免這種情況,將表分成多個(gè)具有較少行的表,并在每個(gè)表之后調(diào)用 Response.Flush。較新版本的 Internet Explorer 在表完全下載之前就開始顯示表,如果您指定表列寬,顯示速度就會特別快,這樣做可避免強(qiáng)制 Internet Explorer 通過測量每個(gè)單元格的內(nèi)容寬度來計(jì)算列寬。)


  另一個(gè)關(guān)于響應(yīng)緩沖的常見的抱怨是,當(dāng)產(chǎn)生非常大的頁面時(shí),將占用許多服務(wù)器內(nèi)存。撇開產(chǎn)生大頁面的方法不談,這種問題也可通過巧妙使用 Response.Flush 來加以解決。


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


  VBScript 語法 <% = expression %> 將“expression”的值寫到 ASP 輸出流中。如果響應(yīng)緩沖未啟用,那么執(zhí)行其中的每一條語句,都會以許多小的數(shù)據(jù)包通過網(wǎng)絡(luò)將數(shù)據(jù)寫到瀏覽器中。這樣速度很慢。而且穿插執(zhí)行少量的腳本和 HTML,將引起腳本引擎和 HTML 之間的切換,從而降低性能。因此,使用下面的技巧:使用 Response.Write 調(diào)用代替捆綁緊密的內(nèi)嵌表達(dá)式。例如,在下面的示例中,在每一行的每一字段對響應(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)流有一次寫操作。所有的代碼都包含在一個(gè) 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)緩沖時(shí),這一技巧的效果特別大。最好啟用響應(yīng)緩沖,然后看批處理 Response.Write 是否有助于提高性能。


 ?。ㄔ谶@一特定舉例中,建立表主體的嵌套循環(huán) (While Not rs.EOF...) 可以用仔細(xì)構(gòu)建的 GetString 調(diào)用來替代。)


技巧 16:如果頁面需要很長時(shí)間才能完成,那么執(zhí)行前使用 Response.IsClientConnected


  如果用戶性急,他們可能會在您開始執(zhí)行他們的請求之前,就會放棄 ASP 頁面。如果他們單擊刷新或移到服務(wù)器上的另一個(gè)頁面,在 ASP 請求隊(duì)列的末尾就有一個(gè)新的請求等候,在隊(duì)列的中間有一個(gè)斷開連接的請求。當(dāng)服務(wù)器的負(fù)載很高時(shí)(因此請求隊(duì)列就會很長,響應(yīng)時(shí)間也會相應(yīng)地變長),就會經(jīng)常發(fā)生這種情況,這樣只能使情況變得更糟。如果用戶不再連接,執(zhí)行 ASP 頁面(特別是慢的、大的 ASP 頁面)已沒有任何意義。您可以使用 Response.IsClientConnected 屬性檢查這一情況。如果它返回 False,則應(yīng)調(diào)用 Response.End 并放棄頁的其余部分。事實(shí)上,IIS 5.0 已將這一做法編為程序 - 每當(dāng) ASP 即將執(zhí)行新請求時(shí),它就會檢查請求在隊(duì)列中已等候了多長時(shí)間。如果已經(jīng)在那里等候了多于 3 秒鐘,ASP 將檢查客戶機(jī)是否仍處于連接狀態(tài),如果沒有連接,就立即終止請求。您可以在配置數(shù)據(jù)庫中使用 AspQueueConnectionTestTime 設(shè)置將超時(shí)時(shí)間由 3 秒調(diào)整為其它值。


  如果頁面要花很長時(shí)間才能執(zhí)行完,也可以不時(shí)地檢查 Response.IsClientConnected。當(dāng)啟用了響應(yīng)緩沖時(shí),最好不時(shí)地執(zhí)行 Response.Flush,以用戶知道,正在發(fā)生什么事。


  注意 在 IIS 4.0 上,除非先執(zhí)行了 Response.Write,否則 Response.IsClientConnected 就不能正常工作。如果啟用了緩沖,您也必須執(zhí)行 Response.Flush。在 IIS 5.0 上,卻沒有必要這樣做,- Response.IsClientConnected 工作正常。在任何情況下,Response.IsClientConnected 都會有一些開銷,因此只有在一個(gè)操作至少要花(比方說) 500 毫秒(如果您想維持每秒鐘數(shù)十頁的吞吐量,這是一個(gè)很長的時(shí)間)才使用它。經(jīng)驗(yàn)表明,不要每次重復(fù)執(zhí)行緊密循環(huán)時(shí)都調(diào)用它,如顯示表的許多行時(shí) - 每隔二十或五十行調(diào)用一次可能比較合適。


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


  如果要引用不在所有代碼路徑(特別是服務(wù)器或應(yīng)用程序作用域的對象)中使用的對象,使用 Global.asa 中 <object runat=server id=objname> 標(biāo)記聲明它們,而不使用 Server.CreateObject 方法。Server.CreateObject 能立即創(chuàng)建對象。如果以后不再使用該對象,您就浪費(fèi)了資源。<object id=objname> 標(biāo)記聲明 objname,但在其方法或?qū)傩缘谝淮问褂靡郧埃粫?chuàng)建 objname。


  這又是一個(gè)惰性計(jì)算的例子。


技巧 18:對于 ADO 和其它組件使用 TypeLib 聲明


  當(dāng)使用 ADO 時(shí),開發(fā)人員經(jīng)常加入 adovbs.txt,以訪問 ADO 的各種常量。在要使用常量的每個(gè)頁面中必須包含此文件。此常量文件相當(dāng)大,給每個(gè) ASP 頁面的編譯時(shí)間和腳本大小增加了許多系統(tǒng)開銷。


  IIS 5.0 引入了綁定到組件類型庫的功能。這可使您引用類型庫一次,并將其用在每個(gè) ASP 頁面上。每個(gè)頁面不會產(chǎn)生編譯常量文件的開銷,且組件開發(fā)人員不必建立 VBScript#_include 文件以在 ASP 上使用。


  要訪問 ADO TypeLib,將下面一條語句放在 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: 利用瀏覽器的驗(yàn)證功能


  現(xiàn)今的瀏覽器對一些高級功能如 XML、DHTML、Java 小程序和遠(yuǎn)程數(shù)據(jù)服務(wù)提供支持。盡可能使用這些功能。所有這些技術(shù)都可以執(zhí)行客戶機(jī)端驗(yàn)證和數(shù)據(jù)緩存,免去了到 Web 服務(wù)器的往返。如果您在運(yùn)行一個(gè)智能瀏覽器,那么瀏覽器就能為您進(jìn)行一些驗(yàn)證(例如,在執(zhí)行 POST 之前,檢查信用卡校驗(yàn)和是否有效)。盡可能使用這一功能。通過減少客戶-服務(wù)器之間的往返,可降低 Web 服務(wù)器上的負(fù)載,并能減少網(wǎng)絡(luò)通信量(雖然發(fā)送到瀏覽器的第一個(gè)頁面可能比較大)以及服務(wù)器訪問的任何后端資源。此外,用戶不必像住常一樣讀取新頁,從而用戶的感覺會好一些。這樣做并不意味著您可以不進(jìn)行服務(wù)器端驗(yàn)證 - 您還應(yīng)始終進(jìn)行服務(wù)器端驗(yàn)證。這可以防止由于某種原因(如黑客,或?yàn)g覽器不運(yùn)行客戶機(jī)端驗(yàn)證例程)客戶機(jī)產(chǎn)生錯誤的數(shù)據(jù)。


  人們已經(jīng)進(jìn)行了大量的工作,開發(fā)“獨(dú)立于瀏覽器”的 HTML。正是由于這種憂慮,開發(fā)人員不愿再使用流行的瀏覽器功能,但這些功能本可以改善性能。對于一些真正的高性能站點(diǎn),必須關(guān)心瀏覽器“訪問”問題,一個(gè)好的策略是優(yōu)化頁面,使其適應(yīng)流行的瀏覽器。使用瀏覽器功能組件,可以在 ASP 中方便地檢測到瀏覽器功能。Microsoft FrontPage 等工具有助于設(shè)計(jì)適合于瀏覽器和指定 HTML 版本的代碼。參見 When is Better Worse?Weighing the Technology Trade-Offs,以了解更進(jìn)一步的討論。


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


  許多人在循環(huán)語句中建立一個(gè)字符串,如下所示:


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


  采用這種方法會出現(xiàn)一些問題。第一個(gè)問題是反復(fù)串聯(lián)字符串需要花兩次方的時(shí)間,更通俗地說,運(yùn)行這種循環(huán)語句所花的時(shí)間與記錄數(shù)乘以字段數(shù)所得值的平方成正比。舉一個(gè)更簡單的例子,就可以更清楚地說明這一問題。


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


  在第一次迭代中,您獲得了一個(gè)字符的字符串 ?A?。在第二次迭代中,VBScript 必須重新分配字符串并將兩個(gè)字符 (?AB?) 復(fù)制到 s 中。在第三次迭代中,它還必須再次重新分配 s 并將三個(gè)字符復(fù)制到 s 中。在 N 次(第 26 次)迭代中,它必須重新分配并將 N 個(gè)字符復(fù)制到 s 中??偣簿褪?1+2+3+...+N,即 N*(N+1)/2 次復(fù)制。


  在上面的記錄集舉例中,如果有 100 個(gè)記錄和 5 個(gè)字段,內(nèi)循環(huán)將執(zhí)行 100*5 = 500 次,所有的復(fù)制和重新分配所花的時(shí)間與 500*500 = 250,000 成正比。這對于中等大小的記錄集來說復(fù)制操作太多了。


  在本例中,代碼可以用 Response.Write() 或內(nèi)嵌腳本 (<% = fld.Value %>) 替代字符串串聯(lián)來改進(jìn)。如果啟用了響應(yīng)緩沖的話(應(yīng)該的),這樣做就會更快,因?yàn)?Response.Write 只將數(shù)據(jù)附加到響應(yīng)緩沖的末尾。并不涉及重新分配,因此效率很高。


  在將 ADO 記錄集轉(zhuǎn)換為 HTML 表的特定情況下,應(yīng)考慮使用 GetRows 或 GetString。


  如果在 JScript 中串聯(lián)字符串,特別建議使用 += 運(yùn)算符,即,使用 s += ?某字符串?,而不使用 s = s + ?某字符串?。


  在默認(rèn)情況下,ASP 禁止在瀏覽器和代理中進(jìn)行緩存。這是有意義的,因?yàn)榫蛯?shí)質(zhì)而言 ASP 頁面是動態(tài)的,上面有隨時(shí)間不斷變化的潛在信息。如果頁面不要求在每個(gè)視圖上進(jìn)行刷新,您應(yīng)啟用瀏覽器和代理緩存。這可使瀏覽器和代理在一定的時(shí)間內(nèi)使用頁面的“緩存”副本,您可以控制時(shí)間的長短。緩存可以大大減輕服務(wù)器上的負(fù)載,縮短用戶的等待時(shí)間。


  哪一種動態(tài)頁面可作為要緩存的頁面呢?下面舉一些例子:


  天氣預(yù)報(bào)頁面,在此頁面上,每隔 5 分鐘更新一次天氣預(yù)報(bào)。
  列出新聞條目或新聞稿的主頁,它一天更新兩次。
  共同基金業(yè)績列表,在此列表中,基本統(tǒng)計(jì)信息每隔幾小時(shí)更新一次。
  注意,在使用瀏覽器或代理緩存的情況下,Web 服務(wù)器上記錄的訪問次數(shù)減少了。如果您想準(zhǔn)確地測量所有頁面視圖或張?zhí)?,您就不希望使用瀏覽器和代理緩存。


  瀏覽器緩存由 HTTP“過期”報(bào)頭控制,該報(bào)頭由 Web 服務(wù)器發(fā)送給瀏覽器。ASP 提供兩個(gè)簡單的機(jī)制發(fā)送此報(bào)頭。要設(shè)置頁面使其過多少分鐘后到期,則應(yīng)設(shè)置 Response.Expires 屬性。下面的例子告訴瀏覽器內(nèi)容在 10 分鐘內(nèi)過期:


<% Response.Expires = 10 %>


  若將 Response.Expires 設(shè)置為負(fù)數(shù)或 0,則禁用緩存。一定要使用大的負(fù)數(shù),如 -1000(略多于一天),以避免服務(wù)器和瀏覽器時(shí)鐘之間的不匹配。第二個(gè)屬性 Response.ExpiresAbsolute 將使您設(shè)置內(nèi)容過期的具體時(shí)間:


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


  您可以不使用 Response 對象設(shè)置過期時(shí)間,而將 <META> 標(biāo)記寫進(jìn) HTML,通常寫在 HTML 文件的 <HEAD> 部分。一些瀏覽器將遵照此指令,而代理則不然。


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


  最后,您可以使用 Response.CacheControl 屬性,指示其內(nèi)容是否可以讓 HTTP 代理緩存。若將此屬性設(shè)置為“Public”,代理就可以緩存此內(nèi)容。


<% Response.CacheControl = ?Public? %>


  在默認(rèn)情況下,此屬性被設(shè)置為“Private”。注意,對于顯示某用戶特定數(shù)據(jù)的頁面,不應(yīng)啟用代理緩存,因?yàn)榇砜赡芙o用戶提供屬于其他用戶的頁面。


#p#


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


  Response.Redirect 讓瀏覽器請求另一個(gè)頁面。此函數(shù)常用來將用戶重定向到一個(gè)登錄或錯誤頁面。因?yàn)橹囟ㄏ驈?qiáng)制請求新頁面,結(jié)果是瀏覽器必須到 Web 服務(wù)器往返兩次,且 Web 服務(wù)器必須多處理一個(gè)請求。IIS 5.0 引入了一個(gè)新的函數(shù) Server.Transfer,它將執(zhí)行轉(zhuǎn)移到同一臺服務(wù)器上的另一個(gè) ASP 頁。這樣就避免多余的瀏覽器-Web-服務(wù)器的往返,從而改善了總體系統(tǒng)性能以及縮短了用戶的響應(yīng)時(shí)間。檢查“重定向”中的“新的方向”,上面應(yīng)該是 Server.Transfer 和 Server.Execute。


  另請參見 Leveraging ASP in IIS 5.0,了解 IIS 5.0 和 ASP 3.0 新功能的完整列表。


技巧 23:在目錄 URL 中使用后斜杠


  一個(gè)相關(guān)的技巧是確保在指向目錄的 URL 中使用后斜杠 (/)。如果您省略了后斜杠,瀏覽器就會向服務(wù)器發(fā)出請求,只是為了告訴服務(wù)器,它在請求目錄。瀏覽器就會發(fā)出第二個(gè)請求,將斜杠附加到 URL 后面,只有此后,服務(wù)器才能以該目錄的默認(rèn)文檔或目錄列表(如果沒有默認(rèn)文檔且啟用了目錄瀏覽的話)響應(yīng)。附加斜杠可省去第一個(gè)、無用的住返。為便于用戶閱讀,可以省略顯示名稱中的后斜杠。


  例如,寫:


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


  這也適用于指向 Web 站點(diǎn)上主頁的 URL:使用下面的:<a href=?http://msdn.microsoft.com/?>,而不使用 <a href=?http://msdn.microsoft.com?>。


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


  訪問服務(wù)器變量會使 Web 站點(diǎn)向服務(wù)器發(fā)出一個(gè)特殊請求,并收集所有服務(wù)器變量,而不只是您請求的那個(gè)變量。這種情況類似于,在發(fā)霉的閣樓上,在一個(gè)文件夾中查找某個(gè)文件。當(dāng)您想要找那個(gè)文件時(shí),您必須去閣樓上,先找到文件夾,然后才能找到這份文件。當(dāng)您請求服務(wù)器變量時(shí),發(fā)生的情況是一樣的 - 您第一次請求服務(wù)器變量時(shí),就會使性能受到影響。后面的對其它服務(wù)器變量的請求,則不會對性能產(chǎn)生影響。


  決不要訪問非限定的 Request 對象(例如,Request("Data"))。對于不在 Request.Cookies、Request.Form、Request.QueryString 或 Request.ClientCertificate 中的項(xiàng)目,則隱式調(diào)用 Request.ServerVariables。Request.ServerVariables 集合比其它集合慢得多。


技巧 25:升級到最新和最出色的


  系統(tǒng)組件是恒定的,我們建議您將它們升級到最新和最好的配置。最好升級到 Windows 2000(因此,也應(yīng)升級到 IIS 5.0、ADO 2.5、MSXML 2.5、Internet Explorer 5.0、VBScript 5.1 和 JScript 5.1)。在多處理器計(jì)算機(jī)上,實(shí)施 IIS 5.0 和 ADO 2.5 可顯著改善性能。在 Windows 2000 下,ASP 可以很好地?cái)U(kuò)展到四個(gè)處理器或更多,而在 IIS 4.0 下,ASP 的擴(kuò)展性不能超出兩個(gè)處理器。在應(yīng)用程序中使用的腳本代碼和 ADO 越多,升級到 Windows 2000 之后,性能的改善就會越多。


  如果目前還不能升級到 Windows 2000,您可以升級到 SQL Server、ADO、VBScript 和 JScript、MSXML、Internet Explorer 和 NT 4 Service Packs 的最新版本。它們均可提高性能和可靠性。


技巧 26:優(yōu)化 Web 服務(wù)器


  有多種 IIS 優(yōu)化參數(shù)可以改善站點(diǎn)性能。例如,對于 IIS 4.0,我們常常發(fā)現(xiàn),增加 ASP ProcessorThreadMax 參數(shù)(參見 IIS 文檔)可以顯著改善性能,特別是在傾向于等待后端資源(如數(shù)據(jù)庫)或其它中間產(chǎn)品(如屏幕刷)的站點(diǎn)上。在 IIS 5.0 中,您可能發(fā)現(xiàn)啟用 ASP Thread Gating 比查找一個(gè) AspProcessorThreadMax 最佳設(shè)置效率更高,這一點(diǎn)現(xiàn)在已為大家所熟知。


  有關(guān)較好的參考資料,參見下面的優(yōu)化 IIS。


  最佳的配置設(shè)置取決于(其中一些因素)應(yīng)用程序代碼、運(yùn)行所在的系統(tǒng)硬件和客戶機(jī)工作負(fù)荷。找到最佳設(shè)置的唯一方法是進(jìn)行性能測試,這是我們在下一個(gè)技巧中所要討論的。


技巧 27:進(jìn)行性能測試


  正如我們在前面已經(jīng)講過,性能是一個(gè)特征。如果您想要改善站點(diǎn)的性能,那么就制定一個(gè)性能目標(biāo),然后逐步改進(jìn),直到達(dá)到目標(biāo)為止。不要,就不進(jìn)行任何性能測試。通常,在項(xiàng)目結(jié)束時(shí),再作必需的結(jié)構(gòu)調(diào)整已經(jīng)為時(shí)太晚,您的客戶將為此感到失望。將性能測試作為您日常測試的一部分來進(jìn)行??梢詫蝹€(gè)組件分別進(jìn)行性能測試,如針對 ASP 頁或 COM 對象,或?qū)⒄军c(diǎn)作為一個(gè)整體來測試。


  許多人使用單個(gè)瀏覽器請求頁面,來測試 Web 站點(diǎn)的性能。這樣做就會給您一個(gè)感覺,即站點(diǎn)的響應(yīng)能力很好,但這樣做實(shí)際上并不能告訴您在負(fù)載條件下站點(diǎn)的性能如何。


  一般情況下,要想準(zhǔn)確地測試性能,您需要一個(gè)專門的測試環(huán)境。此環(huán)境應(yīng)包括硬件,其處理器速度、處理器數(shù)量、內(nèi)存、磁盤、網(wǎng)絡(luò)配置等方面與生產(chǎn)環(huán)境的硬件相似。其次,您必須指定客戶機(jī)的工作負(fù)荷:有多少同時(shí)的用戶,他們發(fā)出請求的頻率,他們點(diǎn)擊頁面的類型等等。如果您沒有站點(diǎn)實(shí)際使用情況的數(shù)據(jù),您必須估計(jì)一下使用的情況。最后,您需要一個(gè)可以模擬預(yù)期客戶機(jī)工作負(fù)荷的工具。有了這些工具,您就可以開始回答諸如“如果我有 N 個(gè)同時(shí)的用戶,那么需要多少服務(wù)器?”之類的問題。您還可以找出出現(xiàn)瓶頸的原因,并以此為目標(biāo)進(jìn)行優(yōu)化。


  下面列出了一些好的 Web 負(fù)載測試工具。我們特別推薦 Microsoft Web Application Stress (WAS) 工具包。WAS 可使您記錄測試腳本,然后模擬數(shù)百或成千上萬個(gè)用戶訪問 Web 服務(wù)器。WAS 報(bào)告很多統(tǒng)計(jì)信息,包括每秒鐘的請求數(shù),響應(yīng)時(shí)間分布情況和錯誤計(jì)數(shù)。WAS 有豐富的客戶機(jī)界面和基于 Web 的界面兩種,Web 界面可使您進(jìn)行遠(yuǎn)程測試。


  一定要閱讀 IIS 5.0 Tuning Guide。


技巧 28:閱讀資源鏈接


  下面是一些與性能有關(guān)的出色的資源鏈接。如果您想了解有關(guān)信息,請閱讀 Developing Scalable Web Applications。


資源


優(yōu)化 ASP 腳本
  Developing Scalable Web Applications


  Got Any Cache? Nancy Winnick Cluts 著


  Maximizing the Performance of Your Active Server Pages,Nancy Winnick Cluts 著


  15 Seconds: Performance Section


  Enhancing Performance in ASP - Part I,Wayne Plourde 著


  When is Better Worse? Weighing the Technology Trade-Offs,Nancy Winnick Cluts 著


  Speed and Optimization Resources,Charles Carroll 著


優(yōu)化 IIS


  The Art and Science of Web Server Tuning with Internet Information Services 5.0


  Leveraging ASP in IIS 5.0,J.D. Meier 著


  Tuning IIS 4.0 for High Volume Sites,Michael Stephenson 著


  Tuning Internet Information Server Performance,Mike Moore 著


  Navigating the Maze of Settings for Web Server Performance Optimization,Todd Wanke 著


  Managing Internet Information Server 4.0 for Performance,Hans Hugli 著


ADO 和 SQL Server


  Top Ten Tips: Accessing SQL Through ADO and ASP,J.D. Meier 著


  Improve the Performance of your MDAC Application,Suresh Kannan 著


  Pooling in the Microsoft Data Access Components,Leland Ahlbeck 和 Don Willits 合著


  SQL Server: Performance Benchmarks and Guides


  Improving the Performance of Data Access Components with IIS 4.0,Leland Ahlbeck 著


  Microsoft Data Access Components (MDAC) and ActiveX Data Objects (ADO) Performance Tips,Leland Ahlbeck 著


  Microsoft SQL Server 7.0 Practical Performance Tuning and Optimization - The Server Perspective,Damien Lindauer 著


  Microsoft SQL Server 7.0 Practical Performance Tuning and Optimization - The Application Perspective,Damien Lindauer 著


  Accessing Recordsets over the Internet,Dino Esposito 著


ASP 組件和線程模型


  ASP Component Guidelines,J.D. Meier 著


  Q243548: INFO: Design Guidelines for VB Components under ASP


  Threading Models Explained,Nancy Winnick Cluts 著


  So Happy Together? Using ActiveX components with Active Server Pages,Nancy Winnick Cluts 著


  Developing Active Server Components with ATL,George Reilly 著


  Agility in Server Components,Neil Allain 著


  Building High-Performance Middle-Tier Components with C++,Jon Flanders 著


  Active Server Pages and COM Apartments,Don Box 著


  House of COM: Active Server Pages,Don Box 著


  House of COM: Contexts,Don Box 著


  House of COM: Performance Trade-offs of the Windows 2000 Component Execution Environment,Don Box 著


  Building COM Components That Take Full Advantage of Visual Basic and Scripting,Ivo Salmre 著


  Component Design Principles for MTS


詞典組件


  Creating a Page Cache Object,Robert Coleridge 著


  Abridging the Dictionary Object: The ASP Team Creates a Lookup-Table Object,Robert Carter 著


  Caprock Dictionary


  Site Server Commerce Edition includes a dictionary component


會話狀態(tài)


  Q175167: HOWTO: Persisting Values Without Sessions


  Q157906: HOWTO: How To Maintain State Across Pages with VBScript


  XML-based Persistence Behaviors Fix Web Farm Headaches,Aaron Skonnard 著


  House of COM: Stateless Programming,Don Box 著


性能和擴(kuò)展性


  Blueprint for Building Web Sites Using the Microsoft Windows DNA Platform


  Server Performance and Scalability Killers,George Reilly 著


  Microsoft Visual Studio Scalability Center


  Fitch & Mather Stocks 2000


  Tuning the FMStocks Application


  High-Performance Visual Basic Apps,Ken Spencer 著


  Duwamish Books,Phase 4


  Top Windows DNA Performance Mistakes and How to Prevent Them,Gary Geiger 和 Jon Pulsipher 合著


  Building from Static HTML to High-Performance Web-Farms,Shawn Bice 著


工具


  Microsoft Web Application Stress Tool


  I Can't Stress It Enough -- Load Test Your ASP Application,J.D. Meier 著


  Windows DNA Performance Kit


  Monitoring Events in Distributed Applications Using Visual Studio Analyzer,Mai-lan Tomsen 著


書目


  Professional Active Server Pages 3.0,Wrox Press(特別是第 26 章:Optimizing ASP Performance,George Reilly 和 Matthew Gibbs 合著)。


  Microsoft Internet Information Services 5.0 Resource Guide(與 Windows 2000 Server Resource Kit 在一起),Microsoft Press。


  Microsoft Internet Information Server Resource Kit(用于 IIS 4.0),Microsoft Press。


  Programming Distributed Applications with COM and Microsoft Visual Basic 6.0,Ted Pattison 著,Microsoft Press。


  Effective COM,Don Box、Keith Brown、Tim Ewald 和 Chris Sells 合著;Addison-Wesley。


  Developing Web Usability: The Practice of Simplicity,Jakob Nielsen 著,New Riders。


ASP Web 站點(diǎn)


  Microsoft TechNet for IIS


  LearnASP.com


  4GuysFromRolla.com


  15Seconds.com


  AspToday.com


  Asp101.com


  AspLists.com。許多專業(yè)的郵件列表包括:


  Fast Code!
  ASP Advanced
  Not NewbieState Management
  Scalability
  Visual Basic Components
  XML
  C++/ATL Component Building
  UseIt.com: Web 可用性


ASP 樣式


  ASP Best Practices,George Reilly 著


  ASP Quick Lessons,Charles Carroll 著


  Planning for ASP,John Meade 著


  ASP Guidelines,J.D. Meier 著


XML


  Inside XML Performance,Chris Lovett 著


  Inside MSXML3 Performance,Chris Lovett 著


該文章在 2011/10/10 9:12:56 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2024 ClickSun All Rights Reserved

美女性感一二区,天堂久久久久久中文,自拍偷拍亚洲动漫 ,小浪货腿打开水真多视频,国产无套内精在线观看,巨胸喷奶水免费视频,欧美一级粗黑,免费高清欧美一区二区三区,黑人越猛烈欧美XX00动态图,最近亚洲国产网页aⅴ,少妇自拍视频一区,亚洲精品福利视频久久,最新手机国产在线小视频,国产午夜福利无,在线免费观看国产污污污视频,97视频国产中文,在线欧美sm一卡
五月天狠狠cao| 连续高潮在线观看| 亚洲综合图片区自拍第一页| 日韩人视频资源在线观看| 老司机免费福利午夜入口| 哆哆啪Free国产在线| 国产诱惑水电工| 亚洲色天堂2021| 久久久久久精品影院| 制服丝袜中文丝袜AV| 开心婷婷四房播播网| 一本久久a久久精品不卡| 妲己影院一成年视频欧美一区| AV在线综合导航| 国内自拍视频在线观看| 国产97精品乱码在线观看| 午夜一级福利在线| 国产xxxxx| 国产男同志Gay网站| jiZZ国产在线女人水多| 一区在线男男| 制服丝袜国产在线第一页| 777米奇影视狠狠狠| 在线视频 国产交换| 伊人成色综合网| 国产在线18| 亚洲熟女乱妇| 字幕网永久在线视频| 又爽又黄又无遮挡的视频1000| 亚洲国产免费男男| 国产高清女同学巨大乳在线| 澳门永久AV网站| Gay在线一区| 少妇三级全黄在线播放| 亚洲免费图区在线视频手机版| 国产91素人搭讪系列| 久久国产性精品| 7777狠狠狠琪琪电影| Gay在线一区| 黑粗硬大欧美在线播放| 高中生粉嫩美女高潮视频| 亚洲午夜tv| 好大好硬好深好爽想要免费视频| 国产亚洲精品第一综合不卡| 免费无遮挡禁18污污网站| 女人张腿让男桶免费视频| 大码熟女视频免费| 亚洲精品免费看| h福利小视屏| 啊嗯啊不要日本视频| 亚洲成a人片在线观看无吗| 日本成熟少妇喷浆视频| 在线观看AV手机版| 国产亚洲精品美女久久久| 国产精品动漫自拍| 我爱52v52v亚欧日韩在线观看| 午夜性爽视频男人的天堂| w11111光屁股影院| 99久久国产精品一区二区三区| 久久国产情侣露脸精品| 正在播放女子高潮大叫要| 亚洲日本韩国久久| 免费观看刺激高潮的视频| 久久婷婷丁香五月综合开心| 婷婷亚洲综合91| 久久精品视频按摩| 高跟翘臀老师后进式视频| 曰批视频免费看30分钟| 四月激情狠狠操| xxxx国产精品| 欧美大量喷水在线观看| 国产网站在线观看污| 在线观看h男同| 性情网站在线观看免费| 丁香五月缴情在线088| 国产精品露脸午夜福利| 狠狠爱亚洲综合久久| 日本中文字幕有码| 呦男呦女精品视频十区| 国产s免费视频| 韩国三级hd中文字幕| 熟女少妇AV免费| 26UUU色五月| 丝袜A∨在线一区二区三区| 曰批试看10分钟| 久久综合久久美利坚合众国| 一级少妇日本| 国产丝袜第一页| jiZZ大全高潮水多| 么公的好大好硬好深好爽视频| 永久男人天堂网| 国产流白浆高潮在线观看| 制服丝袜日韩另类| 90后极品粉嫩小泬20p欧美| 开心五月激情综合婷婷| 国产一级a爱看片免费视| 岛国国产在线观看网站| 被公疯狂玩弄的奈奈美359电影| 国产高清午夜国产精品| 高潮久久久久久| 经典国产偷自视频区视频真实| 午夜aa视频| 98色综合| h视频免费在线观看网站| 久久99热人人噜| 在线观看丝袜亚洲国产| 亚洲欧美日韩精品综合网| 美女扒开尿口让男生桶| 成本人动漫视频在线观看| 激情五月天四房播播| 两个人免费观看日本的| 小说区图片区综合区| 后进白嫩美女在线观看| 五月婷婷激情六月| 东方欧美永久在线观看| 又色又爽又高潮国产视频播放 | 亚洲高清精品50路| 夜夜夜免费网站观看| 2021日产乱码网站韩国V欧美V亚洲V日本V| 饥渴少妇高潮在线观看| 国产精品第25页| 亚洲女人的天堂白慰| 亚洲日韩国产一区二区三区| 91china国产在线video| 翁熄粗长粗大满足少妇| 久久久噜噜噜久久免费| 精品久久久久久国产| 日本三级韩国三级香港三级人妇| 成年女人天堂香蕉网| 欲色天天网综合久久| 成l人在线观看线路1| 嘿咻嘿咻免费区在线观看不卡| 在线看的免费网站黄2018| 中文字幕乱码在线电影| 日本美女白浆在线| 性啪体验区免费观看色哟哟| 在线看网禁国产you女网站| 亚洲观看AV网址| 1024国产在线精品| 国产熟女高潮叫床视频| 精品国产第一福利网站| 538免费视频同性人妖| 最近新免费韩国视频| jk福利诱惑影视在线| 一 级 黄 色 片免费的| 亚洲蜜芽在线精品一区| 久久国产精品无| 在线观看AV高清无毒网站| 夜夜艹欧美| 色窝窝蝌蚪在线精品免费| 亚洲宅男午夜永久网站| 波多野结衣AV网站点击进入| 国产丝袜脚交视频在线| 2021日产乱码网站韩国V欧美V亚洲V日本V | 一个人看的免费高清www视频在线观看国产| 又黄又刺激的视频,在线观看| 久久精品人人做人人爽| 嗯,啊轻点儿视频在线免费观看| 大粗大长高潮受不了视频| 欧美嗯~啊~| 少妇高清一区二区免费看| 中文字幕一区在线观看视频| 中文字幕无线观看不卡网站| 邪恶帝无翼乌福利全彩| 加勒比免费不卡视在线播放| 成 人 亚洲 综合天堂| 呦男呦女视频精品| 人成电影在线观看国产传媒| 亚洲观看一区二区三区| 色呦呦在线爱在线| aⅴ免费视频在线观看| 亚洲 自拍 动漫| 欧美日韩一区二区三区在线| 亚洲无线码观看欧美午夜精品电影91| 国产人伦激情在线观看| aV忘忧草| 亚洲国产精品嫩草研究院| 亚洲五月丁香综合图波多野结衣| 亚洲成 人 综合 亚洲欧洲| 国产精品所白浆视频| 中文字幕亚洲一区二区三区| yy111111少妇影院| 56prom精品视频在线播放| 女人张腿让男桶免费视频| 最大胆人休大胆的做受| 国产在线导航| 国产a级精精彩大片免费看| 和 子同居的日子AV片| 久久精品视频69堂| 啊 叫大点声 欠CAO的SAO| 亚洲va久久久噜噜噜久久4399| 亚洲激情系列| 很黄很黄无遮挡的网站| 婷婷色激情综合| 亚洲第一红杏| 极品私人尤物在线精品| 国产呦在线沙发| 国产福利官网在线看| 亚洲熟女俱乐部| 国产自产39页| 尤物综合| baoyu免费观看国产无卡| 欧美老妇多毛最大的生殖器 | 久久国产777| 欧美激情福利网站| 国产高潮网站| 免费网禁国产you女网站下载| 在线 中文字幕 第一页| 新天堂网www在线视频| 老少配VIDEOSHD乱暴| 久久精品视频美女| 久久伊人色熟女| 被出租车司机爽到流水小说| 亚洲人激情视频| 在线看白丝AV| 国产高潮女人在线播放| 国产高清视频一区二区尤蜜| 久久精品导航| 波多野结衣迅雷下载| 爽到让人喷水的与子乱小说| 免费看美女裸露身体网站| 国内一级特黄性爱| 性国产在线看| 久久一本人碰碰人碰| 中年熟女按摩spa偷拍视频牛| 色综合伊人尤物| AV网站免费线看精品| 天天爽夜夜欢免费视频| 国产白浆在线喷水免费视频| 自拍 15 国产| 少妇厨房愉情理伦片视频下载| 麻豆久久99精品影院| 国产男生午夜福利免费网站| 又黄又硬又爽的视频| 最新视频网站在线观看色多多| 又大又爽又粗免费视频| 国产japanese在线观看| 2021精品国产自在现线看| 国产精品免费观看调教网| 亚洲日韩AV动态图| 国产免费观看18以下禁止的黄| 精品一二熟区| 国产日韩亚洲一区二区三区高清在线观看| 国产精品SM捆绑调教视频| 午夜福利视频免费观看中文字幕| 亚洲一区女教师| 亚洲精品国产第一| 国产亚洲2022视频在线观看| 白丝jk在线观看喷水| 亚洲欧美性爱浪潮| 99热在线都是精品免费| 久久久一本线一区二区| 窝窝社区精品免费观看| 亚洲处破女 www| 久久2020精品免费视频| 丰满的少妇被猛烈进入免费| 又大又黄的在线视频播放| 99护士自拍高潮在线| 又黑又硬又深又爽的视频| 国产精品人人做人人爽| 国产极品白嫩精品| 日本成本人片免费网址在线观看| 亚洲人成77777在线播放网站| 极品少妇福利午夜电影| 在线观看国产污的网站| 亚洲精品在看在线播放| 国产原创精品国产专区| 国产AV 第一页| 亚洲青草福利| 亚洲国产10p| AV手机天堂网| 992tv欧美在线视频| 国产精品亚洲А∨天堂网不卡| 又黄又长又大网站| 久久亚洲国产精品影院| 亚洲va在线va天堂va国产2020| 粉嫩白浆喷水在线视频| 国产XXXX做受视频| 国内久久久久久精品肉蒲| 好爽好黄好大我要喷水了视频| 久久国产午夜精品理论片| 国产羞涩免费视频在线观看| 午夜福利A一| 亚洲国产精品张柏芝| 久久国产性精品| 俺去俺来也在线www色官网| 狠狠cao免费视频| 国产麻豆影院| 俄罗斯女女13破苞视频| 99爱在线精品视频免费观看| 2020亚洲卡一卡二新区入口| 亚洲日韩天堂网中文字幕| 免费又爽又大又高潮视频| 国产欧美va天堂在线观看视频| 在线偷着国产精选视频| 同性男男黄h片在线播放| 欲妇荡岳丰满少妇岳| 性爱视频国产原创| 激情丁香色婷婷中文| 国产第一页浮力影院草草影视 | 国产女人水真多| 国产精品网曝门事件在线观看| 亚洲日韩一中文字幕| 国产尤物喷潮在线观看| 成 人免费视频免费观看直播| 亚洲性爱一区| 又爽又黄又无遮挡裸乳网站| 国产呦系列(771vip观看)| 深一点~我下面好爽视频| 尤物禁番动漫视频在线观看| 国产一精品一aV一免费| 夜夜精品视频一区二区| 午夜喷水福利视频| h成年动漫在线免费观看| 粉嫩极品国产在线观看| 在线白嫩| 亚洲肉肉视频网站| 网站在线观看a v| 嗯啊视频在线观看网站| www激情| 欧美大胸A片| 影音先锋网站尤物影音| AV尤物蜜芽每天在线播放| 亚洲国在线观看网| 法国性xxxxx极品| 超喷潮AV网| 亚洲综合五月天国产AV| 高h视频中文有码| 日韩极品一区二区精油按摩| 97热久久免费频精品99手机版| 五月天性爱在线观看| 最新系列国产专区| 亚洲日韩不卡一区二区三区| 少妇熟女综合网| 亚洲伊人久久大香线蕉综合| 久久综合色中文字幕| 最新厕所tp高跟美眉嘘嘘| 欧美综合自拍亚洲综合图| 成人AV专区| BAOYU131永久免费视频| 杨幂国产在线观看| 无遮掩小视频国产在线观看| 十八禁国产高清在线网站污| 777精品免费视频| 午夜孕妇福利视频| 成为人视频在线播放网站| 亚洲中文字幕一本久道热线在线 | 国产午夜福利久久精品| 抽搐一进一出gif95视频| 五月丁香激情综合视频| 亚洲嫩草影院久久精品| 阿v天堂视频大全| 激情六月少妇| xxxx中文字幕| 国产中文字幕一至六区| 俄罗斯一级午夜福利| 国产午夜福利在线观看一片红| 曰本又色又爽又黄观看| 欧美。日韩,一区| 国产性与交视频| 在线播放国产熟睡乱子伦视频| 俄罗斯女女13破苞视频| 国产美女喷水白浆在线播放| japanesehd国产在线视频| YY4080旧里番未删减版| 互换享受高潮| 成年人在线观看| 午夜男女插插福利视频| 一区二区三区在线青青| 国产曰批免费软件下载| 就去吻亚洲精品国产| 欧美性爱免费男人视频| 怡红院免费| 一区二区三区熟女| 亚洲国产精品嫩草影院久久| 刺激仑乱一区| 禁止18点击进入在线观看尤物| 关晓彤被高潮出奶水| 国产v片在线播放免费观看大全| 国产精品自产拍在线观看免费| GV在线观看免费亚洲视频| 精品国产亚洲一区二区| 欧美日韩非洲在线视频| 午夜精品视频小蝌蚪在线观看 | 丰满少妇被猛烈进入高清的| 又大又又粗又长又黄又狠| 2021午夜福利不卡片在线| 国内一区在线| 极品少妇做受| 亚洲色老女人视频| 欧美日韩一区二区三区视频播放| 精品一区二区三区在线免| 麻豆国产AV美丽班主任| 久久久久久久久久综合综合狠狠| 岛国免费Aⅴ在线观看| 用力…深点灬用力在线视频| 国产精品女同在线观看| 国产精品夜间| 国产喷水网| 97se爱亚洲综合| 福利视频150合集| 亚洲中文字幕网址| AV天天做天干| 另类小说色综合网站| 337p日本欧洲亚洲大胆69影院| 粉嫩极品国产在线观看2020| 亚洲欧美激情在线一区| 久久精品免费线同性女| 色色午夜影院| 欧美综合自拍亚洲综合百度| 国产白浆一区二区三区视频| aⅴ日本亚洲欧洲免费| 97SE亚洲综合| 老太婆BBwwBBww高潮| 国产精品久久久久影院亚瑟| 久久久久国产激情影院| 欧美日产综合在线网| 1024你懂的少妇中国| 92精品国产自产在线观看| 亚洲性色永久网址| 国产一区二区三区动漫精品| 一级一片高潮在线观看| 午夜福利视频免费导航| 2019国自产拍精品| 为爱搞点激情国产| 日韩精品视频| 丰满少妇被猛男进入高清播放| 国产一区二区杨幂在线观看视频| 在线免费日韩欧美视频| 边做奶子边喷视频在线观看| 伊人五月丁香综合aⅴ| 国内精品 少妇| 6080YYY午夜理论片中文| 国产91流白浆在线观看| 天天天爱狼狼狼色| 张柏芝国产www| 丝袜熟女另类制服偷拍| 亚洲熟女少妇综合图片区| XXXX最新一卡二卡三卡四卡| 又大又粗又长又黄的免费视频 | 在线观看AV天堂| 国产制服丝袜在线第一页| 在线观看人成视频| WWW欧美激情| 可以直接免费观看Av你董| 午夜福利在线啊啊啊啊不要 | AV网站在线免费在线看| 亚洲日韩aⅴ小电影| 色www永久免费视频| 亚洲欧美日产综合在线网| 国产妇女系列| 亚洲欧美不卡高清在线| 99久久精品国产免费| 不卡视频无一区二区免费| 国产第19页精品| 啊片网站在线观看| 2019国产高清在线精品一区不卡| 夜夜揉揉日日人人| a级情欲片在线观看| 久久大香蕉国产免费网| ww555kkk在线观看| 亚洲欧美视频色| 五月六月婷婷性综合| 高跟黑色丝袜国产在线s神| 杨幂久久第一页精品| 皇后张腿迎合太医的侵犯| 136国产福利精品导航网址| 二三区在线视频| 玩成熟老熟女视频| 国产各种高潮视频| 2020最新国产不卡一顿| 国内精品aa在线| 又爽又黄又无遮挡裸乳网站| 国产专区青青草原亚洲| 亚洲欧美日产国产| 制服丝袜美腿Av一级网站| 三级四级韩国日本在线| 99久久精品国产免费| 一区l精品在线播放| 国产精品一区二区丝瓜| 国产六九视频| 国产极品尤物在线播放一级| 国产欧美日韩综合福利| 免费久久99精品国产自在现| 午夜亚洲国产理论片4080| 人与动人物欧美网站| 国产丝袜美腿AV| 中文字幕亚洲母乳| 午夜热门精品一区二区三区| 一个人免费性爱视频| 两个人的视频高清在线观看| 老头扒开粉嫩的小缝亲吻| jk福利视频一区二区| 国产簧片免费在线播放| 国产高清午夜| 日韩欧美亚洲一区SWAG| 又黄又粗暴的120秒免费GIF| 97人洗澡人人澡人人爽人人模 | а√ 天堂在线波多| 先锋在线精品国语对白| 亚洲日本不卡在线观看| 10周岁女全身裸无打码| 国产爽妇精品| 国产精品11P| 国产清纯美女遭强到高潮| 国产美女深夜精品自在线拍| 一本久久伊人热热精品中文| 午夜性动态啪影院| 伊人网福利写真免费| JiZz国产大全视频免费| 国产精品,校园激情| 欧美色欧美亚洲高清在线观看| 亚洲人成小说网站色在线| 国产午夜福利在线观看视龊| 国产福利片在线| 96国产婷婷| 国产午夜精品片| 国产91一区二区在线播放| 国产在线成人一区二区三区| 国产制服在线视频| 大香久久伊人电影网| 国产无内肉丝精品视频| 亚洲欧美日韩在线| 久久亚洲少妇| 在线播放免费观看AV片| 精品久久国产字幕高潮| 国产亚洲精品aⅴ在线| 未满十八禁勿入ay网免费| 国产一级婬片AA免费观看| 色露一区二区| 2022AV电影在线观看| 免费观看美女被靠网站| 国产小屁孩cao大人免费视频| 中文字幕肉感巨大的乳专区| 亚洲人成电影网站色WWW| 国产精品小电影在线播放| 尤物禁番动漫视频在线观看| 国产亚洲动态图| 国产精品 闺蜜| 狠狠操视频区| 性爱网站国产精品高清| AV在线免费看亚洲一区二区| 好硬好湿好爽再深一点h视频| 亚洲Va中文字幕久久一区| 亚洲 日韩 色 图网站 888 | 尤物午夜福利视频| 亚洲成年永久免费播放片网址| 伊人天堂视频网| 最新影片日本巨波霸乳影院| 女人国产香蕉久久精品| 极品少妇高潮试看| 90后极品粉嫩小泬20p在线播放| 国产免费好大好硬| AA级女人大片喷水免费视频| 亚洲欧美成a人视频在线观看| 少妇被水电工侵犯在线完整版| 邻居新婚少妇真紧| 最近更新中文字幕第6页色秀视频每日更新| 羞羞影院午夜男女爽爽视频免费| 尤物在线观看视频国产| 网友自拍区一区二区三区| 疯狂做受dvd播放免费| 亚洲少妇色AⅤ| 羞羞影院,午夜男女爽爽影视| 亚洲女人的天堂白慰| 四川老女人高潮大叫视频| 欧美一级纶理片中文字| 777尤物免费国产在线| 超级碰碰青草免费视频| 99re视频热这里只有精品7| 8x永久视频| 国产激情久久久久影院魅| 久久波多野AV| 国产美女被遭强高潮露开双腿| 午夜成人1000部免费视频| 一个人看的视频www欧美| 国产福利久久高清| 羞羞影院午夜男女爽爽视频免费 | igao视频在线观看| yy6080新视觉午夜理论国产| Av片网站_Av片网址| 俄罗斯一级a大片免费| 成年人免费观看区| 久久久亚洲网址| h色在线观看网站| 波多野结衣 一区 二区 三区| 白嫩女高潮在线| 特黄特色的大片观看免费| 国产大全欧美美女色逼视频| 亚洲第一区欧美国产综合86| 自拍自偷第三页| 国产粉嫩高中生第一次| 国产香蕉AV| 影音先锋大黄瓜视频| 一本色道久久综合一| 中文字字幕乱码无线精品精品| 福利片在线观看网站| 免费人成在线视频播放2021| 老太脱裤子让老头玩xxxxx| 国产在线视欧美亚综合| 婷婷国产天堂久久综合亚洲| 东热激情豪快在线观看| japanese精品久久中文字幕| 舔舔日日夜夜| 在线观看黄AⅤ免费观看无毒| 中文字幕一区二区中视频在线观看| 国产乱子伦xxxx| 欧美ai精品视频| 国产精品99一区二区三区| 高潮抽搐中文字幕在线看| 极品美女扒开粉嫩小泬软件| 亚洲性爱区免费视频一区| 欧美性xxxx狂欢老少配| 久久久三级| 综合社区天天少妇 | 中文字幕一区二区中视频在线观看| 亚洲無码免费在线观看| 欧美综合区自拍亚洲综合绿色| 我要高潮了在线观看| 伊人久久成综合久久影院| 色综合伊人尤物| 国产精品福利精品福利短片| 美国成年网站视频免费影院| 日本调教室强制高潮视频| 国产粉嫩白浆在线观看| 久久女婷| 最新国产久免费视频在线观看| 国产鲁鲁色| 虎白女粉嫩尤物福利视频| 久久精品视频国产| 国产好深好湿在线观看| 精品一卡二卡三卡四卡网站| 538经典在线视频| AV片国产在线观看不卡| 国产私拍精品福利| 自拍另类色| 中文喷潮视频在线观看| 又爽又黄又无遮挡的视频美女 | 麻豆久久婷婷国产综合五月| 中文字幕在线更新资源站| 国产精品日本不卡一区二区| 亚洲第一综合导航尤物| 丁香综合激情熟女| 欧美性色XO影院| jazz久久精品| 久久全国免费视频| 久久精品囯产精品亚洲| 久久久久国色AV免费看图片 | 亚洲人成网站色7799| 国产一级a爱做片天天视频| 极品精品娱乐成人盛宴| 又大又硬让爽个够免费视频| 精品露脸国产偷人在视频| a久久久然精品| 呦男呦女视频5区| 国产麻豆尤物蜜芽在线| 成年男人裸J网站| 国产精品乱码一区二区三区| 国产精品青青在线播放| 性激烈的欧美三级视频| 好粗好深好紧免费视频无遮挡| 亚洲日韩欧洲不卡在线高清在线观看| 国产亚洲aⅴ在线观看| 国产大神高清视频在线观看| 午夜性刺激免费看视频在线| 俄罗斯毛毛xxxx喷水| 翁熄小莹高潮连连第七篇| 亚洲人AV日韩精品久久久久久| 呦男呦女精品视频| 日本高新在线不卡系列| 国产无遮挡乱子伦免费精品| 日韩一区二区久久久久久| 2021亚洲精品不卡a| 久久精品福利中文字幕| 久久亚洲影院香蕉| 国产91流白浆在线观看| 亚洲欧美午夜理论电影| 疯狂的激情欧美在线观看| 亚洲红杏成在人免费在线观看| 16女下面流水不遮视频| 国产在线精品二区刘亦菲| 国产黑色丝袜人人干| 在线播放白浆四溢| 公司Av一区二区三区| 日本不卡码在线免费一区二区三区| 荡女精品| 中国丝袜1区2区3区| 鲁丝一区二区| 中文字幕高清欧美精品一区 | 亚洲最大的激情4438五月| 婷婷六月综合缴情在线首页| 日本不卡不码高清视频| a级日本乱理伦片在线观看| 久久资源先锋网站| 非洲一区二区三区不卡| 色猫咪免费人成网站在线观看| 亚洲 制服 欧美 中文字幕| 久久精品国产一区二区三| 午夜久久久久| 激情五月综合综合图片区| 日韩00XX视频| 久久久午夜精品理论片| 香港aa三级久久三级| 半夜公车玩弄大乳观看在线| 么公吃我奶水边吃饭边做| 很黄很黄污的的在线观看视频| 亚洲中文字幕A∨在线| 白丝娇喘视频免费看网站| 2020最新大胆偷拍美女视频| 歐美AⅤ视频在线| 网址你懂的| 国产粉嫩一区二区三区| 极品中的极品粉嫩木耳欧美| 国产日产免费高清欧美一区| 久久99久久99久久综合| 亚洲午夜福利在线观看首页| 高潮在线看十八禁| 欧美黑人肉体狂欢交换大派对| 69国产高潮流白浆免费观看| 丰满少妇被爆白浆视频| 哒哒哒免费视频观看在线www| 国产第一页浮力影院草草影视| 国产蝌蚪视频一区二区| 国产精品一区二区含羞草| 天天爽爽夜夜爽爽精品视频 | 亚洲免费图区在线视频手机版| 又粗又大又黄欧美性爱视频| 夜夜夜性性性爽爽| 亚洲色大成网站WWW尤物| 白丝JK十八禁污污网站| 日本大乳奶水奶水春日在线观看| 无遮无挡爽爽免费视频| 最新尤物国产在线观看| 3D调教済み変态JK扩张| AV淘宝国产首页在线最新| 香港三日本少妇三级人妇99| 粗暴玩虐蹂躏性奴多p视频| 依依成人亚洲综合| BBBBwww国产在线| 久久不良视频| china高中生腹肌gay飞机直播| 嗯啊粗大视频在线观看| 又爽又黄免费的视频| 永久免费的AV手机在线看| Sm捆起来被多人强奷免费网站| 永久AV在线| 狠狠综合久久久久综合网小| 成人无遮挡肉动漫网站| 无线在线日本视频| yy6080熟悉的少妇| 五月婷婷操大逼| 国产欧美整片v| 五月天综合影院| 白白发布永久在线观看| 免费少妇荡乳情欲视频| 好男人WWW在线影视社区| 拉丝白浆在线观看| 久久国产张柏芝| 美女视频黄频大全免费的| 太硬了好爽我还要的视频| 久久精品重口| 成年女性黄小视频| 国产冒白浆在线观看| 国产va观看在线播放精品| 欧美play一区二区在线观看| 国产女教师专区在线观看| 国产免费人成xvideos视频| 国产巨波霸乳在线视频| 国产微拍精品一区| 免费人成视频xvideos中文| AⅤ调教视频| 尤物tv这里有精品网站| 在线吃十八禁| 在线观看的Av网站| 久久久国产精品ⅴa麻豆| 久久a视频| 欧美调教性奴在线观看| 尤物精品资源YW193网址| 少妇人影院| 3P视频久久| 麻豆尤物网| 久久曰热久久思思精品| 一区二区三区视频| 亚洲天堂在线观看免费视频| 忘忧草在线播放网| 女人水片18真多国产| jk福利在线视频| 又黄又爽网站在线观看| 欧美色综合网| 欧美午夜福利视频| 天天玩夜夜玩夜夜叫视频| 我半夜摸睡着的妺妺下面好爽| 最新理论三级中文| 成 人3D精品动漫在线播放| yw193尤物在线网站| 永久WWW成人看片| mm1314午夜免费视频| 开心亚洲五月丁香五月| 福利私拍国产写真| 国产好涨好爽好大视频免费| 视频老熟女xx| 在线观看亚欧a| 亚洲人成网站在线播放小说 | 国产免费午夜福利片在线| 亚洲成aⅴ人片久青草影院| 亚洲 资源 中文 字幕| 国产丝袜美女在线高潮| www西西人体| 亚洲成年轻人电影网站www| 99爱网站在线观看| jlzz大全高潮多水老师| 伊人AV国大蕉看| 十八禁网免费看| 亚洲国产精品嫩草影院在线观看| 白丝美女在线播放视频网站| 亚洲性人人天天夜夜摸| 亚州精品日韩久久| baoyu135国产精品免费| 成人国内精品视频在线观看 | 久久曰热久久思思精品| 中国呦交在线观看| 阿v天堂网2021在线观看| 久久99综合久久久| 无福利一区二区三区| 狠狠做五月深深爱婷婷| 就去吻亚洲精品国产| 久久aⅴ不卡网站| 看黄a大片日本真人视频直播| 一区二区精品视频日本| 福利片免费 亚洲| 亚洲免费无线中文| 欧美激情大陆偷拍| 99爱情侣偷拍视频| 日本A级片一区二区三区| 在线看AV色多多| 日本极品少妇的粉嫩小泬视频| 国产精品露脸午夜福利| 夜夜玩AV| 国产调教性奴在线观看w| 成年午夜免费Aⅴ在线观看| 午夜福利激情| 日本亚洲欧美综合在线| 无遮挡很爽很黄很污的日本网站 | 国产有码中字日本| 99久久精品免费看国产一区二区| 护士在办公室被躁中文字幕| 午夜男女爽爽影院视频在线| 丰满少妇被猛烈进入高清的| 亚洲乱码熟女| 欧美性黑人精品HD| 777米奇色狠狠狠888影视不卡| 中文字幕婷婷日韩欧美亚洲| 国产线播放公开免费人成视频观看 | 影音先锋AV资源男人站| 久久精品视香蕉蕉| 亚洲欧洲美色一区二区三区| yyyy11111少妇喷水影院| 色丁香五月十八禁| 啊好深啊好大午夜视频麻豆| 精品综合久久久久久97| 55夜色66夜色国产亚洲一 | 白浆视频在线观看| 中国极品少妇毛茸茸| 久久久888精品视频| 一级淫片120秒福利区| 精品一区二区三区视频| 国产黑丝在线| 粉嫩14小仙女丝祙国外网站| 午夜做受视频试看6次| 国产片性生活免费看| 国产高潮流白浆喷潮免费| 欧美综合影院在线影院| 亚洲色大成网站在线| 国产精品亚洲产品三区| а√天堂网www在线強奸视频| 精品福利欧美| 午夜在线看的免费网站| 精品999视频| 正在播放HEYZO美熟女| 国产极品白嫩精品| 精品国产自在天天线2018| 亚洲A∨免费视频| XXⅩ中国免费视频| 2021国产最新在线视频一区| 亚洲综合在线另类色区奇米| 亚洲中文精品高清| 天堂草原网在线观看| 蹂躏办公室波多野在线播放| 日日干夜夜嗷嗷叫视频| 洲国内精品自在线影院| 中文字幕精品亚洲字幕网| juzz国产精品| 亚洲 另类 自拍 日本| AA级女人大片喷水免费视频| 亚洲尤物193yw最新地址| 午夜宅男宅女看在线| 国产刘涛AV免费精品| 国产午夜亚洲精品不卡下载| 国产在线观看免费观看不卡| 成上人色爱欧美一区二区丝瓜视频 | 被弄的下面一直喷水视频| 97se综合自在线| 网禁拗女稀缺资源在线观看| 丁香婷婷激情在线| 韩日 变态 高跟 一区| 国产高清免费污网站| 久久久国产精品麻豆| 香蕉久久AV| 337p西西人体大胆开下部| www在线播放| 中文字幕亚洲一区二区三区| 99碰碰在视频免费公开| 日韩AV网站大全在线观看| 国产午夜小蝌蚪在线观看| AV青青草原国产| 50路熟女中出| 夜夜操护士视频| 9re久精品视频在线观看| 久久夜色精品国产一区| 成 人 黄 色 网 站 S 色| 亚洲另类激情专区小说图片| igao激情在线| 99re在线视频观看| 中韩高清无砖专区2021| 亚洲小说区图片区另类春色| 最新国产AV一区二区三区| 最新日本免费一区二区三区不| 国产乱子伦对白露脸| 欧洲A老妇女黄大片| 亚洲成年人影院| 18欧美AAA| 国产在线五月综合婷婷| 俄罗斯女女破苞视频| 好大好深好猛好爽视频喷水| 网禁国产YOU女| JAPΑNESE日本少妇丰满| 综合激情久久综合激情| china高中生腹肌gay飞机直播| 极品视觉盛宴在线播放| 国产女人喷潮视频免费| 国产女同视频| A级毛多高潮视频| 高中生久久经典视频 | 久久综合狼人射| 91china国产在线video| 亚洲国产婷婷综合在线精品| 女人张开腿让男人桶个爽| 亚洲欧美综合另类自拍| 亚洲日韩欧美另类sm| 在线看片国产日韩欧美亚洲| 国内少妇自拍区视频免費視色| 中文字幕第一页中文专区5| 久re在线精品观看9| 国产交换配乱婬视频A| 图片区小说区综合区97| 日韩中文字幕有码二区| AV性色在线| AV一本大道香蕉大在线不卡| 亚洲欧洲天堂| 十八禁污网站在线观看国产| yy6080理论女性一级| 白丝袜AV网站在线观看| 国产丰满白嫩大屁股ass| 极品嫩模高潮叫床视频| 8x在线观看永久免费| 中文字幕专区最新資訊| 国产vr精品专区| 亚洲色国产AV天堂| 亚洲成年Av天堂动漫网站系 | 狠狠综合久久综合88亚洲| 动图欧美俄罗斯日韩国产一区二区| 久久精品国产中国久久| 精品美女久久久网站| 亚洲五月综合缴情网| 嗯~我要~好爽免费视频| 图片区乱小说区电影区| 美女黄视屏免费| 好紧我太爽了视频免费国产| 日日麻批永久免费视频播放| 亚洲mm喷水| 做人人爱网站| 69影院在线观看国产精品| 日本亚洲欧洲色α在线播放| 91精品尤物| 中文字幕在线观看亚洲视频| 亚洲欧美日韩综合一区在线观看| 中文字幕亚洲无线码一区女同| 2020日日摸夜夜添夜夜添| 亚洲欧洲视频在线观看| AV网址手机在线观看| 亚洲美女AV免费一区| 欧美视频96| 中文字幕 精品三区| 嗯啊日本视频在线观看| 国产高清吹潮免费视频| 一本久久a久久免费精品网站| 一级特黄欧美大片| 中年熟女大保健私密按摩| 中文字幕永久在线播放| 亂倫近親相姦中文字幕| 久爱亚洲第一精品| 自拍肉在线观看| AV女人天堂| 国产精品三级一区| 少妇mm被擦出白浆液视频| 综合久久久久久综合久| 国产福利酱视频资源福利| 理论片免费ā片在线观看| 多男一女一级伦奷片免费观看| 国产真实交换免视频| 动漫精品三区亚洲精品| 337p日本大胆欧美人术艺术69| 日本成人午夜福利| 在线观看免费人成视频色WWW| 狠狠综合久久久久综合网浪潮| 大陆国产vs国产对白| 在线看片V免费观看视频777| 美女被躁免费视频网站大全桃色| 欧美换爱乱理伦1000部| AV白浆喷水| 色久悠悠婷婷综合在线亚洲| 精品一卡二卡三卡四卡网站| 亚洲第一红杏| 2019最新狠狠爱夜夜欢| www青青草原| 国产又粗又爽| 无遮挡一进一出视频| 菊花综合网亚洲中文字幕| 成人永久免费永久在线播放| 色狠狠888| 人成视频同性在线观看| 更新每日日日夜夜| 国产精品热门Jizz| 丝袜麻麻在办公室被调教视频| 99精品国产高清一区二区三区| 亚洲色AV性色在线观看| 久久国产歌舞| 丰满五十老女人性视频| 一区二区女优| 草裙社区精品视频三区免费看| AV不卡免费在线观看网站| 在线亚洲日本欧美一卡| 狠狠丁香尤物综合| Av片在线免费观看| 国产下药迷倒白嫩丰满美女bd| 在线天堂中文新版WWW| YY11111少妇影院| 爽极品色极品影院在线| 国产精品欧美一区二区| 日本有码亚洲一区中文在线观看| 8x欧美在线视频| caopo超在线视频97| 国产高清一国产aV麻豆网| 在线免费观看欧美| 人人爽人人香蕉| 国产福利一区首页| A∨品善网| 伊人久久免费视频| 亚洲色哟哟视频| 亚欧AV不卡第一区二区| 少妇厨房愉情理伦片视频| 2021日日拍夜夜爽人5兽视频| 最新AV手机在线观看| 2020年亚洲天堂网| 啊 轻点 好爽在线观看| 香蕉噜噜噜噜私人| 国产刘亦菲一区二区三区在线播放| 床震吃乳强吻扒内裤小说| 亚洲综合婷婷激情| yw193国产在线观看| 亚洲叫床声| 男闺蜜添的我好湿好爽| 午夜国产精品小蝌蚪在线观看| 2021AV天堂在线免费观看| 欧美伊人亚洲伊人色综| 人人射网站| 黑丝袜污视频在线观看| 国产鲁鲁精在线观看| 国产一区二区三四区不卡| 国产精品一久久香蕉国产线看观看| 亚洲高清国产拍精品26u| 超频国产在线公开视频地址一| 亚洲免费流水| 一区二区在线 大桥未久播放| 国产午夜小电影| 久久亚洲热线2020精品| 又粗又硬又黄又爽免费的视频| 性荡视频播放在线视频播放| 变态另类~第1页| 2020韩国最新r级限制| 午夜影院啊啊免费| 国产另类综合第一| 99久久国产综合精品1| 2021自拍国内小视频在线观看| 欧洲一卡2卡三卡4卡 高清| 亚洲国产日韩在线人| 脱女学小内内摸出水网站免费| 亚洲嫩模Av在线| 国产在线八区| 国产强奷伦奷片| 亚洲免费ⅴa视频网站| h视频在线一区| 欧美三级韩国三级日本三斤| 双性人妖亚洲二区三区| 看你懂的巨臀中文字幕一区二区| 亚洲成综合人在线播放| 粗大猛烈进出视频高潮| 精品国偷自产在线视频| 草莓无限破解版永久| 97天天拍天天爱天天爽| 深田咏美国产一区| 日本a级综合久久a| 激情国产精品一区| 十分钟在线视频免费看| 国产精品白浆永久网站| 伊人久久大香线焦在观看 | 亚洲精品中文字幕乱码| 丝袜老师综合网亚洲| 色综合久久中文字幕有码| 自拍偷拍三区| AV天堂最新网址手机| 美女的胸www又大又黄的网站| 黄瓜视频在线观看欧美| 国产区手机在线观看| 久久香蕉国产线看观看网| 四月激情狠狠操| 一一本之道高清视频在线观看中文字幕 | 西西人体大胆4444WWW| 蜜芽一区二区三区国产精品 | 国产情侣自拍AV| 亚洲国产婷婷六月丁香| 中文字幕在线观看亚洲视频| 亚洲嫩模Av在线| 女人被狂躁到高潮视频免费| 57pao强力打造高清免费| 刺激一区乱| 欧美日韩国产VA另类| 成熟女人色惰片免费| 国产亚洲免费视频网站| 国产一区二区很干视频| 国产女主播喷水高潮在线观看| 国产精品久久久久精品| 国产性生活爱视频| 在线观看AV水多多| 亚洲欧美综合在线777米奇| 337p亚洲人体一区二区三区| 极品少妇被猛的白浆直喷白浆| jizz大全日本护士| 中午字幕有码系列| 久久青草精品免费免费| 亚州www免费| 尤物视频在线看不卡| 喷白浆在线观看| 99久热只有精品视频在线17| yw193尤物网站在线观看| 最新综合精品亚洲网址| 俄罗斯13女女破苞视频| 成人A级视频在线播放| 尤物视频在线播放你懂的| 99在线精品一区二区三区| yellow片在线少妇| 在线免费日本| 电车美人强奷系列在线播放bd | 亚洲几把在线| 国产JJzzJJzz全部免费观看 | 忘忧草在线中文字幕AV| 国产-第1页-浮力影院| AV天堂最新在线观看| 午夜福利视频男同女同| 久久这里有精品国产电影网一区二区 | 绿帽2021国产在线| 成年午夜免费韩国做受视频| 专干老肥熟女视频| 动漫无遮羞视频在线观看| 成年人网站在线播放| 狼人综合丁香| 亚洲国产欧美不卡在线观看| 久久一色本道亚洲| 久久综合日韩,金| 婷婷六月激情| 看免费中国产的性爱大片| wwwxxxx色免费| 亚州欧美高清在线精品二区| 一本婷婷亚洲合| 伊在人间香蕉最新视频| 另类亚洲色大成网站WWW| 巨胸喷奶水视频色| 多多成视频人在线观看| 97人人模人人爽人人6| 韩国AV在线| 国内大量揄拍在线视频| 日日摸夜夜歪歪| 亚洲国产精品综合久久网络| 把护士日出水| 免费观看扒开校花的粉嫩小泬 | 午夜 青草视频免费观看| A级国产乱理论片在线观看9| 国产成 人 网 站 免费 在 线观看 | 久久AV免费观看| 亚洲日本VA中文字幕在线| 精品久久香蕉国产线看观看| 国产女同在线视频| 亚州一极生活片| 国产污视频在线观看| 国产精品久久久久久久福利| 青草午夜福利视频| 69A片在线观看| 欧美激情在线视频| 尤物视频www| 四月丁香色婷婷九月| 麻豆视传媒官方短视频| 午夜福利男女XX00视频免费区| 在线观看 亚洲 欧美 日本| 国产黄频视频大全| XXXX中国在线观看免费| 2019亚洲免费网站观看视频| 日本公与熄乱理在线播放| 欧美乱xXXXX| 亚洲第九狼人区视频在线播放| 动漫免费又黄又硬又爽大片| 日本午夜高潮大痉挛电影| 亚洲的欧美性爱| 国产精品福利电影| 又爽又黄又无遮挡的视频免费国产| 亚洲国产精品一区二区三区在线观看 | 一卡二卡三卡视频| 亚洲欧美日产国产| 中文字幕午夜福利片在线放映| 亚洲制服久久精品一区| 一女被多男喷潮在线视频| 艾草在线精品视频播放| 亚洲多毛女人厕所小便| 动漫精品第一页_在线观看| AV免费试看| 渔夫床满艳史hd高清在线直播| 中文字幕一区一区三区| 青榴A免费在线视频| 激情五月开心综合亚洲| 国产欧美日韩手机在线不卡| 中中文字幕亚洲无线码| 国产精品久久久久精品| 国产人成精品香港三级在线 | 啊 叫大点声 欠cao的sao货| 人人澡人人透人人爽| 久久香蕉国产线精品| 十八禁在线观看无遮挡| 一区二区三区乱伦| 女人与公拘交的视频WWW| 我被两个男人玩出了白浆小视频 | AV肉动漫3D在线观看| 2021AV天堂网在线视频免费| 国产JK丝袜VIP福利性爱视频| 91尤物视频网| 日韩久久精品| 尤物视频在线看不卡| 亚洲人成网站十八禁| 亚洲一区二区三区在线播放| 国产www污污| 调教求饶视频导航| 舔舔日日夜夜| 国产精品视频无遮挡| 日本男女交性一区二区三区| 一本大道久久精品| 99爱在线精品视频免费观看| 狠狠pa免费视频| 2020国产欧洲精品网站| 2020最新国产激情| 久久久久久精品免费| 色悠久久久久综合网伊人| 久久综合色另类小说| 69堂最新国产在线视频 | 好紧好爽要喷了免费视频| 亚洲一区二区三区四区乱伦| 狼人香蕉香蕉在线中文| 亚洲国产综合精品2020| 国产欧美亚洲精品a| 182tv午夜福利免费路线主页| 女同AV在线播放| 亚洲综合天堂Av网站在| 亚洲日韩Av在线首页| 网友自拍露脸国语对白| GOGO高清全球专业大胆| 亚洲综合精品成人| 日本三级香港三级人妇少妇| 国产白浆不卡| 亚洲中文字幕A∨在线亚| 又色又爽无遮挡网站| 90后极品粉嫩小泬20p| 国产高清视频在线观看完整版| 亚洲中文有码字幕青青| 老少配BBWHD| 日本久久综合久久综合| 自拍三区| 麻豆精选在线| 欧美日韩x8x8视频| 成年女人免费观看播放视频| 丁香五月亚洲中文字幕手机版| 老熟女人视频| 综合社区久久| 国产剧情视频综合在线观看| 国产videossex精品| 中文字幕无线码一区2020青青| 日韩一级欧美一级作爱片| 中文字幕乱码高清免费网站| 国产精品手机在线| 翁公在厨房和我猛烈撞击| 99热国产这里只有精品| 久久精品视频不卡a| 亚洲欧美夜夜爽| 国产在线拍揄自揄视频网试看| 在线a人片免费观看| 最近更新在线日韩| 永久免费 亚洲| 亚洲综合深爱丁香五月| 一级e片在线观看| 亚洲精品456免费播放| 久久精品国产一区二区三区日韩| 午夜国产精华2021| 天堂V亚洲国产V第一次| 成 人 色综合 综合网站| 特级太黄A片免费播放| 成网人免费视频免费| 成本人片在线观看免费| 久章草精品视频免费观看| 日本公厕所撒尿高清视频| 婷婷射图| 日本在线播放| 亚洲国产系列一| 最新天天人人夜夜视频| 久久精品人人看人人爽| 久久精品女人天堂AV免费下载| 99精品视频免费国产| 成人3D动漫在线观看网站| 成年在线观看网站免费| 国产亚洲va在线观看| 高清白丝喷水jk娇喘视频| 国产一级裸网站| 啦啦啦视频在线手机播放| 最爽的乱惀另类视频| 综合图片亚洲网友自拍| 精品一区二区三区在线观看| 亚洲精品久日韩| 久久精品亚洲男人的天堂| 国产亚洲AV手机在线观看| 狠狠cao2020免费观看视频| AV永久免费观看网站| 国产精品动漫精品二区| 亚洲一区全彩| 成年女人大片免费看官方网站| GOGO全球大胆高清luo模在线电影免费视频| 少妇中文字幕网站| 国产香蕉国产精品偷在线| 亚洲精品456在线观看| 国内愉拍自拍在线观看| 精品一区二区三区四区日产| 日韩一区二区人成| 中国国产高清免费AV片| 综合在线视频精品专区| 福利在线不卡一区| 久久亚洲五月天| bbw厕所白嫩bbw| 2020年自拍偷拍视频| 国产人成777在线视频直播 | 宅男噜噜噜66网站| 久久九九久| 又大又硬又爽在线观看| 96精品视频免费在线免费观看| 亚洲Av乱码在线不卡| 胸网站在线观看| 亚洲国产精品青青网| 337p日本欧洲亚洲大胆张筱雨| 国产脚交榨精视频| 亚洲国产人午在线观看| 加勒比AV在线| 亚洲 H 成年动漫在线观看网站| 少妇太爽了手机在线观看| 亚洲明星色鲍小视频| jk白丝制服清纯美女娇喘视频| 2021精品一区二区三区| 亚洲国产精品18点击| 2021最新国产自产在线不卡| 亚洲老熟女毛茸茸BBw| 久久精品美女观看| 亚洲美女干视频| 极品精品娱乐成人盛宴| а√天堂网www在线| 国产精品免费1024| 久久影院一区二区h| 国产做受xxxx视频| 产在线拍揄自揄视频不卡| 国产精品大白屁股白浆一区二区 | 最新亚洲精品国产理论电影| 老司机AV午夜福利精品| 久久香蕉国产线看观看亚洲小说| 午夜性色福利在线观看| 波多野结衣视频三区| a毛大片免费在线观看| 欧洲亚洲资源网| 天天爱天天摸天天做| 亚洲欧美日韩中文加勒比| 亚洲色倩vA电影| 亚洲天堂网在线观看| 午夜在线看片| 超在线观看免费视频99| 国产午夜福利导航| 欧美涩涩久久丁香| 白丝少妇喷水网站| 国产色产综合色产在线视频| 视频在线观看免费网址你懂的| 亚洲嫩模喷白桨在线观看| 女邻居丰满的奶水| 色综合天天综合狠狠爱_| 中文字幕欧美性受xxxx喷水| 西西人体午夜视频| 天天拍夜夜添久久精品大| 爱区综合亚洲自拍| AV在线 国产精品| 好黄好硬好爽好刺激免费视频 | 尤物色综合久久| 2021午夜福利不卡片在线| 国产偷窥女洗浴在线观看| 曰韩欧美亚洲美日更新在线| 国产AV二女共侍一夫| 首页a∨欧洲色美| 国产免费A∨在线播放| 91精品欧美激情在线播放| 女人下面白浆喷水视频| 亚洲色大成网站在线| 羞羞影院午夜男女爽爽真人视频| 白丝袜jk喷水在线观看| 1网友自拍露脸国语对白| 亚洲韩国国产AV网| 欧美色宅男午夜电影| 久久精品亚洲热综合色| 97se综合亚洲影院| 5月婷婷之综合激情。| 68XXXXXXXXX视频| 亚洲综合自偷自拍| 亚洲闷骚少妇影院| 亚欧视频在线观看视频| 极品美女扒开粉嫩小屄| 女人色极品影院| 扒开双腿被肏在线观看| 又大又粗又黄又刺激的免费视频 | 无遮挡很爽很污很黄的女| 久久播免费视频| 精品牛久久影院| 按摩被中出| 波多野结衣AV不卡| 国产V综合V亚洲欧美大| A毛看片免费观看视频| 嗯啊亚洲天堂| 国产精品无圣光一区二区| 日韩一区二区三区北条麻妃| 国产AV双飞| 国产男人桶女人| 亚洲手机看片AV| 3Dh版动漫视频在线观看| 国产在线小视频免费 不卡| 成人国内精品视频在线观看| 岛国AAAA级午夜福利片不卡| 又爽又高潮的视频国产| 国产欧美精品一区aⅴ| 天天爽夜夜爽免费精品视频| 国产视频观看色多多| 亚洲欧美国产一区二区在线看| 又硬又湿影院| 久久B狂操免费影院| Chinese男男吹潮视频| 国产高潮福利| 国产青年GAY同男视频在线收看| 国产在线观看无遮挡| 中年熟女五十路免费观看久久| 国产精品九九一区视频| 不卡成本人片在线观看| 国产初高中生视频在线观看| 国产日韩男女激情视频免费播放| 色女性久久| 少妇一区二区三区在线观看| 亚洲婷婷就去吻| 在线观看理论片一级| www久久国产| 2021最新午夜在线视频| yw193国产在线| 美女下面揉出水免费视频| 很黄很爽的免费视频大全| 中国女人679xxxx高清视频| MM1313亚洲精选| 风流老太婆大BBWBBWHD视| 国产真实强奷系列在线观看| 变态老头下药强奷到爽电影| 在线呦交网站在线观看| AV手机在线地址| 好大好硬我要喷水了视频| 韩国A级视频在线观看| 狼人色综合网| 16女下面流水不遮图免费观看| 公交车np粗暴h强j| 刘亦菲一区二区在线| 日日摸日日碰夜夜爽视频网站| JizzJizzJizz亚洲成年大全| 韩国和日本免费不卡在线v下载| 波多野结衣亚洲三区| 亚洲伊人a线视频观看| 免费高清欧美一区二区三区| 办公黑色丝袜脚足国产在线看| 国产粉嫩在线播放| 97se色综合一区二区二区| 亚洲成AV人不卡影片| 中文字幕丝袜一区二区| 国产福利暗网禁哟在线| 日韩一区二区三区视频,在线观看| 亚洲人成中文字幕在线观看| 凹厕所xxxxbbbb偷拍| 免费在线看精品国产| 舔舔日日夜夜| 手机最新入口婷婷激情免费| 综合图片亚洲网友自拍三区 | 久久国产美女| 欧美性爱国产一区二区三区| 成人免费VA视频综合网| 亚洲区日韩精品中文字幕| 亚洲精品卡通动漫10页| 波多野结衣AV在线不卡| 国产偷窥熟女高潮精品视频| 国产aⅴ一区最新精品| 阳茎伸入女阳道视频免费| 五月香婷婷缴情综合| 激情综合婷婷激情五月| 五十路中出熟女| 五月天丁香视频在线精品| 亚洲精品天堂| 少妇喷水一级| 粉嫩粉嫩看着都硬了[11P]| 浪潮AV少妇精选| 国产美女喷蓄高潮| 国产AV剧情琪琪| 亚州无吗免费最新视频| 香蕉成人啪国产精品视频| 2020日本精品网站尤物| 高清三级理轮影院久久伊人网站| 亚洲午夜久久久久| 欧美中出一区二区| 国产女子私密保健养生馆| 性欧美8处一14处破| 亚洲日本va午夜中文字幕一区| 亚洲少妇久久| 亚洲丰满多毛的大隂户| 怡红院AV在线永久免费 麻豆| 老熟女一区二区免费| 尤物在线不卡| 性欧美高清极品XXX| 草莓视频免费在线观看| 国产亚洲精品国产福利你懂的| 精品一区二区三区免费视频| www久久精品| 老头扒开粉嫩的小缝亲吻| 亚洲日韩亚洲另类激情文学| 18 在线 播放 国产| 亚洲欧美v国产蜜芽tv| 国产高潮在线看| 8888jiz国产视频| 国产精品闺蜜在线| 久网址在线观看| 色呦呦在线免费观看| 亚洲sm另类一区二区| 亚洲欧美日韩中文无线码| 日本极品a级片| 五月丁香花激情综合网| 亚洲性爱视频网站| 久久国产亚洲精品赲碰热| 性色欧美A在线直播| 在线看亚洲十八禁网| 日本激情午夜视频在线| 波多野结衣一区二区三区精品| 天堂在线观看视频禁18| AV淘宝国产首页在线观看| 日本少妇高清一区二区三区| 久久久免费白丝精品| 国产亚洲精品影视在线| baoyu尤物777永久免费| 亚洲老师机Av片有码| 69性影院在线观看国产精品87| 国产女尤视频91| A级成年轻人电影直接看| 高潮十八禁爽到爆免费看| 另类激情网| 18一20岁男gay国产网站| 国产精品开放小视频| 国内一级免费视频在线播放| 日本不卡不高清免费| 中文字幕乱码日韩经典在线播放| 日日射、日日摸| 激情试看60秒做受小视频| 国产精品午夜理论片| 五月丁香五香网网| 超级碰碰色偷偷免费视频| 欧美大胆A级短视频| 日日摸日日躁夜夜躁| 在线观看视频亚洲精品色在线网站| 嘿咻亚洲综合| 精品偷拍亚洲| xxxxx性bbbbb欧美| 午夜男女XX00视频福利五十路| 国内少妇高潮嗷嗷叫在线播放| 小14萝视频在线视频精品| 偷窥国内熟女高潮高清视频| 国色天香社区视频在线观看| 最新国产色内内视频| 色色九月婷婷| 丝袜屈辱日韩国产| yw尤物在线视频| 2019中文字字幕| MM131美女三级视频| 色爱综合区图片小说| 国产情侣真实露脸在线| 国产高跟黑色丝袜在线| 久久三级网站| 欧美老妇AAAA片| 国内精品久久免费伊人电影院| 尤物在线91| 激情亚洲婷婷| 亚洲欧美日韩精品久久| 婷婷开心五月四房播播人| 欧美人体一区二区视频| 西西人体www| 我要看曰批全过程免费| AV蜜在线观看| 激情按摩系列片aaaa| 韩国精品大片免费观看| 亚洲欧美日韩国产另类榴莲| 亚洲网一区二区在线播放| 又大又粗又黄又刺激的免费视频| yy111111少妇影视| 国产午夜福利亚洲第一| 国产亚洲情侣久久精品| 国产精品亚洲欧美大片在线观看| 成 人 黄 色 网站 小说| 草草影院国产日本| 午夜男女爽爽影院视频在线| 日本极品a级片| G0G0日本肉体艺术激情| 超级乱婬刺激视频网站| 五十路熟女丰满大屁股| 国产婷婷综合在线视频| 一卡二卡三卡四卡网站| 尤物在线视频网| h视频在线观看免费| 国语对白嫖大波女双飞| 亚洲日产2020乱码网页| 国产歌舞一区二区| 亚洲中文字幕日产乱码在线| 进去粗粗硬硬紧紧的好爽在线视频 | 真实国产熟睡乱子伦对白无套| 成 人 亚洲 综合天堂| 夜夜艹欧美| 草莓视频app黄| 国产交换配乱婬免费视频| 大量情侣揄揄拍| 性俄罗斯xxxxxbbbbb| 亚洲成年女人AⅤ| 美女把尿口扒开让男人玩| 中文字幕无线观看免费| 6080午夜| 夜夜高潮,天天爽| 尤物AV永久免费观看| 国产女人高潮抽搐喷水嗷嗷叫| 3dh动漫在线| 婷婷四月开心色房播播| 98福利区午夜孕妇| 自拍偷区亚洲综合美利坚| 国产剧情强姦玩弄丝袜脚| 精品少妇免费午夜视频| 高清性欧美ⅩXX护士| 亚洲综合在人线播放| 国产女主播丝袜喷水在线37 | 国产在线AⅤ精品性色| 成人无遮挡肉动漫网站| 老女人视屏一区二区| 16女下流水视频| 在线免费日韩欧美视频| 三级网站欧美| H视频在线观看视频在线男同| 曰麻批免费视频播放| 欧亚天堂在线播放| 在线播放最新国产白丝jk| 又大又湿又紧 视频| 久久精品国产91久久麻豆自制| 亚州AV永久综合在线观看红杏| 精品久久免费视频| 激情九月丁香| 日本呦交综合| 老师扒开双腿任我玩| 亚洲免费影院香蕉| 极品福利视频| 婷婷桃花五月丁香| 国产精品小说久久婷婷| 精品国产福利久久久| jizz国产大全免费关看| 粗大猛烈进出高潮视频试看| 手机在线看永久AV片| 狠狠综合久久久久综合网小| 国产在线观看双飞| 好涨好爽好硬免费视频国产| 午夜福利不卡片在线播放免| 国产精品区一区第一页| 久久精品丝袜不卡| 久久午夜亚洲| 久久精品99久久香蕉国产| 麻豆高清国产AV| 波多野结衣一区二区三区| 国产野战无套AV| H动漫精品网站导航| 精品国产香港三级| 三上悠亚精品一区二区| 免费看美女裸露身体网站| 91精品欧美激情在线播放| 日韩yy1111111少妇影院| 日本无遮挡吸乳叫声视频| 越猛烈欧美XX00动态图下载| 又爽又大又紧的免费视频| 亚洲激情不卡AV在线| 办公室娇喘的短裙老师| 亚洲精品国产电影网| GAY日韩男男GV片在线观看| 最新国产午夜福利| 妺妺窝人体色www看美女| 性aⅴ观看免费| 国产女人婷婷| 办公室1战4波多野结衣在线| asian极品呦女xx| 久久免费精品高清麻豆| 6080yyy午夜理论片久久| 亚洲国产日韩A在线乱码最近更新中文字幕 | 日本道电影综合网| 国产2022综合在线观看| 精品久久国产小视频p| 嘿咻嘿咻免费区在线观看97| AV人人操| 紧身裙丝袜系列中文字幕| 嗯啊视频免费| 久久66久6这里只有精品7 | 亚洲视频在线观看高h| 国产AV网站高潮| 护士在办公室被躁中文字幕| 18成年免费视频又爽又黄| 真人作爱80分钟免费看视频| 免费人成在线观看网站品善网| 亚洲AV黄页手机版在线播放| 中中文字幕亚洲无线码| 亚洲,欧洲AVAV| 成人亚洲爱情岛论坛在线观看| 爽妇网国产精品白浆| 国产免费拔擦拔擦8x高清在线| 亚洲第一页黄| 亚洲第一页欧美在线播放| 国产老师开裆丝袜喷水视频| 一个人的视频在线观看WWW免费 | 粉嫩粉嫩的18在线观看| 亚洲VA在线VA天堂VA不卡| 国产免费外女真实出血视频| 在线观看理论片一级| 就去吻综合网| 办公室娇喘的丝袜短裙老师 | 手机AV在线天堂网| аⅴ中文天堂最新版在线| 97se色综合一区二区二区| 喷水白浆国产| 中文字幕无线码第3页| 成人Α片免费视频播放在线| 大香线蕉视频伊人99| AV免费观看网站啊啊啊啊我要| 日韩精品 - igao视频网_为爱搞点激情!!!| 亚洲五十路老熟女中出| 婷婷色在线视频极品视觉盛宴| 日本十八禁一区二区三区| AV手机在线播放网站| 在线观看国产精品一区二区三区网址 | 91成年免费影院在线观看| 2022国产最新国产福利小视频| 无遮无挡拍拍拍| 亚洲天堂网2020| 免费网站永久在线播放| 中国人XXXXX69免费视频| 欧洲性爱在线一区| 国偷一区二区三区在线视频| 扒开女人下面使劲桶视频| 午夜视频在线观看免费完整版| 国产女A精品| 欧美激色第一页| 日日噜噜夜夜狠狠视频男男| 亚洲岛国在线观看动作片资源总站| 色爱综合区女女| 午夜福利杨幂在线视频| 国产欧美日本AⅤ精品| 精品国产AV最大网站| 国产大全2018年亚洲天堂网| 最新国产在线AⅤ精品| 久久一本热色99国产| 尤物精品蜜芽亚洲国产AV| 8x视频免费在线观看| 波多野结衣一区二区免费视频| 一本到高清视频dvd| 国产高清AV巨作女教师| 色香蕉网| 99久热RE在线精品99RE| 尤蜜在线观看| 真中文不卡在线视频| 国产孕妇喷水视频在线播放| 亚洲不卡在线看片| sm无遮挡免费看| 亚洲阿v天堂2020在线播放| 站不卡在线观看| 亚洲 国产 小屁孩| 孕妇午夜福利| 亚州午夜影院| 成年在线观看网站免费| 国产精品,校园激情| 337p美女在线视频| 她也啪视频在线观看精品| 国产激情在线网| 99r视频里面只有精品| 精品在线视频欧美性爱| 日本午夜小视频| 国产特黄a三级三级三级| 国产邪恶网站在线观看| AV性色在线| 国产美女久久片| 私拍国产精品视频| 分一二三四区中文字永久幕| 亚洲国产午夜电影| 在线视频网址福利| 毛多水多茸茸的撒尿| 又黄又粗又大的大黑吊| 精品女厕高清国产| 欧美 亚洲 动漫 激情 自拍| 十八禁AV美女网站| 国产一级婬片A| 中中文字幕亚洲无线码| 久久女性综合网| 中日韩亚洲国产综合| 嗯再快点要高潮了视频| 尤物在线精品视频免费看| A V大全在线| 无遮挡h肉动漫在线播放| 少妇熟女久久网| 久久久久久综合免费观看| 久久精品女人天堂aⅴ| 一区二区免费看| 成年满18在线观看| 一个人看AV在线高清| 国语自产少妇精品视频| 屁屁国产第1页草草影院| 午夜理论蜜臀| 中文字幕乱码一区二区三区免费 | 国产亚洲AV手机在线观看| 国产点击进入在线影院尤物| h亚洲色大成网站www永久网站| 亚洲成老女AV人在线视| 亚洲中文字幕少妇| 在线看黄WWWABC300免费| 偷窥日本少妇撒尿chinese| 久久99精品日韩| 国产精品亚洲二区在线观看 | 亚洲三级在线中文字幕| 亚洲色久| 亚洲 中文 字幕视频天堂| 国产欲女高潮正在播放| 草草影院发布页| 午夜福利亚洲精品| 日本亚洲欧洲色α在线播放| 国产农村妇女一级系列| 一边摸一边捅视频| 香港三级日本三级韩级人妇| 国产4区在线播放| 两性午夜性刺激在线观看| 99精品痴汉视频| 国产饥渴孕妇在线播放| 婷婷亚洲国产小说区图片| 伊人久久综在合线亚洲2019}| 又黄又大又硬好爽好疼好深视频| 国产w在线| 久久国产亚洲日韩精品| 黑人巨大 在线视频| 亚洲另类自拍一区| 午夜性久久久性久久久久| 国产在线同性人妖| 尤物色综合久久| 日韩在线一区二区三区观看| 被操到高潮视频| 亚洲欧美日韩国产直线| 黑人亚洲色| 国产精品 欧美精品aⅴ| 伊人亚洲天堂色色王国黑人| 极品中国少妇被黑| CHINESE乱子伦XXXX国| 亚洲精品女同中文字幕| 午夜国产一区二区三区| 一区二区视频在线观看入口| 在线一区视频| 国产污的网站| 亚洲人成网a在线播放| 精品国产网红主播在线直播网 | 亚洲人成影视精品| 99爱视频99爱在线观看免费| 日韩欧美亚洲每日更新在线| 又大又爽又刺激免费视频| wwwAV黄瓜视频| 91高颜值极品女神在线| 亚洲观看一区二区三区| 国产精品00校花H视频| 久章草精品视频免费观看| 在线看片xxxxx| 亚洲色哟哟在线| 在线观看色综合| 中文字幕韩国激情视频网站 | 国产高潮视频在线观看| А∨天堂一区一本到免费| 我要精品在线| 国产一在线狂喷潮在线观看| 一卡二卡三卡四卡网站| 欧美换爱交换乱理伦片1000部 | 国产精品白嫩美女在线观看| 三级理论在线观看视频| 亚洲国产国际精品福利| 亚洲.国产.欧美一区二区三区 | 尤物网址在线| 国产青年GAY同男视频在线收看| 2019最新国产不卡a精品2018 | 国产女明星A级在线| 极品JK美女被草视频| 干老熟女视频| 国产亚洲综合久久系列| 国产精品亚洲哟女| 中文一区二区三区视频在线播放| 日韩AV在线网址观看| 偷窥熟女网| 少妇久未伊人网| 字幕网资源站永久视频| 久本草在线中文字幕亚洲| 97电影院中文字幕| 白浆高潮在线| 国产AV剧情遭闺蜜嫉妒陷害| 欧美性爱免费男人视频| 国产曰批的视频| 国产午夜精品一区一区三区| 国产丝袜不卡丝袜在线| 大香伊蕉在人线国产最新| 刺激一区仑乱| 国产制服丝袜美腿视频网| 啊v天堂网在线观看手机版| 又污又黄喷水在线观看| 2020国产情侣在线视频播放| 亚洲高清成人AV电影| 亚洲男同gv片在线观看天堂| 精品少妇456在线看| 阳茎进女阳道视频免费| jzzijzzij日本成熟少妇| 丰满少妇被猛烈进去高清播放| AⅤ一区| 香港三曰本三级少妇三99| 天堂Av一久久精品| 国产在线精品国自产拍影院同性| 国产白色丝袜在线| 好爽好黄好刺激的视频人妖| 天堂在线诱惑| 在线观看国产技师| 777尤物免费视频| 手机AV在线天堂观看网站| 情一色一乱一伦| 3P视频久久| 女人喷潮免费视频| 色综合中文综合网| 自拍第9页欧洲制服| 日本在线sm虐视频网站| 欧美黑人特黄一级视频| wwwAv在线| 老司机视频网站| 国产美女遭强高潮网站下载| 99热这里有精品| 亚洲同人专区| BBw下身丰满少妇18XXXX| 娇嫩 白浆 在线播放| 亚洲骚妇| 一木道在线dvd免费视频| 亚洲精品小电影| 亚洲午夜间视频| 国产无遮挡又刺激| 无尽欧美杂交性视频| www好视频| 曰批全过程免费| 又紧又黄的免费视频| 国产亚洲产品影市在线产品| A 成 人小说网站在线观看| 韩国精品一卡二卡三卡四卡2021| 狠狠综合久久久久综合网小| 久久国产精品亚洲系列| 亚洲野战视频在线观看| 制服丝袜第一页在线视频网站| 国999久久高清免费观看| 国产在线欧美日韩精品一区| 钙片gay男男gv在线观看| 五月丁香综合缴情六月小说| 电影www色午夜| 亚洲伊人五月| 欧美性爱网址| 偷拍多毛熟女厕所| 白浆喷水美女网站| 啊灬啊别停灬用力啊岳| 精品国产高清自在线一区二区| 在线观看91精品国产| 白丝在线喷水免费| 国产精品区免费视频| 高清视频一区二区三区| igao在线精品视频| 波多野结衣激情视频| 高潮后的少妇中文字幕| 亚洲男男gv手机在线观看| 亚洲网站地址一区二区| 国产精品八区在线观看| 手机天堂AV网| 韩国无遮挡无删减视频在线观看| 豪妇荡乳1一5潘金莲| 午夜激成人免费视频在线观看| 曰批免费看| 亚洲gv在线播放| 亚洲欧美午夜理论电影| 在线视频欧洲专区| 亚洲а∨天堂手机版在线观看| 亚洲人成色77777在线观看| 极品国产主播粉嫩在线| 国产亚洲精品自在久久VR| 2019久久久精品| AV一区二区一卡一级| 狠狠爱视频综合二区| 国产日韩午夜视频一级| 女同事醉酒被迷奷系列在线观看| 中文字女同幕乱码无限2021官网| 国产XXXX做受视频HD| 又黄又刺激的免费网址| 黑人大战白嫩少妇视频| 国内精品自产拍在线不卡| 最近在线更新中文字幕| 国产Chinese在线男同twing| 午夜欧美理论2019理论| 一本到高清在线观看二区黑人| 老师穿丝袜被弄高潮在线观看| 天堂AV色| 一个人看的www网站高清免费| A级作爱视频| 国产乱子伦| 97婷婷狠狠成为人免费视频| 浪货舒服吗好紧好多水视频| 亚洲欧美人兽在线| 国产国产人免费人成免费视频| 国产女高中生第一次视频| 好爽好大国产视频| 边做边叫床视频播放| 欧美粗大猛烈18p图| 14呦女精品| 免费萌白酱国产一区二区三区| 啊啊啊午夜视频免费在线观看| 国产小u女在线未发育| 久久精品男同| 国产专区免费视频| 国产一国产一区在线视频| 亚洲最大色大成网站www国产| 成AV在线| 巨胸喷奶水视频www免费网站| bestialityvideo另类骆驼| 亚洲小少妇| 在线播放国产女同闺蜜| 国产超薄肉色丝袜的网站| 亚洲p对白| 国产精品h尤物在线观看| 成aⅴ人免费观看中文字幕| 久久中文字幕Av网站| 国产精品1024在线观看免费看 | 精品综合久久久久久888| 好硬啊进得太深了h动态图| 97视频久久国产| 亚洲欧美韩国综合色蜜芽| 国产精品久线在线观看| 双乳奶水饱满少妇视频| 亚洲 中文 欧美 日韩 在线| 亚洲日韩欧美在线还看| 国产在视频线在精品视频202| 风间由美一区二区| 国产成 人 综合 亚洲不卡| 国产一区张柏芝| 小乌酱女警双丝脚足在线看| 一区二区三区电影在线| 亚洲红杏成在人免费在线观看| 殴美国产中文字幕视频在线观看| 国产亚洲女人久久久久久 | 久久伊人天堂亚洲网| 天堂一区二区三区在线观看| 无遮挡很爽很污网站| 一区二区三区 三上悠亞| 精品2021高清免费| 日日做夜夜做欧美| 大成色站www| 国产免费一区二区视频| 极品嫩模高潮叫床视频| 日本性爱一区二区三区 | 狼人AV在线网站免费播放| 888米奇四色狠狠下| 操美女逼视频网站高潮| 国产小嫩模无套中出视频| 亞洲無碼网站| 亚欧在线网在线观看| 亚洲同性男男黄g片免费网站| 青榴社区国产精品| 五月婷婷成熟少妇| 中文字幕A∨色在线视频| 天堂网手机视频| 亚洲AV永久综合在线观看红杏| 成年男女免费视频在线观看不卡| 国产高清午夜| 十八禁止无遮挡免费视频软件| 亚洲图片影音先锋| 在线观看日本高清=区日本高清色| 日韩色在线视频观看免费| 婷婷好紧好多水国产好硬| 欧美成a网| 国产男女性潮高清免费网站| 亚洲第九色区在线视频| XXXXBBBB欧美| 好吊妞欧美国产日韩视频免费观看| 久久99精品久久久久久齐齐| 久久99热只有频精品6狠狠| 1024精品 国产| GOGO全球人体亚洲高清大胆| 888狠狠狠| 欧美熟juliaann厨房| jlzz大全高潮多水老师| 久久久2019中文字幕乱码| 一级a国产香蕉在线视频| 秋霞理论在一l级少妇人喷水| 偷拍激情亚洲| 久久熟女AV| 在线看国产一区二区三区| 一本久道综合在线88| 亚洲区小说区激情区图片区| 久久婷婷色香五月综合缴缴情| 国产末成年女AV片| 偷录到真实的叫床声视频 | 亚欧日韩欧美网站| 久久久久久精品久久久| 欧美人与动交片免費播放| 福利私拍国产写真| 日本www一道久久久免费| 丰满少妇爽死你视频| 美女视频网站永久免费| 国产流白浆手机在线观看| 水多多导航凹凸福利在线| 波多野结衣电影一区二区三区| 久久精品人人看人人爽| 日韩孕妇孕交| 综合狠狠| 111111在线观看国产| 久久国产精品嫖妓| 日本视频免费高清一本18| 在线观看亚洲精品国产福利片| 亚洲色大成在线观看| 性欧美8处一14处破| 国产精品久久久久影院| 国产强奷在线播放免费重| 狠狠cao2020高清视频| 国产精品网站一起| 久久久久久精品免费| 亚洲午夜在线视频蚂蚁| 国产小U未发育视频| 天天天天躁天天爱天天碰| 国产有码中字日本| 久久免费视频无需播放器| 国产精品亚洲777| 亚洲中文精品高清| chinese国产xxxx实拍| 九月色婷婷九月在线视频| 成人AV高清不卡在线| 未满十八禁勿入ay网免费| 午夜AV地址发布| 色爱综合另类图片小说| 青青久久Av北条麻妃| 综合激情五月综合激情五月激情1| 性爽爽刺激视频午夜福利| 丁香婷婷色五月基地| 成人动漫在线观看网站| 国产一igao视频网| 曰本韩国三级在线| 国产精品深夜福利免费观看| 国产亚洲人成网站在线观看| 午夜亚州新电影日本物尤| 七月丁香八月婷婷| 老师在办公室被躁在线观看 | 国产A久久精品| 国产精品黑人富婆视频区| 2021久久这里有精品免费| 亚洲重口无字幕在线观看| 成a人片在线观看网址| wwwAV在线App| 一区二区吉泽明步中文字幕| 毛都没有就被开了苞在线电影| 天天天天做夜夜夜夜做| 白浆四溢在线观看| 呦女精品网站| 精品综合久久久久久97| 操美女逼视频网站高潮| AV免费在线区| 国产第一页屁屁影院| 亚洲永久免费视频| www地视频在线观看| 亚洲按摩在线看| 国产ΑV天堂在线观看免费| 亚洲日韩aⅴ在线视频| 中文极品第一页| 色哟哟在线网站观看| 国产男男制服AV在线| 久久精品国产首页027007| 久久综合色另类小说| 在线亚洲福利片| 亚洲日韩欧美一区、二区| 波多野结衣亚洲三区| 亚洲综合一区国产精品| 扒开屁股从后面进去动视频| 国产在线精品一区二区不卡麻豆 | 国产精品拍天天在线| 国产亚洲福利在线视频| 欧美日本一区二区| 在线观看免费H| 99久热国产精品视频尤物| 亚洲人成午夜影院| 69久久国产精品视频| 日韩精品青青久久久久久| 999五月精品| 中文字幕亚洲精品乱码| 不卡乱辈伦在线看中文字幕| Aⅴ免费一区二区三区在线| 丝袜在线亚洲国产精品| 欧美老妇乱惀| 久久国产精品日本波多野结衣| 538免费视频| 午夜老湿机在线精品视频网站 | 12周岁女全身裸在线播放| 中国激情老熟女| 丁香五月网久久综合网| 国产精品爽爽ⅴa在线观看| 亚洲乳头视频不卡| 深田咏美国产一区| 国产91最新欧美在线观看| 亚洲色大情网站www| 久久精品国产99久久久| 国产高清精品福利私拍国产写真在线观看 | AV在线精品网在线观看| 国产精品欧美日韩2021| 日韩不卡在线一区下载地址| 午夜福利国产视频| 300部国产真实乱| 不要,啊啊啊我,高潮了视频 | 刺激男女动态图| 亚洲成年Av天堂动漫网站系| 国产高清午夜人成在线观看,| 992TV欧美182国产在线视频| jizz国产精品| 久爱www免费人成播放| 国产黑色丝袜在线看网红| 亚洲男人网站| 亚洲国产精品原创巨作AV| 亚洲欧美日韩国产一区二区| 久久免费精品不卡| 很污很黄的网站| 国产AⅤ精品浪潮| 国产在线视欧美亚综合青| 杨幂喷水高潮在线观看视频| yy111111少妇影院勉费观看| 精品国产自在久国产87| 亚洲熟女少妇综合图片区| 夜夜高潮夜夜爽高清视频一| 性高潮久久久久久久| AV最新版在线观看网站| 婷婷国产天堂久久综合亚洲| 97二超级碰碰久久久久| 又大又粗又黑又硬免费视频 | Free性亚洲| 香蕉成人啪国产精品视频| 国产午夜AV秒播在线观看| 亚洲自偷自拍熟女另类| 91尤物电影在线| 摸到出水摸到高潮免费视频| 中文字幕中文有码在线| 九九视频国摸私拍| 婷婷激情网址| 很污的国产免费网站在线观看| 成人精品视频99在线观看免费| 无遮挡男女激烈动态图| 国产极品96免费| 青榴社区免费视频在线观看| 欧美日韩天堂在线旡码| 免费少妇荡乳情欲视频| 边吃胸边膜下娇喘视频| 播五月开心婷婷欧美综合| 天堂亚洲2017在线观看| 国产夫妇肉麻对白| 国产中文字幕喷水| 亚洲自拍不卡在线观看| 伊人色合久久网| 中文字幕一二三区码| 欧美视频一区二区久久| 五十路熟女丰满大屁股| 色老头在线观看91| 国产情侣一区二区| 亚洲成AV人精品自偷拍| 国产在线极品粉嫩小泬20p| 亚洲一级在线播放a| 孩交VIDEOS精品乱子| 草莓视频APP污下载入口安装| 日本美女白浆在线| 真实强奷视频在线观看| 国产精品不卡永久免费| 亚洲成年人影院| 456又大又爽少妇| 欧洲午夜福利视频| 国产大全九九热在线观看| 干女生尤物视频网站| 少妇厨房愉情理伦片视频| 中文字幕动漫精品一页| 亚洲综合精品一区二区| 亚洲中文字幕电影AV资源网| 一级人成视频在线播放欧美| mm131美女爰做视频| 老湿免费试看| 亚洲日韩天堂网中文字幕| 99热综合在线| 日本网站久久久| 嗯啊高h视频在线| 7777在线视频| 国产洗澡在线观看| 黑人大屁股ⅩXXXX| 香港三 国产精| AV在线网观看| 国产精品17p| 最新国产专区不卡| 伊人久久青青视频五月天激情| 白丝jk在线观看喷水| 午夜视频男人的天堂| 亚洲午夜久久久久久呦女| 3344永久在线| h国产小视频福利在线观看| 娇妻与老头高潮在线观看| 又粗又长又爽又大高潮视频 | 私密保健少妇偷吃视频| 痴汉电车国产精品视频| 伊人五月综合大香线蕉| 美女被被视频一区二区三区| 老肥熟女四五十路| 波多野结衣一区二区香蕉| 国产精品思思五月婷高清在线| 亚洲精品综合色区二区| 狼人色综合网| 亚洲农夫AV在线| 2019国产精品全部视频不卡| 好猛好紧好硬使劲好大网站| 2020日本www网站不卡| 亚洲中文日本久久高清| 在线播放侵犯中出| 啦啦啦www在线观看免费高清老人 欧美三级真做在线观看 | 国产熟女第一页麻豆| 污网站在线看| 激情九月丁香婷婷| 很污的网站www| 亚洲欧美日韩国产麻豆| 亚洲永久精品ww47 91女女 | 国产精品女同一区二区| 国产精品美女久久久久| 无遮挡很爽很黄很污的日本网站 | 国内精品伊人久久久久777| 伊人五月天色| 成年黄页网站免费大全| 国产欧美在线观看精品一区二区| 越南女人下面毛茸茸| 久草综合 欧美 亚洲| 国产zzjjzzjj视频全免费| 日本成a人片在线播放| 日韩欧美亚洲日本亚洲欧美中文| 好紧好湿好黄的视频免费国产| 国产网红女主播精品视频| 日日做夜夜做欧美| 好黄好猛好爽好痛的视频| 尤物肉动漫在线| 十八禁大全无遮挡真人视频| y111111电影院少妇影院| 国产在线不卡网| 在线观看的三级网站| 91热思思久久免费频精品18| 女人脱裤子让男人桶到爽| 亚洲香蕉网久久综合国产| 国产Baoyu在线观看| 少妇大p| 日本一道综合久久aⅴ久久| 狠狠cao影院| 久久伊人精品影院一本到综合| 巨胸奶水视频www免费| 亚洲精品国产电影午夜在线观看| jzzijzzij亚洲一区二区三区成熟少妇| XXXXX69日本少妇| 我和亲妺作爱视频国产| yw视频 亚洲一区| 国产在线拍揄自揄视精品不卡| 亚洲色大网站www永久网站| 国产69成人精品视频免费| 在线国产中出| 国产精品欧美日韩亚洲卡一卡二| 色多多视频在线播放免费| 无遮挡的很黄很刺激的视频| 亚洲大综合社区| w11111光屁股影院| 亚洲不卡国产精品免费线观看视频| 久久香蕉综合色一综合色88| 好男人社区神马在线观看www | 久久a网| AV内地在线看| 人成精品视频在线| 特黄做受大片又粗又大又黄| 在线免费观看的小视频| 欧洲性大战久久久久久| 在线观看国产福利91啪| 最新剧情中文字幕Av专区| 天天综合天天做天天爱| 久久天天躁夜夜躁狠狠i女人 | 尤物影音先锋在线观看| 丰满少妇被猛男进入高清播放| 亚洲熟女综合色一区二区三区| 久久国产免费2020| 日韩无砖专区2020嫩草影院| 久久99精品日韩| 草裙社区精品视频播放| 动漫巨胸喷奶水视频www免费| 男人j桶女人p免费视频| 亚洲美女高清无水AV| 又长又粗又大黑人免费视频| 亚洲欧美日韩中文加勒比| 69久久福利窝窝网| 欧美第一页| 中文字幕亚洲精品第二页| 777米奇久久伊人网| 激情五月天四房播播| 制服丝袜视频国产一区| a一级特黄日本大片高清视频| 国产精品熟女Av| 成片一卡二卡三卡免费版| 亚洲色另类观看| 成年站免费网站看v片在线| 午夜色午夜视频之日本视频| 观看片免费人成视频| 亚洲成AV人手机在线观看网站| 在线免费观看 亚洲 中出| 尤物视频极品盛宴| 韩国三级成人不卡在线观看| 国产女主播19播放| 久久综合五月丁香久久激情| 亚洲国产A√| 很污的美女网站无遮挡| 成年男女免费视频网站在线观看| 国产亚洲精品第一综合不卡| 亚洲永久网站在线观看AV| 影音先锋华人色导航精品视频二区| 国产欧美久久久精品影院| 色综合色百合| 国产卡一卡二卡三卡四卡视频| 杨幂AV免费在线观看| 午夜a级理论片在线播放717| 国产精品一在线观看| 粉嫩白丝jk被啪到喷水| 三级同性短视频在线观看 | 亚洲日韩aⅴ小电影| 亚洲色大成网站www不卡大全| 678五月丁香在线亚洲综合网 | 10周岁女全身裸无打码| 好痛好深好爽视频| 69老司机在线视频| 正在播放嫩白美女在线| 久久精品国产精品青草app| 国产白浆喷水在线视频免费看| 中文字幕日产乱码一二三区| 国产麻豆色色资源| 插女人屁股午夜视频| 99国产在线综合网| 国产高清性爱| 国产精品21p| 九九99精品视频| 新妺妺窝人体色www_聚色窝| 日本亚洲欧美在线视观看| 技女影院免费| 中国老女人浓密多毛| 一个人的视频在线观看WWW免费 | 国产a级不卡片视频不卡片| 亚洲Av日韩Av综合在线观看| 国产AV巨制| 国产呦系列(753)视频观看|