黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

SQL Server 2008性能故障排查(二)——CPU

系統 2189 0
原文: SQL Server 2008性能故障排查(二)——CPU

承接上一篇: SQL Server 2008性能故障排查(一)——概論

說明一下,CSDN的博客編輯非常不人性化,我在word里面都排好了版,貼上來就亂得不成樣了。建議CSDN改進這部分。也請大家關注內容不要關注排版。同時在翻譯的過程中本人也整理了一次思路,所以還似乎非常愿意翻譯,雖然有點自娛自樂,但是分享給大家也是件好事 得意

CPU 瓶頸:
CPU瓶頸可能因為某個負載所需的硬件資源不足而引起。但是過多的CPU使用通常可以通過查詢優化(特別是在一個服務器上沒有增加額外負載或不同查詢時CPU突然上升的情況)、尋找應用程序設計方面的問題和優化系統配置來減少。 在你急于買更快、更多的CPU之前,先要找出最耗費CPU資源的查詢,并且嘗試去調整那些查詢或者調整設計/系統配置因素。
性能監視器是用于監測和識別CPU是否已經成為了性能瓶頸的其中一個有用的工具。你要查看:Processor:%Processor Time計數器是否很高。如果每個CPU的該值持續在80%以上,那么意味著CPU已經成為瓶頸。
通過SQL Server你也可以通過DMVs檢查CPU是否存在瓶頸。如果在請求等待類型中發現有SOS_SCHEDULER_YIELD等待類型或者一個高值的runnable任務都可是提示可運行線程在計劃等待中。這意味著處理器上出現了CPU瓶頸。如果你有可用的數據收集器,SQLServer的等待圖表可以很容易地在任何時候查看到現有活動中的是否有CPU瓶頸。消耗CPU和SOS_SCHEDULER_YIELD等待都在報表中被納入CPU等待范疇。當你看到CPU在高比例使用時,你可以深入查找那些耗資源最多的查詢。
下面的查詢為你提供一個高級視圖去查找目前緩存批處理或者存儲過程中使用做多CPU資源的查詢。這個查詢聚合計算所有執行相同計劃句柄(Plan handle意味著他們來自相同批處理或者存儲過程)CPU消耗。如果計劃句柄超過一個語句,你就必須去深入分析以便找到在整個CPU中耗費最大的那個特定查詢:


      select top 50 

    sum(qs.total_worker_time) as total_cpu_time, 

    sum(qs.execution_count) as total_execution_count,

    count(*) as  number_of_statements, 

    qs.plan_handle 

from 

    sys.dm_exec_query_stats qs

group by qs.plan_handle

order by sum(qs.total_worker_time) desc


    

這節剩余部分將討論一下通過SQL Server和其他一些有效的方法來增強CPU以解決這些問題。

過度的查詢編譯和優化:
查詢編譯和優化是一個高CPU消耗的過程。開銷根據查詢的復雜度和優先計劃增加而增加。但是即使一個簡單的查詢也會耗用10-20毫秒的CPUT時間去解析和編譯。
為了檢查這種開銷,SQLServer緩存并重用經過編譯的查詢計劃。每次接收到來自客戶端的查詢時,SQLServer首先回去查找計劃緩存,是否已經存在一個可以重復使用的編譯計劃。如果找不到適合的計劃,SQLServer將對查詢進行分合和編譯。然后再執行。

? 對于OLTP系統。批處理的提交相對來說是小而固定的。一般情況下最佳的執行計劃不會依賴于某些值或者作為謂詞的值,因為查詢是基于鍵值的。重用執行計劃在這種類型的系統中非常重要,因為編譯的開銷往往接近甚至高于直接運行的開銷。但是,對于一個數據倉庫負載將能從專用SQL和允許查詢優化器根據不同的值選擇不同的執行計劃中得到好處。因為運行這些查詢的時間通常比編譯時間要大得多。并且查詢優化計劃經常根據查詢謂詞而改變。使用參數化查詢或者存儲過程對OLTP系統能充分重用已經編譯的執行計劃。從而降低SQLServer對CPU的耗用。你可以在數據庫或者查詢級別上使用PARAMETERIZATION FORCED數據庫選項或者查詢提示來實現參數化。更多關于該特性使用的限制,比如當你依賴于計算列的索引或者索引視圖等,請查看聯機叢書。但是,參數化最好的使用地方還是在應用程序自己內部。同時能通過參數化減少被SQL注入的機會。相關只是可以查看聯機叢書部分:
? SQL Injection (http://msdn.microsoft.com/en-us/library/ms161953.aspx)
? Using sp_executesql (http://msdn.microsoft.com/en-us/library/ms175170.aspx)


偵測問題:
在編譯過程中,SQLServer2008計算查詢的“簽名”并作為sys.dm_exec_requests和sys.dm_exec_query_stats動態視圖中的query_hash列的信息展示。這個queryhash屬性在showplan/statistics xml實體中對具有相同query_hash值的高可能行設計相同查詢文本,如果它被寫成一個query_hash參數化形式。查詢中僅是字面值不同但擁有相同的值。舉個例子:有兩個共享相同query hash的查詢,當第三個查詢有不同的query hash時。由于它執行不同的操作:
      select * from sys.objects where object_id = 100

select * from sys.objects where object_id = 101

select * from sys.objects where name = 'sysobjects'


    

query hash將在編譯階段從產生結構中被重新計算。空格將被忽略,就像在SELECT 中,顯式指定列和使用*號的query hash是不一樣的。此外,在一個查詢中使用完全限定名和另外一個使用全表名作為前綴的查詢被認為是同一個查詢,具有相同的query_hash:
      Use AdventureWorks

Go



set showplan_xml on

go



-- Assume this is run by a user whose default schema is Sales

select * from SalesOrderHeader h



select * from Sales.SalesOrderHeader h



select SalesOrderID,

	RevisionNumber,

	OrderDate,

	DueDate,

	ShipDate,

	Status,

	OnlineOrderFlag,

	SalesOrderNumber,

	PurchaseOrderNumber,

	AccountNumber,

	CustomerID,

	ContactID,

	SalesPersonID,

	TerritoryID,

	BillToAddressID,

	ShipToAddressID,

	ShipMethodID,

	CreditCardID,

	CreditCardApprovalCode,

	CurrencyRateID,

	SubTotal,

	TaxAmt,

	Freight,

	TotalDue,

	Comment,

	rowguid,

	ModifiedDate

from Sales.SalesOrderHeader h

go

set showplan_xml off

go


    


注意當query_hash值產生時,數據庫部分的完全限定名被忽略。這允許在相同實例的很多數據庫中執行查詢而不至于因為指定了數據庫前綴使得查詢不成功。
一個簡單的識別應用程序提交的特殊查詢是查看
sys.dm_exec_query_stats.query_hash列:
      select q.query_hash, 

	q.number_of_entries, 

	t.text as sample_query, 

	p.query_plan as sample_plan

from (select top 20 query_hash, 

			count(*) as number_of_entries, 

			min(sql_handle) as sample_sql_handle, 

			min(plan_handle) as sample_plan_handle

		from sys.dm_exec_query_stats

		group by query_hash

		having count(*) > 1

		order by count(*) desc) as q

	cross apply sys.dm_exec_sql_text(q.sample_sql_handle) as t

	cross apply sys.dm_exec_query_plan(q.sample_plan_handle) as p

go


    



查詢結果中額number_of_entries值在千百級別意味著參數化很優秀。如果你在XML執行計劃的<QueryPlan>標簽中查看CompileTime和CompileCPU屬性值是number_of_entries值的翻倍,你應該預測到多少編譯時間和CPU用于參數化查詢(意味著查詢只編譯了一次但是被重用了多次)。去除不必要的緩存計劃還有一個難懂的好處。釋放內存中的緩存用于其他編譯計劃,并且留下更多內存給緩存。

解決方案:
SQLServer2008同時也在執行計劃的訪問路徑(即join算法、join順序、索引選擇等等)產生一個名為“簽名”的query_plan_hash值。某些應用程序通過判斷傳入查詢的參數來評估優化器給出的不同執行計劃。在這種情況下如果你不想使得查詢參數化,你可以使用query_hash和query_plan_hash值共同決定一個具有相同query_hash值的特定的查詢結果是否擁有相同或不同的query_plan_hash值,或者訪問路徑。在之前提到的查詢中稍作修改:
      select q.query_hash, 

	q.number_of_entries, 

	q.distinct_plans,

	t.text as sample_query, 

	p.query_plan as sample_plan

from (select top 20 query_hash, 

			count(*) as number_of_entries, 

			count(distinct query_plan_hash) as distinct_plans,

			min(sql_handle) as sample_sql_handle, 

			min(plan_handle) as sample_plan_handle

		from sys.dm_exec_query_stats

		group by query_hash

		having count(*) > 1

		order by count(*) desc) as q

	cross apply sys.dm_exec_sql_text(q.sample_sql_handle) as t

	cross apply sys.dm_exec_query_plan(q.sample_plan_handle) as p

go


    


注意本查詢根據給定的query_hash值返回一個唯一的查詢計劃(query_plan_hash值)。即使唯一的計劃數量超過1個,你也可以使用sys.dm_exec_query_plan去檢索不同的執行計劃和檢驗它們對實現性能優化是否不同。
當你決定哪個查詢需要被參數化時,參數化的發生地方最好是在客戶端應用程序。具體的實現方法受到你所選擇的API。但是有一件不變的事實就是所有API都用于替代創建文本化謂詞,你可以創建一個帶有問號(?)的字符串作為參數占位符。

      -- Submitting as ad hoc query

select * from Sales.SalesOrderHeader where SalesOrderID = 100



-- Submitting as parameterized

select * from Sales.SalesOrderHeader where SalesOrderID = ?


    

你應該為你綁定參數值使用一個合適的APIs(ODBC,OLE DB,或者SQL Client)。客戶端使用sp_executesql來執行參數化:
exec sp_executesql N’select * from Sales.SalesOrderHeader where SalesOrderID = @P1’, N’@P1 int’, 100
由于查詢是參數化,能重用現有的緩存計劃。如果希望整個數據庫合理地參數化,并且你不需要控制或者修改客戶端應用程序,你同樣可以使用強制數據庫參數來實現。注意前面的警告,這會阻止優化器選擇有效的索引視圖和索引:會阻止優化器選擇有效的索引視圖和索引:會阻止優化器選擇有效的索引視圖和索引:
ALTER DATABASE AdventureWorks SET PARAMETERIZATION FORCED
如果你不能在客戶端應用程序參數化或者強制整個數據庫參數化,你依然能對某些查詢使用臨時的計劃暗示,使用OPTION(PARAMETERIZATION FORCED)。


非必要的重編譯:
當一個批處理或者一個遠程存儲調用(RPC)被提交到SQLServer時,服務器會在開始執行錢檢查查詢計劃的有效性和正確性。如果這些檢查不通過,批處理就必須重新編譯并產生一個不同的執行計劃。這種編譯叫“重編譯”。重編譯很多時候是必須的,用于確保正確性或者當服務器覺得底層數據更改時重編譯更加有效。編譯是一件耗費CPU資源的動作,因此過度的重編譯結果可能是影響系統的CPU性能。
在SQLServer2000中,當SQLServer重編譯一個存儲過程時,整個存儲過程都會被重編譯。在SQLServer2005、2008中,存儲過程的重編譯是語句級別的。當2005、2008重編譯存儲過程時。只重編譯需要編譯的語句,而不是整個存儲過程編譯。這樣能減少CPU頻寬和更少的鎖資源(比如COMPILE鎖)。重編譯一般出現在以下情況:
  • ?架構變更。
  • 統計信息變更
  • 延遲編譯
  • SET選項更改
  • 臨時表變更
  • 在存儲過程創建時使用了RECOMPILE提示。

探測:
可以使用性能監視器和SQLServer Profiler去探測過多的編譯和重編譯:
性能監視器(Performance Monitor):
SQL Statistics對象提供編譯監視計數器和SQLServer實例被發送請求的類型。你需要監控批處理的編譯和重編譯數來發現哪些制造了高CPU使用率。理想情況下,SQL Recompilations/sec和Batch Requests/sec都應該很低。除非用戶提交了特殊查詢。
主要計數器:
SQL Server:SQL Statistics:Batch Requests/sec
SQL Server:SQL Statistics:SQL Compilations/sec
SQL Server:SQL Statistics:SQL Recompilations/sec
詳細信息請參考聯機叢書中的SQL Statistics Object

SQL Server Profiler Trace:
如果性能監視器暗示重編譯次數過高,重編譯就有可能成為SQLServer耗費CPU資源的罪魁禍首。可以通過Profiler來跟蹤存儲過程重編譯情況。Profiler會連同重編譯的原因也追蹤出來:
SP:Recompile/SQL:StmtRecompile:前者是存儲過程,后者是語句的編譯。當你編譯一個存儲過程時,會產生這個存儲過程及其每個語句的相應事件。但是當存儲過程重編譯時,只有引起重編譯的語句會被重編譯。更重要的數據列是SP:Recompile事件。EventSubClass數據列對于發現重編譯的原因是非常重要的。SP:Recompile會在存儲過程中觸發一次或者重編譯時觸發一次,并且不對不重編譯操作的特殊批處理不觸發。在05、08中,更加游泳的是SQL:StmtRecomile。因為這個計數器會在所有重編譯時觸發。重要的事件列:

  • EventClass
  • EvnetSubClass
  • ObjectID(包含該語句的存儲過程ID)
  • SPID
  • StartTime
  • SqlHandle
  • TextData
更多信息請查看聯機叢書。
如果你已經有了一個跟蹤文件,可以使用下面語句查看所有重編譯事件:

      select 

    spid,

    StartTime,

    Textdata,

    EventSubclass,

    ObjectID,

    DatabaseID,

    SQLHandle 

from 

    fn_trace_gettable ( 'e:\recompiletrace.trc' , 1)

where 

    EventClass in(37,75,166)


    

其中:EventClass 37 = Sp:Recompile, 75 = CursorRecompile, 166 = SQL:StmtRecompile
你也可以更進一步組織結果,把sqlhandle和ObjectID列分組或者更多的列。要查看是否存儲過程有過多的重編譯或者因為某種原因重編譯(比如SET選項)
Showplan XML For Query Compile:
該事件會在SQLServer編譯或者重編譯一個T-SQL語句時觸發。這個事件是關于語句編譯或重編譯的信息。包括執行計劃、ObjectID。獲取這個時間對總體性能是有意義的,因為它能捕獲每一個編譯或重編譯。如果你在SQL Compilations/sec指針長期處于高值。就要注意這個事件了。可以通過這個時間查看什么語句經常重編譯。然后通過改變語句的參數來降低重編譯次數。

DMVs:
當你使用sys.dm_exec_query_optimizer_info DMV是,可以看到SQLServer在優化時間方面的一些好建議。如果你執行該DMV兩次,你將感受到在給定時間內用于優化的時間:
select * from sys.dm_exec_query_optimizer_info
counter occurrence value
---------------- -------------------- ---------------------
optimizations 81 1.0
elapsed time 81 6.4547820702944486E-2
要重點關注elapsed time,因為當優化時,這個時間通常接近用于優化的CPU時間。因為優化處理是非常耗費CPU資源的。你可以看到那些編譯和重編譯操作時最好CPU資源的。
另外一個有用的DMV是:sys.dm_exec_query_stats,主要關注列有:

? Sql_handle
? Total worker time
? Plan generation number
? Statement Start Offset
特別關注Plan_generation_num,因為是查詢被重編譯的次數。下面是一個查詢前25個重編譯最多的存儲過程信息:
      select * from sys.dm_exec_query_optimizer_info



select top 25

    sql_text.text,

    sql_handle,

    plan_generation_num,

    execution_count,

    dbid,

    objectid 

from 

    sys.dm_exec_query_stats a

    cross apply sys.dm_exec_sql_text(sql_handle) as sql_text

where 

    plan_generation_num >1

order by plan_generation_num desc


    



解決方案:
如果你發現了耗時的編譯和重編譯,可以考慮以下步驟:
? 如果重編譯的發生原因是因為SET選項,那么用SQLServer Profiler來抓去那個SET選項改變了,然后把它禁用掉(程序級別,不是數據庫級別)。最好是把這個SET操作放到數據庫連接級別,因為這能保證在連接的生命周期中有效。
? 臨時表的重編譯臨界值比實體表要低,如果因為臨時表的統計信息改變而造成重編譯,可以把臨時表改成表變量。表變量在基數上的更改不引發重編譯。但是這種方法的缺點是查詢優化器不保持跟蹤表變量的基數,因為表變量不產生統計信息和維護這些信息。這回導致執行計劃性能優化方面的不完整。你可以測試各種方法然后選擇最好的一種。
? 另外一種選項是使用KEEP PLAN查詢暗示(query hint)。這種設置使的臨時表和實體表具有相同臨界值。EventSubClass列顯示在臨時表上一個操作的統計信息改變情況。
? 為了避免統計信息的改變而重編譯(比如,如果執行計劃因為數據的統計信息改變而變成次優級別時)。可以特別執行query hint。只當這個執行計劃需要檢查正確性時才發生重編譯(比如底層結構更改或者執行計劃長時間沒有使用)。并且不依賴統計信息的改變。比如表架構的更改、或者使用了sp_recompile存儲過程去標注表。
? 關閉了自動更新統計信息能防止重編譯。因為統計信息的改變也會導致重編譯的發生。但是注意,關閉自動更新不是一個好的建議,因為查詢優化器不在對對象上的數據更改敏感,會導致執行計劃不是最優化。只是在使用了所有其他改變都無效時的不得已手段。
? 數據庫中的對象應該使用完全限定名,如dbo.table1,這樣避免重編譯和避免引起對象歧義。
? 為了避免重編譯,可以延遲編譯,不要交錯使用DML和DDL或者使用有條件的DDL比如IF語句。
? 運行DTA看看是否可以通過調整索引來改善編譯時間和執行時間。
? 檢查存儲過程是否有WITH RECOMPILE的選項。或者是否在創建存儲過程時有WITH RECOMPILE選項。在2005、2008中如果有需要,可以在語句級別加上RECOMPILE提示。在語句級別使用這個提示可以避免整個存儲過程重編譯。



低效查詢計劃:
當查詢產生一個執行計劃時,sqlser優化器會嘗試選擇響應時間最短的計劃。最快響應時間并不一定意味著最小化I/O。或者最小化CPU,而是各種資源上的一個平衡。
某些操作與生俱來就比普通操作更占用CPU資源。如Hash操作和排序操作會分別掃描各自的輸入數據。如果在類似掃描中【預讀】,那么在緩存中的所需頁面幾乎總之可用的。因此,物理I/O的等待將最小化或者完全消失。如果這些類型的操作不再受制于物理I / O時,他們傾向于出現在高CPU的消耗。 相比之下,具有很多索引查找的嵌套循環關聯如果需要跨越表的很多部分才能找到合適的數據,那么會很快成為I/O瓶頸。
查詢優化器會對最有意義的輸入,使用基于成本的各種方法來評估各種基數操作,以便找出最有效的查詢計劃。(即執行計劃中的EstimateRows和EstimateExecutions屬性)。沒有明確的基數評估,那么執行計劃是有缺陷的,并且往往這個卻是最終方案。
關于描述SQLServer優化器所使用的統計信息,請查閱:Statistics Used by the Query Optimizer in Microsoft SQL Server 2005


偵查:
低效的執行計劃相對來說比較容易發現,一個低效的執行計劃能引起CPU的消耗上升。下面的查詢是有效標識高消耗CPU的方法:
      select 

    highest_cpu_queries.plan_handle, 

    highest_cpu_queries.total_worker_time,

    q.dbid,

    q.objectid,

    q.number,

    q.encrypted,

    q.[text]

from 

    (select top 50 

        qs.plan_handle, 

        qs.total_worker_time

    from 

        sys.dm_exec_query_stats qs

    order by qs.total_worker_time desc) as highest_cpu_queries

    cross apply sys.dm_exec_sql_text(plan_handle) as q

order by highest_cpu_queries.total_worker_time desc


    

另外,也可以使用sys.dm_exec_cached_plans來過濾可能引起CPU高消耗的各種操作,比如:’%Hash Match%’、’%Sort%’等。

解決方案:
如果你發現有不高效的執行計劃,可以嘗試以下方法:
? 使用DTA優化程序,檢查是否有索引問題。
? 檢查壞基數評估
? 檢查語句的where子句是否可以更好地篩選數據。沒有嚴格限定的查詢天生就很耗資源。
? 在表上運行UPDATE STATISTICS檢查是否還存在問題。
? 檢查是否使用了構造器使得優化器不能準確評估基數?考慮是否可以改寫查詢來避免這種情況?
? 如果無法修改架構或者查詢,你可以在查詢中使用查詢提示(query hints)來限定執行計劃。計劃向導同時也對存儲過程中創建的特殊查詢有效。Hints能脫離優化器對查詢計劃的潛在更改。
? SQLServer 2008 同樣提供一個叫做【計劃凍結】的新特性。允許你凍結在執行計劃緩存中存在的特定計劃。這個選項類似于在執行計劃想到中使用USE PLAN查詢提示來定義計劃。但是,它消除了使用很長的命令來創建執行計劃向導。并且能最小化在長于據中出現的用戶錯誤。示例如下:

      DECLARE @plan_handle varbinary(64);



-- Extract the query's plan_handle.

SELECT @plan_handle = plan_handle FROM sys.dm_exec_query_stats AS qs

CROSS APPLY sys.dm_exec_sql_text(sql_handle)

WHERE text LIKE N'Some query matching criteria%';



EXECUTE sp_create_plan_guide_from_handle

    @name =  N'Sample_PG1',

    @plan_handle = @plan_handle,

    @statement_start_offset = NULL;

GO


    



查詢內并行:
當生成了執行計劃以后,SQLServer優化器會嘗試選擇響應時間最短的計劃來實現查詢。如果查詢消耗超過了并行度花銷臨界值,查詢優化器會嘗試生成一個計劃來做并行運行。并行執行計劃使用處理器的多個線程來處理查詢。最大并行度可以在服務器級別做限制,使用max degree of parallelism選項。在資源負載組級別或者每個查詢級別使用OPTION(MAXDOP)提示。實際執行的并行度(實際用于并行操作的標準)被延遲到執行時才實現。在執行之前,SQLServer會根據空閑程度決定可用于執行DOP的可用調度器。在DOP被選定以后,查詢會在該并行度中執行直到結束。并行執行會稍微耗用更多的CPU時間,但只是持續一段很短的時間。當沒有其他瓶頸時,比如物理I/O等待等,并行計劃會完全使用100%的CPU。
一個關鍵的因素是在查詢開始執行后,引導查詢使用并行計劃。但是這種情況在執行開始后還是可以變更的。比如,如果查詢在空閑發起,服務器可能會選擇使用使用4個處理器來并行執行。在這些線程開始執行,現有的連接可以提交其他查詢這也需要大量的CPU。在那時,其他不同的線程會共享可用CPU的短時間片。這將導致高查詢持續時間。
使用并行計劃運行不是一件壞事,因為它能提供更快的響應時間。但是,對給定查詢的響應時間需要權衡,應該從整體去權衡。并行查詢適合批處理,并且會根據負載來選擇運行環境。SQLServer2008對分區表查詢具有很好的擴展性,所以SQLServer2008會在并行運行時使用比舊版本更高的CPU數量。如果這不是你想要的,就應該限制甚至禁用并行性。

偵查:
并行查詢所帶來的影響可以使用以下方法來偵測:
性能監視器(Performance Monitor):
重點關注:SQL Server:SQL Statistics – Batch Requests/sec計數器和SQL Statistics Objects。由于執行并行查詢需要預估開銷不能超過設定的閾值(默認為5,可以在配置里面設定),所以如果每秒服務器要處理的批處理過多,那么將只有少量的批處理以并行方式執行。服務器通常情況下會并行運行一些小批處理,比如100個以下。
DMVs:
從服務器運行開始,可以使用以下查詢來監控:

      select 

    r.session_id,

    r.request_id,

    max(isnull(exec_context_id, 0)) as number_of_workers,

    r.sql_handle,

    r.statement_start_offset,

    r.statement_end_offset,

    r.plan_handle

from 

    sys.dm_exec_requests r

    join sys.dm_os_tasks t on r.session_id = t.session_id

    join sys.dm_exec_sessions s on r.session_id = s.session_id

where 

    s.is_user_process = 0x1

group by 

    r.session_id, r.request_id, 

    r.sql_handle, r.plan_handle, 

    r.statement_start_offset, r.statement_end_offset

having max(isnull(exec_context_id, 0)) > 0


    

在結果中,可以使用sys.dm_exec_sql_text輕易找出查詢內容,并使用sys.dm_exec_cached_plan來查看執行計劃。
同時可以查找正在并行運行的執行計劃,可以查看是否有Parallel操作符且其屬性非0的執行計劃。這些計劃可能不是以并行方式運行,但是他們如果在系統不是非常繁忙的時候,還是能按并行方式運行

      --

-- Find query plans that can run in parallel

--

select 

    p.*, 

    q.*,

    cp.plan_handle

from 

    sys.dm_exec_cached_plans cp

    cross apply sys.dm_exec_query_plan(cp.plan_handle) p

    cross apply sys.dm_exec_sql_text(cp.plan_handle) as q

where 

    cp.cacheobjtype = 'Compiled Plan' and

    p.query_plan.value('declare namespace p="http://schemas.microsoft.com/sqlserver/2004/07/showplan";

        max(//p:RelOp/@Parallel)', 'float') > 0


    

一般情況下,一個查詢的持續時間會比CPU時間更長,因為其中一些時間是花費在等待別的資源如鎖或者物理I/O上。但在一種情況下查詢的花費CPU時間會比持續時間更長,就是當查詢以并行方式運行在目前可用的多個線程上。但是注意不是所有的并行查詢都會以這種方式運行。

      select 

    qs.sql_handle, 

    qs.statement_start_offset, 

    qs.statement_end_offset, 

    q.dbid,

    q.objectid,

    q.number,

    q.encrypted,

    q.text

from 

    sys.dm_exec_query_stats qs

    cross apply sys.dm_exec_sql_text(qs.plan_handle) as q

where 

    qs.total_worker_time > qs.total_elapsed_time

SQL Trace

Look for the following signs of parallel queries, which could be either 

statements or batches that have CPU time greater than the duration.



select 

    EventClass, 

    TextData 

from 

    ::fn_trace_gettable('c:\temp\high_cpu_trace.trc', default)

where 

    EventClass in (10, 12)	-- RPC:Completed, SQL:BatchCompleted

    and CPU > Duration/1000	-- CPU is in milliseconds, Duration in 

microseconds oOr can be Showplans (un-encoded) that have Parallelism 

operators in them

select 

    EventClass, 

    TextData 

from 

    ::fn_trace_gettable('c:\temp\high_cpu_trace.trc', default)

where 

    TextData LIKE '%Parallelism%'


    



解決方法:
? 以并行計劃運行的查詢,優化器會確認是否預計花銷超過了默認閾值(5)。一些查詢會被標記,作為候選優化方案。
? 使用DTA查看是否有索引需要修改。改動索引能減少查詢開銷。
? 檢查預估執行計劃和實際執行計劃,因為預估是基于統計信息,而且基于成本。如果下面的情況出現了,就要檢查問題:

o 是否禁用了自動開啟統計,確保在執行計劃的警告部分不會出現丟失狀態等信息

o 如果預估計劃被禁用,那么在對應表上運行:UPDATE STATISTICS

o 確保查詢沒有使用到優化器無法明確預估的構造器,如多語句的表值函數或者CLR函數、表變量或者帶有比較功能的T-SQL函數(帶有參數的比較是允許的)。

o 評估語句是否能用更有效更新的方式去實現。

低效的游標使用:
在2005之前的版本只支持單獨的活動連接。正在被查詢或者等待被發送到客戶端的查詢被認為是活動的。在某些情況下,客戶端可能接收結果后,會把結果里面的語句返回SQLServer再繼續執行,這樣會引起新一輪的掛起。一個比較好的解決辦法是改變連接屬性,在服務器端使用游標。
當使用服務器端的游標時,數據庫客戶端軟件(OLE DB或者ODBC)會透明地壓縮客戶端請求到一個特殊的擴展存儲過程,如sp_cursoropen /sp_cursoffetch。這是引用一個API游標(于T-SQL游標相反)。當用戶執行查詢時,查詢文本將通過sp_cursoropen被發送到服務器。請求將從sp_cursorfetch通過服務器返回的特定行中讀取數據。為了控制數據行的返回,ODBC或者OLE DB可以使用行緩存。這避免了服務器等待客戶端讀取它返回的所有數據,這樣,服務器就可以準備接收該連接的新請求。
應用程序打開游標開始讀取時,容易由于網絡延遲造成瓶頸。特別在廣域網。在多用戶連接的快速網絡,從總體上進程請求很多游標帶來的性能問題也會變得很明顯。因為總體響應時間會因為游標定位每個結果集、預處理和類似處理。


偵測:
你可以使用下面工具來排查低效的游標應用:
性能監視器:
查看SQL Server: Cursor Manager By Type-Cursor Requests/Sec計數器。可以感受到大概游標使用情況。系統可能因為小型但每秒有幾百個提取操作而導致存在高CPU利用。沒有專門的計數器列舉提取所使用的緩存大小。
DMVs:
可以使用下面的DMV來查詢每個連接的API游標提取的緩存大小。
      select 

    cur.* 

from 

    sys.dm_exec_connections con

    cross apply sys.dm_exec_cursors(con.session_id) as cur

where

    cur.fetch_buffer_size = 1 

    and cur.properties LIKE 'API%'	-- API cursor (Transact-SQL cursors 

always 

have a fetch buffer of 1)


    

SQL Trace:
使用包含RPC:Completed事件去查找sp_cursorfetch語句。第四個參數的只是提取操作所返回的行數。具體大小根據輸出而定。可以看相應的RPC:Starting事件。

解決方法:
? 檢查是否可以使用基于集合的操作來替代游標,因為這樣幾乎一定比游標高效。
? 考慮在連接SQLServer2008是,開啟多活動結果(MARS)
? 查閱你使用的API文檔。決定如何定義一個對于游標的大的提取緩存:
o ODBC-SQL_ATTR_ROW_ARRAY_SIZE
o OLE DB –Irowset::GetNextRows 或者IRowsetLocate::GetRowsAt

下一章: I/O瓶頸


原文:
CPU Bottlenecks
A CPU bottleneck can be caused by hardware resources that are insufficient for the load. However, excessive CPU utilization can commonly be reduced by query tuning (especially if there was a sudden increase without additional load or different queries on the server), addressing any application design factors, and optimizing the system configuration. Before you rush out to buy faster and/or more processors, identify the largest consumers of CPU bandwidth and see whether you can tune those queries or adjust the design/configuration factors.
Performance Monitor is generally one of the easiest means to determine whether the server is CPU bound. You should look to see whether the Processor:% Processor Time counter is high; sustained values in excess of 80% of the processor time per CPU are generally deemed to be a bottleneck.
From within SQL Server, you can also check for CPU bottlenecks by checking the DMVs. Requests waiting with the SOS_SCHEDULER_YIELD wait type or a high number of runnable tasks can indicate that runnable threads are waiting to be scheduled and that there might be a CPU bottleneck on the processor. If you have enabled the data collector, the SQL Server Waits chart on the Server Activity report is a very easy way to monitor for CPU bottlenecks over time. Consumed CPU and SOS_SCHEDULER_YIELD waits are rolled up into the CPU Wait Category in this report, and if you do see high CPU utilization, you can drill through to find the queries that are consuming the most resources.

The following query gives you a high-level view of which currently cached batches or procedures are using the most CPU. The query aggregates the CPU consumed by all statements with the same plan_handle (meaning that they are part of the same batch or procedure). If a given plan_handle has more than one statement, you may have to drill in further to find the specific query that is the largest contributor to the overall CPU usage.

select top 50
sum(qs.total_worker_time) as total_cpu_time,
sum(qs.execution_count) as total_execution_count,
count(*) as number_of_statements,
qs.plan_handle
from
sys.dm_exec_query_stats qs
group by qs.plan_handle
order by sum(qs.total_worker_time) desc

The remainder of this section discusses some common CPU-intensive operations that can occur with SQL Server, as well as efficient methods for detecting and resolving these problems.
Excessive Query Compilation and Optimization
Query compilation and optimization is a CPU-intensive process. The cost of optimization increases as the complexity of the query and the underlying schema increases, but even a relatively simply query can take 10-20 milliseconds of CPU time to parse and compile.
To mitigate this cost, SQL Server caches and reuses compiled query plans. Each time a new query is received from the client, SQL Server first searches the plan cache (sometimes referred to as the procedure cache) to see whether there is already a compiled plan that can be reused. If a matching query plan cannot be found, SQL Server parses and compiles the incoming query before running it.
For an OLTP-type workload, the set of queries that are submitted is relatively small and static. Quite commonly the optimal query plan does not depend on the exact value or values used as predicates in the query because the lookups are based on keys. Reusing query plans in this type of workload is very important because the cost of compilation may be as high as or higher than the cost of executing the query itself. However, a data-warehousing workload may benefit greatly from using ad hoc SQL and letting the query optimizer search for the optimal plan for each set of values, because the run time for these queries is typically much longer than the compile time, and the optimal query plan is more likely to change depending on the predicates in the query. Using parameterized queries or stored procedures for OLTP-based applications substantially increases the chance of reusing a cached plan and can result in substantial reductions in SQL Server CPU consumption. You can enable parameterization at the database or query level by using the PARAMETERIZATION FORCED database option or query hint, respectively. For more information about important limitations, especially if you rely on indexes on computed columns or indexed views, see SQL Server 2008 Books Online.
However, the best place to parameterize queries is within the application itself (at design time), which also helps mitigate the risk of SQL injection by avoiding string concatenation using parameter values. For more information, see the following topics in SQL Server 2008 Books Online:
? SQL Injection (http://msdn.microsoft.com/en-us/library/ms161953.aspx)
? Using sp_executesql (http://msdn.microsoft.com/en-us/library/ms175170.aspx)
Detection
During compilation, SQL Server 2008 computes a “signature” of the query and exposes this as the query_hash column in sys.dm_exec_requests and sys.dm_exec_query_stats, and the QueryHash attribute in Showplan/Statistics XML. Entities with the same query_hash value have a high probability of referring to the same query text if it had been written in a query_hash parameterized form. Queries that vary only in literal values should have the same value. For example, the first two queries share the same query hash, while the third query has a different query hash, because it is performing a different operation.

select * from sys.objects where object_id = 100
select * from sys.objects where object_id = 101
select * from sys.objects where name = 'sysobjects'

The query hash is computed from the tree structure produced during compilation. Whitespace is ignored, as are differences in the use of explicit column lists compared to using an asterisk (*) in the SELECT list. Furthermore, it does not matter if one query uses fully qualified name and another uses just the table name as long as they both refer to the same object. All of the following should produce the same query_hash value.

Use AdventureWorks
Go

set showplan_xml on
go

-- Assume this is run by a user whose default schema is Sales
select * from SalesOrderHeader h

select * from Sales.SalesOrderHeader h

select SalesOrderID,
RevisionNumber,
OrderDate,
DueDate,
ShipDate,
Status,
OnlineOrderFlag,
SalesOrderNumber,
PurchaseOrderNumber,
AccountNumber,
CustomerID,
ContactID,
SalesPersonID,
TerritoryID,
BillToAddressID,
ShipToAddressID,
ShipMethodID,
CreditCardID,
CreditCardApprovalCode,
CurrencyRateID,
SubTotal,
TaxAmt,
Freight,
TotalDue,
Comment,
rowguid,
ModifiedDate
from Sales.SalesOrderHeader h
go
set showplan_xml off
go

Note that the database portion of the fully qualified name is ignored when the query_hash value is generated. This allows resource usage to be aggregated across all queries in systems that replicate the same schema and queries against many databases on the same instance.
An easy way to detect applications that submit lots of ad hoc queries is by grouping on the sys.dm_exec_query_stats.query_hash column as follows.

select q.query_hash,
q.number_of_entries,
t.text as sample_query,
p.query_plan as sample_plan
from (select top 20 query_hash,
count(*) as number_of_entries,
min(sql_handle) as sample_sql_handle,
min(plan_handle) as sample_plan_handle
from sys.dm_exec_query_stats
group by query_hash
having count(*) > 1
order by count(*) desc) as q
cross apply sys.dm_exec_sql_text(q.sample_sql_handle) as t
cross apply sys.dm_exec_query_plan(q.sample_plan_handle) as p
go

Queries that have a number_of_entries value in the hundreds or thousands are excellent candidates for parameterization. If you look at the CompileTime and CompileCPU attributes under the <QueryPlan> tag of the sample XML query plan and multiply those values times the number_of_entries value for that query, you can get an estimate of how much compile time and CPU you can eliminate by parameterizing the query (which means that the query is compiled once, and then it is cached and reused for subsequent executions). Eliminating these unnecessary cached plans has other intangible benefits as well, such as freeing memory to cache other compiled plans (thereby further reducing compilation overhead) and leaving more memory for the buffer cache.
Resolution
SQL Server 2008 also produces a query_plan_hash value that represents a “signature” of the query plan’s access path (that is, what join algorithm is used, the join order, index selection, and so forth). Some applications might rely on getting a different query plan based on the optimizer evaluating the specific parameter values passed to that execution of the query. If that is the case, you do not want to parameterize the queries.
You can use the query_hash and query_plan_hash values together to determine whether a set of ad hoc queries with the same query_hash value resulted in query plans with the same or different query_plan_hash values, or access path. This is done via a small modification to the earlier query.

select q.query_hash,
q.number_of_entries,
q.distinct_plans,
t.text as sample_query,
p.query_plan as sample_plan
from (select top 20 query_hash,
count(*) as number_of_entries,
count(distinct query_plan_hash) as distinct_plans,
min(sql_handle) as sample_sql_handle,
min(plan_handle) as sample_plan_handle
from sys.dm_exec_query_stats
group by query_hash
having count(*) > 1
order by count(*) desc) as q
cross apply sys.dm_exec_sql_text(q.sample_sql_handle) as t
cross apply sys.dm_exec_query_plan(q.sample_plan_handle) as p
go

Note that this new query returns a count of the number of distinct query plans (query_plan_hash values) for a given query_hash value. Rows that return a large number for number_of_entries and a distinct_plans count of 1 are good candidates for parameterization. Even if the number of distinct plans is more than one, you can use sys.dm_exec_query_plan to retrieve the different query plans and examine them to see whether the difference is important and necessary for achieving optimal performance.
After you determine which queries should be parameterized, the best place to parameterize them is the client application. The details of how you do this vary slightly depending on which client API you use, but the one consistent thing across all of the APIs is that instead of building the query string with literal predicates, you build a string with a question mark (?) as a parameter marker.

-- Submitting as ad hoc query
select * from Sales.SalesOrderHeader where SalesOrderID = 100

-- Submitting as parameterized
select * from Sales.SalesOrderHeader where SalesOrderID = ?

You should use the appropriate APIs for your technology (ODBC, OLE DB, or SQLClient) to bind a value to the parameter marker. The client driver or provider then submits the query in its parameterized form using sp_executesql.

exec sp_executesql N’select * from Sales.SalesOrderHeader where SalesOrderID = @P1’, N’@P1 int’, 100

Because the query is parameterized, it matches and reuses an existing cached plan.
If the entire workload for a given database is appropriate for parameterization and you do not have control over (or can’t change) the client application, you can also enable the forced parameterization option for the database. Note the caveats mentioned earlier; this can prevent the optimizer from matching indexed views and indexes on computed columns.

ALTER DATABASE AdventureWorks SET PARAMETERIZATION FORCED

If you can’t parameterize the client application or enable forced parameterization for the entire database, you can still create a template plan guide for specific queries with the OPTION (PARAMETERIZATION FORCED) hint. For more information about the steps required to do this, see Forced Parameterization (http://technet.microsoft.com/en-us/library/ms175037.aspx) in SQL Server 2008 Books Online.

Unnecessary Recompilation
When a batch or remote procedure call (RPC) is submitted to SQL Server, the server checks for the validity and correctness of the query plan before it begins executing. If one of these checks fails, the batch may have to be compiled again to produce a different query plan. Such compilations are known as recompilations. These recompilations are generally necessary to ensure correctness and are often performed when the server determines that there could be a more optimal query plan due to changes in underlying data. Compilations by nature are CPU intensive and hence excessive recompilations could result in a CPU-bound performance problem on the system.
In SQL Server 2000, when SQL Server recompiles a stored procedure, the entire stored procedure is recompiled, not just the statement that triggered the recompilation. In SQL Server 2008 and SQL Server 2005, the behavior is changed to statement-level recompilation of stored procedures. When SQL Server 2008 or SQL Server 2005 recompiles stored procedures, only the statement that caused the recompilation is compiled—not the entire procedure. This uses less CPU bandwidth and results in less contention on lock resources such as COMPILE locks. Recompilation can happen in response to various conditions, such as:
? Schema changes
? Statistics changes
? Deferred compilation
? SET option changes
? Temporary table changes
? Stored procedure creation with the RECOMPILE query hint or the OPTION (RECOMPILE) query hint
Detection
You can use Performance Monitor and SQL Server Profiler to detect excessive compilation and recompilation.
Performance Monitor
The SQL Statistics object provides counters to monitor compilation and the type of requests that are sent to an instance of SQL Server. You must monitor the number of query compilations and recompilations in conjunction with the number of batches received to find out whether the compilations are contributing to high CPU use. Ideally, the ratio of SQL Recompilations/sec to Batch Requests/sec should be very low, unless users are submitting ad hoc queries.
These are the key data counters:
? SQL Server: SQL Statistics: Batch Requests/sec
? SQL Server: SQL Statistics: SQL Compilations/sec
? SQL Server: SQL Statistics: SQL Recompilations/sec
For more information, see SQL Statistics Object (http://msdn.microsoft.com/en-us/library/ms190911.aspx) in SQL Server 2008 Books Online.
SQL Server Profiler Trace
If the Performance Monitor counters indicate a high number of recompilations, the recompilations could be contributing to the high CPU consumed by SQL Server. Look at the profiler trace to find the stored procedures that are being recompiled. The SQL Server Profiler trace provides that information along with the reason for the recompilation. You can use the following events to get this information.
SP:Recompile / SQL:StmtRecompile
The SP:Recompile and the SQL:StmtRecompile event classes indicate which stored procedures and statements have been recompiled. When you compile a stored procedure, one event is generated for the stored procedure and one for each statement that is compiled. However, when a stored procedure recompiles, only the statement that caused the recompilation is recompiled. Some of the more important data columns for the SP:Recompile event class are listed here. The EventSubClass data column in particular is important for determining the reason for the recompilation. SP:Recompile is triggered once for the procedure or trigger that is recompiled and is not fired for an ad hoc batch that could likely be recompiled. In SQL Server 2008 and SQL Server 2005, it is more useful to monitor SQL:StmtRecompile, because this event class is fired when any type of batch, ad hoc, stored procedure, or trigger is recompiled.
The key data columns to look at in these events are as follows.
? EventClass
? EventSubClass
? ObjectID (represents stored procedure that contains this statement)
? SPID
? StartTime
? SqlHandle
? TextData
For more information, see SQL:StmtRecompile Event Class (http://technet.microsoft.com/en-us/library/ms179294.aspx) in SQL Server 2008 Books Online.
If you have a trace file saved, you can use the following query to see all the recompilation events that were captured in the trace.

select
spid,
StartTime,
Textdata,
EventSubclass,
ObjectID,
DatabaseID,
SQLHandle
from
fn_trace_gettable ( 'e:\recompiletrace.trc' , 1)
where
EventClass in(37,75,166)
EventClass 37 = Sp:Recompile, 75 = CursorRecompile, 166 = SQL:StmtRecompile

For more information about trace events, see sp_trace_setevent (http://msdn.microsoft.com/en-us/library/ms186265.aspx) in SQL Server 2008 Books Online.
You could further group the results from this query by the SqlHandle and ObjectID columns, or by various other columns, to see whether most of the recompilations are attributed by one stored procedure or are due to some other reason (such as a SET option that has changed).
Showplan XML For Query Compile
The Showplan XML For Query Compile event class occurs when SQL Server compiles or recompiles a Transact-SQL statement. This event has information about the statement that is being compiled or recompiled. This information includes the query plan and the object ID of the procedure in question. Capturing this event has significant performance overhead, because it is captured for each compilation or recompilation. If you see a high value for the SQL Compilations/sec counter in Performance Monitor, you should monitor this event. With this information, you can see which statements are frequently recompiled. You can use this information to change the parameters of those statements. This should reduce the number of recompilations.
DMVs
When you use the sys.dm_exec_query_optimizer_info DMV, you can get a good idea of the time SQL Server spends optimizing. If you take two snapshots of this DMV, you can get a good feel for the time that is spent optimizing in the given time period.

select * from sys.dm_exec_query_optimizer_info
counter occurrence value
---------------- -------------------- ---------------------
optimizations 81 1.0
elapsed time 81 6.4547820702944486E-2

In particular, look at the elapsed time, which is the time elapsed due to optimizations. Because the elapsed time during optimization is generally close to the CPU time that is used for the optimization (because the optimization process is very CPU bound), you can get a good measure of the extent to which the compilation and recompilation time is contributing to the high CPU use.
Another DMV that is useful for capturing this information is sys.dm_exec_query_stats.
The data columns to look at are as follows:
? Sql_handle
? Total worker time
? Plan generation number
? Statement Start Offset
For more information, see sys.dm_exec_query_stats (http://msdn.microsoft.com/en-us/library/ms189741.aspx) in SQL Server 2008 Books Online.
In particular, plan_generation_num indicates the number of times the query has recompiled. The following sample query gives you the top 25 stored procedures that have been recompiled.

select * from sys.dm_exec_query_optimizer_info

select top 25
sql_text.text,
sql_handle,
plan_generation_num,
execution_count,
dbid,
objectid
from
sys.dm_exec_query_stats a
cross apply sys.dm_exec_sql_text(sql_handle) as sql_text
where
plan_generation_num >1
order by plan_generation_num desc

For more information, see Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005 (http://www.microsoft.com/technet/prodtechnol/sql/2005/recomp.mspx) on Microsoft TechNet.

Resolution
If you detect excessive compilation and recompilation, consider the following options:
? If the recompilation occurred because a SET option changed, use SQL Server Profiler to determine which SET option changed. Avoid changing SET options within stored procedures. It is better to set them at the connection level. Ensure that SET options are not changed during the lifetime of the connection.
? Recompilation thresholds for temporary tables are lower than for normal tables. If the recompilations on a temporary table are due to statistics changes, you can change the temporary tables to table variables. A change in the cardinality of a table variable does not cause a recompilation. The drawback of this approach is that the query optimizer does not keep track of a table variable’s cardinality because statistics are not created or maintained on table variables. This can result in less optimal query plans. You can test the different options and choose the best one.
? Another option is to use the KEEP PLAN query hint. This sets the threshold of temporary tables to be the same as that of permanent tables. The EventSubclass column displays “Statistics Changed” for an operation on a temporary table.
? To avoid recompilations that are due to changes in statistics (for example, if the plan becomes suboptimal due to change in the data statistics), specify the KEEPFIXED PLAN query hint. With this option in effect, recompilations can only happen to ensure correctness (for example, when the underlying table structure has changed and the plan no longer applies) and not to respond to changes in statistics. For example, a recompilation can occur if the schema of a table that is referenced by a statement changes, or if a table is marked with the sp_recompile stored procedure.
? Turning off the automatic updates of statistics for indexes and statistics that are defined on a table or indexed view prevents recompilations that are due to statistics changes on that object. Note, however, that turning off the auto-stats feature by using this method is not usually a good idea. This is because the query optimizer is no longer sensitive to data changes in those objects and suboptimal query plans might result. Use this method only as a last resort after exhausting all other alternatives.
? Batches should have qualified object names (for example, dbo.Table1) to avoid recompilation and to avoid ambiguity between objects.
? To avoid recompilations that are due to deferred compilations, do not interleave DML and DDL or create the DDL from conditional constructs such as IF statements.
? Run Database Engine Tuning Advisor (DTA) to see whether any indexing changes improve the compile time and the execution time of the query.
? Check to see whether the stored procedure was created with the WITH RECOMPILE option or whether the RECOMPILE query hint was used. If a procedure was created with the WITH RECOMPILE option, in SQL Server 2008 or SQL Server 2005, you may be able to take advantage of a statement-level RECOMPILE hint if a particular statement within that procedure needs to be recompiled. Using this hint at the statement level avoids the necessity of recompiling the whole procedure each time it executes, while at the same time allowing the individual statement to be compiled. For more information about the RECOMPILE hint, see Query Hints (Transact-SQL) (http://msdn.microsoft.com/en-us/library/ms181714.aspx) in SQL Server 2008 Books Online.
Inefficient Query Plan
When generating an execution plan for a query, the SQL Server optimizer attempts to choose a plan that provides the fastest response time for that query. Note that the fastest response time doesn’t necessarily mean minimizing the amount of I/O that is used, nor does it necessarily mean using the least amount of CPU—it is a balance of the various resources.
Certain types of operators are more CPU-intensive than others. By their nature, the Hash operator and Sort operator scan through their respective input data. If read-ahead (prefetch) is used during such a scan, the pages are almost always available in the buffer cache before the page is needed by the operator. Thus, waits for physical I/O are minimized or eliminated. If these types of operations are no longer constrained by physical I/O, they tend to manifest themselves in high CPU consumption. By contrast, nested loop joins have many index lookups and can quickly become I/O bound if the index lookups are traversing to many different parts of the table so that the pages can’t fit into the buffer cache.
The most significant input the optimizer uses in evaluating the cost of various alternative query plans is the cardinality estimates for each operator, which you can see in the Showplan (EstimateRows and EstimateExecutions attributes). Without accurate cardinality estimates, the primary input used in optimization is flawed, and many times so is the final plan.
For an excellent white paper that describes in detail how the SQL Server optimizer uses statistics, see Statistics Used by the Query Optimizer in Microsoft SQL Server 2005 (http://www.microsoft.com/technet/prodtechnol/sql/2005/qrystats.mspx). The white paper discusses how the optimizer uses statistics, best practices for maintaining up-to-date statistics, and some common query design issues that can prevent accurate estimate cardinality and thus cause inefficient query plans.

Detection
Inefficient query plans are usually detected comparatively. An inefficient query plan can cause increased CPU consumption.
The following query against sys.dm_exec_query_stats is an efficient way to determine which query is using the most cumulative CPU.

select
highest_cpu_queries.plan_handle,
highest_cpu_queries.total_worker_time,
q.dbid,
q.objectid,
q.number,
q.encrypted,
q.[text]
from
(select top 50
qs.plan_handle,
qs.total_worker_time
from
sys.dm_exec_query_stats qs
order by qs.total_worker_time desc) as highest_cpu_queries
cross apply sys.dm_exec_sql_text(plan_handle) as q
order by highest_cpu_queries.total_worker_time desc

Alternatively, you can query against sys.dm_exec_cached_plans by using filters for various operators that may be CPU intensive, such as ‘%Hash Match%’, ‘%Sort%’ to look for suspects.
Resolution
Consider the following options if you detect inefficient query plans:
? Tune the query with the Database Engine Tuning Advisor to see whether it produces any index recommendations.
? Check for issues with bad cardinality estimates.
? Are the queries written so that they use the most restrictive WHERE clause that is applicable? Unrestricted queries are resource intensive by their very nature.
? Run UPDATE STATISTICS on the tables involved in the query and check to see whether the problem persists.
? Does the query use constructs for which the optimizer is unable to accurately estimate cardinality? Consider whether the query can be modified in a way so that the issue can be avoided.
? If it is not possible to modify the schema or the query, you can use the plan guide feature to specify query hints for queries that match certain text criteria. Plan guides can be created for ad hoc queries as well as queries inside a stored procedure. Hints such as OPTION (OPTIMIZE FOR) enable you to impact the cardinality estimates while leaving the optimizer its full array of potential plans. Other hints such as OPTION (FORCE ORDER) or OPTION (USE PLAN) provide you with varying degrees of control over the query plan. SQL Server 2008 offers full DML support for plan guides, which means that that they can be created for SELECT, INSERT, UPDATE, DELETE or MERGE statements.
? SQL Server 2008 also offers a new feature called plan freezing that allows you to freeze a plan exactly as it exists in the plan cache. This option is similar to creating a plan guide with the USE PLAN query hint specified. However, it eliminates the need to execute lengthy commands as required when creating a plan guides. It also minimizes the user errors with go along with those lengthy commands. For example, the simple two-statement batch presented below is all that’s needed to freeze a plan for a query that matches the specified text criteria.

DECLARE @plan_handle varbinary(64);

-- Extract the query's plan_handle.
SELECT @plan_handle = plan_handle FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
WHERE text LIKE N'Some query matching criteria%';

EXECUTE sp_create_plan_guide_from_handle
@name = N'Sample_PG1',
@plan_handle = @plan_handle,
@statement_start_offset = NULL;
GO

This statement creates a plan guide (Sample_PG1) in the sys.plan_guides table.
Intraquery Parallelism
When generating an execution plan for a query, the SQL Server optimizer attempts to choose the plan that provides the fastest response time for that query. If the query’s cost exceeds the value specified in the cost threshold for parallelism option and parallelism has not been disabled, the optimizer attempts to generate a plan that can be run in parallel. A parallel query plan uses multiple threads to process the query, with each thread distributed across the available CPUs and concurrently utilizing CPU time from each processor. The maximum degree of parallelism can be limited server-wide by using the max degree of parallelism option, on a resource workload group level, or on a per-query level by using the OPTION (MAXDOP) hint.
The decision on the actual degree of parallelism (DOP) used for execution—a measure of how many threads will do a given operation in parallel—is deferred until execution time. Before executing the query, SQL Server determines how many schedulers are underutilized and chooses a DOP for the query that fully utilizes the remaining schedulers. After a DOP is chosen, the query runs with the chosen degree of parallelism until completion. A parallel query typically uses a similar but slightly higher amount of CPU time as compared to the corresponding serial execution plan, but it does so in a shorter amount of time. As long as there are no other bottlenecks, such as waits for physical I/O, parallel plans generally should use 100% of the CPU across all of the processors.
One key factor (how idle the system is) that led to running a parallel plan can change after the query starts executing. This can change, however, after the query starts executing. For example, if a query comes in during an idle time, the server might choose to run with a parallel plan and use a DOP of four and spawn up threads on four different processors. After those threads start executing, existing connections can submit other queries that also require a lot of CPU. At that point, all the different threads will share short time slices of the available CPU, resulting in higher query duration.
Running with a parallel plan is not inherently bad and should provide the fastest response time for that query. However, the response time for a given query must be weighed against the overall throughput and responsiveness of the rest of the queries on the system. Parallel queries are generally best suited to batch processing and decision support workloads and might not be useful in a transaction processing environment.
SQL Server 2008 implemented significant scalability improvements to fully utilize available hardware with partitioned table queries. Consequently, SQL Server 2008 might use higher amounts of CPU during parallel query execution than older versions. If this is not desired, you should limit or disable parallelism.

Detection
Intraquery parallelism problems can be detected by using the following methods.
Performance Monitor
For more information, see the SQL Server:SQL Statistics – Batch Requests/sec counter and SQL Statistics Object (http://msdn.microsoft.com/en-us/library/ms190911.aspx) in SQL Server 2008 Books Online.
Because a query must have an estimated cost that exceeds the cost threshold for the parallelism configuration setting (which defaults to 5) before it is considered for a parallel plan, the more batches a server is processing per second, the less likely it is that the batches are running with parallel plans. Servers that are running many parallel queries normally have small batch requests per second (for example, values less than 100).
DMVs
From a running server, you can determine whether any active requests are running in parallel for a given session by using the following query.

select
r.session_id,
r.request_id,
max(isnull(exec_context_id, 0)) as number_of_workers,
r.sql_handle,
r.statement_start_offset,
r.statement_end_offset,
r.plan_handle
from
sys.dm_exec_requests r
join sys.dm_os_tasks t on r.session_id = t.session_id
join sys.dm_exec_sessions s on r.session_id = s.session_id
where
s.is_user_process = 0x1
group by
r.session_id, r.request_id,
r.sql_handle, r.plan_handle,
r.statement_start_offset, r.statement_end_offset
having max(isnull(exec_context_id, 0)) > 0


With this information, you can easily retrieve the text of the query by using sys.dm_exec_sql_text, and you can retrieve the plan by using sys.dm_exec_cached_plan.
You can also search for plans that are eligible to run in parallel. To do this, search the cached plans to see whether a relational operator has its Parallel attribute as a nonzero value. These plans might not run in parallel, but they can to do so if the system is not too busy.

--
-- Find query plans that can run in parallel
--
select
p.*,
q.*,
cp.plan_handle
from
sys.dm_exec_cached_plans cp
cross apply sys.dm_exec_query_plan(cp.plan_handle) p
cross apply sys.dm_exec_sql_text(cp.plan_handle) as q
where
cp.cacheobjtype = 'Compiled Plan' and
p.query_plan.value('declare namespace p="http://schemas.microsoft.com/sqlserver/2004/07/showplan";
max(//p:RelOp/@Parallel)', 'float') > 0

In general, the duration of a query is longer than the amount of CPU time, because some of the time was spent waiting on resources such as a lock or physical I/O. The only scenario where a query can use more CPU time than the elapsed duration is when the query runs with a parallel plan such that multiple threads concurrently use CPU. Note that not all parallel queries demonstrate this behavior (where the CPU time is greater than the duration).

select
qs.sql_handle,
qs.statement_start_offset,
qs.statement_end_offset,
q.dbid,
q.objectid,
q.number,
q.encrypted,
q.text
from
sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.plan_handle) as q
where
qs.total_worker_time > qs.total_elapsed_time
SQL Trace
Look for the following signs of parallel queries, which could be either
statements or batches that have CPU time greater than the duration.

select
EventClass,
TextData
from
::fn_trace_gettable('c:\temp\high_cpu_trace.trc', default)
where
EventClass in (10, 12) -- RPC:Completed, SQL:BatchCompleted
and CPU > Duration/1000 -- CPU is in milliseconds, Duration in
microseconds oOr can be Showplans (un-encoded) that have Parallelism
operators in them
select
EventClass,
TextData
from
::fn_trace_gettable('c:\temp\high_cpu_trace.trc', default)
where
TextData LIKE '%Parallelism%'


Resolution
? Any query that runs with a parallel plan is one that the optimizer identifies as expensive enough to exceed the cost threshold of parallelism, which defaults to 5 (roughly a 5-second execution time on a reference computer). Any queries identified through the previous methods are candidates for further tuning.
? Use the Database Engine Tuning Advisor to see whether any indexing changes, changes to indexed views, or partitioning changes could reduce the cost of the query.
? Check for significant differences in the actual versus the estimated cardinality, because the cardinality estimates are the primary factor in estimating the cost of the query. If any significant differences are found:
o If the auto create statistics database option is disabled, make sure that there are no MISSING STATS entries in the Warnings column of the Showplan output.
o Try running UPDATE STATISTICS on the tables where the cardinality estimates are off.
o Verify that the query doesn’t use a query construct that the optimizer can’t accurately estimate, such as multistatement table-valued functions or CLR functions, table variables, or comparisons with a Transact-SQL variable (comparisons with a parameter are okay).
o Evaluate whether the query could be written in a more efficient fashion using different Transact-SQL statements or expressions.
Poor Cursor Usage
Versions of SQL Server prior to SQL Server 2005 only supported a single active common per connection. A query that was executing or had results pending to send to the client was considered active. In some situations, the client application might need to read through the results and submit other queries to SQL Server based on the row just read from the result set. This could not be done with a default result set, because it could have other pending results. A common solution was to change the connection properties to use a server-side cursor.
When a server-side cursor is used, the database client software (the OLE DB provider or ODBC driver) transparently encapsulates client requests inside special extended stored procedures, such as sp_cursoropen or sp_cursorfetch. This is referred to as an API cursor (as opposed to a Transact-SQL cursor). When the user executes the query, the query text is sent to the server via sp_cursoropen; requests to read from the result set result in a sp_cursorfetch instructing the server to send back only a certain number of rows. By controlling the number of rows that are fetched, the ODBC driver or OLE DB provider can cache the row or rows. This prevents a situation where the server is waiting for the client to read all the rows it has sent. Thus, the server is ready to accept a new request on that connection.

Applications that open cursors and fetch one row (or a small number of rows) at a time can easily become bottlenecked by the network latency, especially on a wide area network (WAN). On a fast network with many different user connections, the overhead required to process many cursor requests can become significant. Because of the overhead associated with repositioning the cursor to the appropriate location in the result set, per-request processing overhead, and similar processing, it is more efficient for the server to process a single request that returns 100 rows than to process 100 separate requests that return the same 100 rows one row at a time.
Detection
You can use the following tools to troubleshoot poor cursor usage.
Performance Monitor
By looking at the SQL Server:Cursor Manager By Type – Cursor Requests/Sec counter, you can get a general feel for how many cursors are being used on the system. Systems that have high CPU utilization because of small fetch sizes typically have hundreds of cursor requests per second. There are no specific counters that list the fetch buffer size.
DMVs
You can use following query to determine the connections with API cursors (as opposed to Transact-SQL cursors) that are using a fetch buffer size of one row. It is much more efficient to use a larger fetch buffer, such as 100 rows.

select
cur.*
from
sys.dm_exec_connections con
cross apply sys.dm_exec_cursors(con.session_id) as cur
where
cur.fetch_buffer_size = 1
and cur.properties LIKE 'API%' -- API cursor (Transact-SQL cursors
always
have a fetch buffer of 1)

SQL Trace
Use a trace that includes the RPC:Completed event class search for sp_cursorfetch statements. The value of the fourth parameter is the number of rows returned by the fetch. The maximum number of rows that are requested to be returned is specified as an input parameter in the corresponding RPC:Starting event class.

Resolution
? Determine whether cursors are the most appropriate means to accomplish the processing or whether a set-based operation, which is generally more efficient, is possible.
? Consider enabling multiple active results (MARS) when connecting to SQL Server 2008.
? Consult the appropriate documentation for your specific API to determine how to specify a larger fetch buffer size for the cursor:
o ODBC - SQL_ATTR_ROW_ARRAY_SIZE
o OLE DB – IRowset::GetNextRows or IRowsetLocate::GetRowsAt


SQL Server 2008性能故障排查(二)——CPU


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕制服丝袜一区二区三区 | xxxx野外性xxxx黑人 | 精品无码一区二区三区亚洲桃色 | 91亚洲精品在线观看 | 久久久婷婷成人综合激情 | 国产精品 高清 尿 小便 嘘嘘 | 又黄又爽吃奶视频在线观看 | 久久综合给合久久狠狠狠97色69 | 国精品产品区三区 | 国内精品伊人久久久久av | 丰满熟女人妻中文字幕免费 | 无码字幕av一区二区三区 | av中文字幕免费在线观看 | 韩国毛片视频 | 东京一本一道一二三区 | 夜av| 精品国产一区二区三区性色av | 含羞草导航 | 中国熟妇浓毛hdsex | 成人无码精品一区二区三区亚洲区 | 国模小黎自慰337p人体 | 伊人视屏| 妇乱子伦精品小说网 | 国产黄色片在线观看 | 色又黄又爽18禁免费视频 | 最新无码专区视频在线 | 亚洲欧美综合精品久久成人网无毒不卡 | 天堂中文资源在线观看 | 一级视频在线观看免费 | 欧美成人aaaa免费全部观看 | 无码国模产在线观看免费 | 秒拍福利视频 | 在线播放侵犯新任女学生 | 日本中文字幕乱码aa高清电影 | 国产女人夜夜春夜夜爽免费看 | 色狠狠五月天 | 国产欧美另类精品久久久 | 一区二区三区无码免费看 | 真实国产乱子伦对白视频不卡 | 精品久久久网站 | 国产精品三级国产电影 | 国产 日韩 欧美 成人 | 九九九国产精品成人免费视频 | 五月天天丁香婷婷在线中 | 日韩中文字幕免费视频 | 成人免费大片黄在线播放 | 精品一区二区三区免费毛片 | 免费av看 | 欧美老妇胖老太xxxxx | 国内精品久久久久影视老司机 | 日日做夜夜爽毛片麻豆 | 亚洲国产欧美在线人成最新 | 亚洲精品偷拍影视在线观看 | 久草原精品资源视频 | 国产精品青青青高清在线 | 亚洲国产精品成人久久久 | 成人一区二区免费中文字幕视频 | 亚洲小说视频 | 久久久久成人精品无码 | 又粗又大又黄又硬又爽免费看 | 中文字幕在线观看 | 国产真实伦在线观看视频 | 伦埋琪琪久久影院三级 | 高清日韩av | 国产成人午夜福利在线观看视频 | 欧美三级又粗又硬 | 久久99青青精品免费观看 | 免费女人18a级毛片视频 | 免费无码又爽又高潮视频 | www亚洲| 黄色一级片在线免费观看 | 91精品国产一区二区 | 亚洲久在线 | 久久国产福利播放 | 国内久久婷婷五月综合欲色广啪 | 久久噜噜噜精品国产亚洲综合 | 亚洲综合激情五月丁香六月 | 99热视| 欧美日韩亚洲国产综合 | 亚洲日韩aⅴ在线视频 | 羞羞色99av | 亚洲色无码播放亚洲成av | 国产奶头好大揉着好爽视频 | 亚洲视频无码高清在线 | 天堂资源官网在线资源 | 欧美一级视频免费 | 四虎av永久在线精品免费观看 | 97国产精华最好的产品在线 | 国产精品黄视频 | 中文字幕高清在线 | 亚洲国产aⅴ成人精品无吗 四虎最新网址在线观看 | 对白脏话肉麻粗话av | 双腿高潮抽搐喷白浆视频 | 黑人巨大精品欧美黑寡妇 | 1024久久| 国产一性一爱一乱一交 | 麻豆第一区mv免费观看网站 | 美女屁股隐私免费视频 | 久久一日本道色综合久久 | 久久婷婷成人综合色 | 午夜精品一区二区三区免费视频 | 久久香蕉国产线看观看手机 | 成人欧美18 | 人成福利视频在线观看 | 日本高清不卡在线观看 | 欧美成人看片一区二区三区尤物 | 手机午夜电影神马久久 | 51午夜精品免费视频 | 日韩在线一二 | 亚洲欧洲av一区二区久久 | 亚洲美女高清aⅴ视频免费 91五月色国产在线观看 | 国产又粗又猛又爽又黄的视频一 | 欧洲无线码一二三四区 | 欧美成人午夜免费全部完 | 国产成a人亚洲精v品无码性色 | 久久精品国产字幕高潮 | av视| 国内精品一区二区三区 | 无遮挡免费高清羞羞视频 | 日韩福利视频在线观看 | 久久不见久久见免费影院 | 黄色一级在线播放 | 4438成人网| 久久一区国产 | 人妻熟人中文字幕一区二区 | 成人午夜精品无码区久久 | 亚洲精品色播一区二区 | 欧美激情免费在线 | 成年人晚上看的视频 | 人妻色综合网站 | 特黄aaaaaaaaa毛片免费视频 | 99在线在线视频观看 | 成年午夜视频 | 三级网站免费看 | 四虎国产一区 | 国产网站在线 | 中日韩av亚洲aⅴ高潮无码 | 亚洲女同性同志熟女 | 乌克兰女人大白屁股ass | 天天躁日日躁aaaaxxxx | 天干夜天干天天天爽2022 | 在线国产视频一区 | 人人草网站 | 午夜资源网 | 一区二区三区网址 | 亚洲国产精品人人爽夜夜爽 | 无码中文av波多野结衣一区 | 国产日产精品一区二区三区 | 国产偷ⅴ国产偷v精品 | 丝袜国偷自产中文字幕 | 国产欧美久久久精品影院 | 国产精品福利视频主播真会玩 | 亚洲欧洲三级 | 91精品久久天干天天天按摩 | 成人无码免费一区二区三区 | 毛片av免费 | 91精品国产综合久 | 成人无码精品一区二区三区 | 不卡视频在线观看免费 | 亚洲精品天天 | 长腿校花无力呻吟娇喘的视频 | 亚洲熟女中文字幕男人总站 | 国产97成人亚洲综合在线 | 国产一二三四 | 亚洲日韩av一区二区三区四区 | 日日干夜夜爽 | 亚洲色在线无码国产精品不卡 | 美女裸体十八禁免费网站 | cao国产| 一级黄大片 | 亚洲日韩乱码中文无码蜜桃 | 人妻被按摩到潮喷中文字幕 | 亚洲精品乱码久久久久红杏 | h肉动漫无码无修6080动漫网 | 欧美中文字幕无线码视频 | 国产精品亚洲日韩欧美色窝窝色欲 | 亚洲欲妇| 少妇高潮惨叫正在播放对白 | 亚洲婷婷五月综合狠狠爱 | 91九色国产ts另类人妖 | 天天操夜夜拍 | 一本岛在免费一二三区 | 在线观看一区二区视频 | 亚洲国产成人无码av在线影院 | 亚洲aⅴ无码专区在线观看 国产美女三级无套内谢 | 国产精品视频黄色 | 亚洲欧美激情一区 | 亚洲电影区图片区小说区 | 国产精品十八禁在线观看 | 国产精品av久久久久久网址 | 国产三级做爰在线播放 | 竹内纱里奈69av在线 | 国产精品久久久久久久久久久久冷 | 九色国产| 中文字幕一区三级久久日本 | 中文字幕一区二区三区精品 | 伊人手机在线视频 | 国产免费1卡二卡三卡四卡 欧美一区二区三区精品免费 | 可以直接免费观看的av网站 | 看国产黄大片在线观看 | 亚洲色图首页 | 什么网站可以看毛片 | 欧美视频一区二区 | 亚洲精品玖玖玖av在线看 | 老司机成人 | 免费福利在线视频 | 亚洲线精品一区二区三八戒 | 午夜视频日韩 | 伊人www22综合色 | 人人干网站 | 国产偷窥自拍视频 | 另类天堂网不卡另类系列 | 91高清国产 | 免费做爰猛烈吃奶摸视频 | 色综久久综合桃花网国产精品 | 四虎影院网站 | 国产后进白嫩翘臀在线播放 | 91精品国产综合久久久亚洲 | 成人免费午夜无码视频 | 国产日韩欧美高清 | 2022国产日产欧产精品 | 午夜免费啪 | 中文无码日韩欧免费视频app | 精品91视频 | 神马午夜91 | 色一情一乱一乱一区99av白浆 | 大奶av在线 | 尤物yw193can在线观看 | 国产午夜精品无码一区二区 | 国产视频一区在线观看 | 18禁成年无码免费网站无遮挡 | 美国成人毛片 | 久久香蕉国产线看观看怡红院妓院 | 亚洲人成网77777色在线播放 | 黄色精品视频 | 久操影视 | 思思久久精品一本到99热 | 成人福利视频网 | 天天爱天天做天天爽 | 精品国产三级a在线观看 | 久久日本三级香港三级456 | 天堂在线最新版资源www中文 | 偷偷操av | 52综合精品国产二区无码 | 久久精品国产久精国产思思 | 欧美激情日韩精品久久久 | 亚洲色图图片 | 美色综合 | 欧美专区在线视频 | 亚洲一区高清视频 | av网站网址 | 这里只有精品网 | 亚洲精品乱码久久久久v最新版 | 午夜精品喷水 | 免费无遮挡无码永久在线观看视频 | 免费无码成人av电影在线播放 | 好了av在线 | 日韩午夜理论片 中文字幕 国产乱码卡二卡三卡4 | 好爽好黄的视频 | 国产98在线 | 免费, | 欧美老妇疯狂xxxxbbbb | av软件在线 | 亚洲精品乱拍国产一区二区三区 | 日韩欧美精品有码在线 | 久久久久二区 | 国产成人无码视频一区二区三区 | 色婷婷在线观看视频 | 日韩欧美视频免费在线观看 | 911国产在线 | 丁香婷婷深情五月亚洲 | 少妇99在线观看 | 国产激情高中生呻吟视频 | 国产亚洲成人精品 | 伊人色综合网久久天天 | 嫩模写真一区二区三区三州 | 国产精品亚洲精品一区二区 | 国产不卡在线播放 | 婷婷四房综合激情五月 | 国产欧美一区二区久久性色99 | 国产白嫩护士在线播放 | 日韩欧美aaa | xxxx国产一二三区xxxx | 欧美一级爱爱视频 | 国产精品18久久久久久久网站 | 视频一区二区中文字幕 | 久久精品一品道久久精品 | 一区二区三区国产在线 | 99久久精品国产免费看 | 女女互慰吃奶互揉视频 | 综合激情网站 | 精品国产第一国产综合精品 | 国产欧美日韩免费 | 中文字幕久久999及 99国产在线视频有精品视频 | 国产精品久久久久久久久免费软件 | 日本中文字幕在线不卡 | 蜜臀视频在线观看 | www.91视频聊天.com | 亚洲国产精品隔壁老王 | 五月天亚洲视频 | 亚洲黄色小视频在线观看 | 日本少妇bbwbbw精品 | 国产无遮无挡120秒 91福利网站 | 欧美一级特黄aaaaaa大片在线观看 | 天堂8在线观看 | 超碰热久久 | 在线观看网址你懂的 | 婷婷久久国产对白刺激五月99 | 狠狠色综合一区二区 | 一本一本大道香蕉久在线精品 | 国产日韩欧美日韩大片 | 丰满少妇裸体性激交 | 开心激情五月网 | 97无码免费人妻超级碰碰碰 | 日日夜夜草 | 欧美亚洲国产一区二区三区 | 亚洲天堂手机版 | 亚洲精品毛片av一区二区三区 | 天天综合网日日夜夜 | 亚洲品质自拍视频 | 精品久久久久久无码免费 | a天堂在线观看视频 | 午夜天堂精品久久久久 | 欧美日韩视频一区二区三区 | 亚洲精品av无码重口另类 | 91精品国产综合久久久久久 | 国产精品偷窥久久久盗摄 | 在线日韩视频 | 中日韩精品卡一卡二卡3卡 日韩一级一区 | 成年人深夜视频 | 伊人久久一区二区三区无码 | 夜色综合网 | 啪啪网站免费 | 日韩亚洲产在线观看 | jizz一区二区 | 午夜精品久久久 | 在线观看av免费 | 一边吃奶一边摸做爽视频 | 亚洲国产精品久久久久久 | 国产精品久久国产愉拍 | 亚洲精品免费视频 | 国产黄色在线播放 | 爱情岛亚洲论坛入口福利 | 女人高潮av国产伦理剧 | 性史性农村dvd毛片 曰韩无码av片免费播放不卡 | 色在线播放 | 亚洲日本在线播放 | 少妇激情一区二区三区视频 | 99热网站 | 在线观看免费一区 | 国产成人综合久久久久久 | 成年女人免费视频播放体验区 | 日韩久久国产 | 嫩草视频入口 | 久久久久人妻一区精品果冻 | 黑人猛挺进小莹的体内视频 | 国产精品进线69影院 | 99久久综合狠狠综合久久止 | 国产亚洲精品a片久久久 | 日本丰满大乳奶做爰 | 久久精品亚洲一区 | 久久婷婷一级淫片aaa谢语彤 | 亚洲熟女乱色综合亚洲图片 | 四虎免看黄 | 久久综合给合久久狠狠狠色97 | 色婷婷av久久久久久久 | 国产一区二区三区四区精华 | av在线无码专区一区 | 久久99精品久久久久久hb | 色大师在线观看免费播放 | 久久精品国产久精国产 | 日本一本久草 | 操www| 国产老肥熟 | 日本伊人久久 | 国产三级日本三级在线播放 | 中文字幕亚洲在线观看 | 开心激情站 | 亚洲在线精品 | 久久久午夜精品福利内容 | 国产女同互磨高潮在线观看 | 成人国产精品 | 三级三级三级a级全程 | 香蕉视频一直看一直爽 | 精品久久亚洲中文无码 | 奇米影视亚洲狠狠色 | 四虎影视永久在线精品 | 一级黄色片在线看 | 亚洲性夜夜天天天 | av官网 | 精品一区二区不卡 | 亚洲午夜免费福利视频 | 人妻无码手机在线中文 | 偷看农村女人做爰毛片色 | 国产 精品 自在 线免费 | 中日韩av在线 | 深夜福利视频免费观看 | 狠狠综合久久久久综合网浪潮 | aaa特黄| 男女啪啪120秒 | 国产免费丝袜调教视频免费的 | 亚洲精品av一二三区无码 | 国产偷摄中国推油按摩富婆 | 久久精品国产一区二区电影 | 久久久久久妓女精品影院 | 插插宗合网 | jjzz日本视频 | 国产无毛av | 成人做爰69片免网站 | 国产成人综合久久 | 日日天日日夜日日摸天天 | 99在线看 | 成人久久久精品国产乱码一区二区 | 激情播播网 | 欧美日韩在线免费视频 | 97色偷偷色噜噜狠狠爱网站 | 午夜综合网 | 久久免费视频3 | 在线观看入口 | 久久婷婷人人澡人人喊人人爽 | 亚洲 欧美 国产 日韩 中文字幕 | 日韩免费成人 | 国产无套粉嫩白浆内精在线网站 | 久久亚洲精品无码av | 国产在线视频一区二区三区98 | 欧美一级黄色片在线观看 | 欧洲一卡2卡3卡4卡国产 | 久久久国产成人一区二区三区 | 亚洲欧美国产免费综合视频 | 欧美牲交a欧美在线 | 亚洲影院在线播放 | 国产一区二区三区精品毛片 | 天堂无码人妻精品一区二区三区 | 免费三级现频在线观看播放 | 日韩精品欧美在线成人 | 免费一级全黄少妇性色生活片 | 亚洲最大的熟女水蜜桃av网站 | 拔擦8x成人一区二区三区 | 青在线视频 | 天天躁狠狠躁狠狠躁性色牛牛影视 | 久久综合色一综合色88欧美 | 国产白嫩护士在线播放 | 护士脱了内裤让我爽了一夜视频 | 亚洲精选久久久 | 欧美国产成人精品一区二区三区 | 中文无码vr最新无码av专区 | 秋霞av在线露丝片av无码 | 亚洲中文字幕久在线 | a级毛片高清免费视频 | 日韩色综合网 | 日韩二级毛片 | 日韩三级理论 | 欧美亚洲国产精品久久高清 | 婷婷午夜激情 | 亚洲精品女人 | 国产三级香港三韩国三级 | 国产成人一区二区三区视频 | 日韩国产一区二区三区四区五区 | 国产免费美女视频 | jizzyou中国少妇农村 | 丰满奶大少妇啪啪japan | 日韩在线观看不卡 | 欧美精品日韩精品 | 欧美va免费高清在线观看 | 一区二区三区视频免费 | 韩国精品久久久久久无码 | 中文国产成人精品久久久 | 亚洲成色www久久网站夜月 | 国产裸体美女视频全黄扒开 | 黄色a一级 | 久久无码免费的a毛片大全 日本一区二区免费看 | 亚洲精品亚洲人成在线观看麻豆 | 麻豆亚洲国产成人精品无码区 | 日日天干夜夜人人添 | 日韩免费影视 | 久久婷婷五月综合色丁香花 | 国产成久久免费精品av片 | 亚洲天堂一区在线 | 天天操天天操天天操天天 | 亚洲成在人 | 少妇2做爰交换朴银狐 | 国产日韩精品入口 | 婷婷丁香狼人久久大香线蕉 | 激情综合久久 | 久久久日韩精品一区二区 | 欧美内射深插日本少妇 | 久久精品成人免费观看97 | 免费看黑人男阳茎进女阳道视频 | 欧美xxx喷水 | 又大又硬又黄的免费视频 | 老司机精品成人无码av | 亚洲精品乱码日本按摩久久久久 | 黑人好猛厉害爽受不了好大撑 | 中文字幕一区日韩精品欧美 | 97se亚洲综合在线 | 国产正在播放 | 精品久久一区二区乱码 | 综合激情av| 国产色91 | 亚洲欧美一区二 | 日本精品入口免费视频 | 97久久久久人妻精品区一 | 人妻少妇精品视频一区二区三区 | 国产乱码视频 | 天天操夜夜操夜夜操 | 国产高潮视频在线观看 | 中文字幕一区二区三区久久网站 | 狠狠操天天操夜夜操 | 91久久国产露脸精品国产 | 欧美激情导航 | 凹凸在线无码免费视频 | 777米奇影院狠狠色 国产精品一线二线三线 | 77777亚洲午夜久久多喷 | 亚洲欧美一区二区爽爽爽 | 免费国产a国产片高清 | 哺乳一区二区久久久免费 | 非洲黑人最猛性xxxx交 | 丝袜精品 欧美 亚洲 自拍 | 国产在线看片免费人成视频97 | 色多多性虎精品无码av | 国产精品视频一二三 | 日本特黄成人 | 天堂av色综合久久天堂我不卡 | 日本大乳久久动漫 | 日本天天操 | 亚洲人成网站在线播放2020 | 免费的性生活视频 | 99久久免费看精品国产 | 久久精品国产再热青青青 | 国产精品88av| 无码人妻久久一区二区三区app | 在线观看av不卡 | av在线操 | 亚洲老熟女av一区二区在线播放 | 日韩精品无码熟人妻视频 | 天天做天天爱天天爽天天综合 | 妺妺窝人体色www在线小说 | 特黄做受又粗又长又大又硬 | 日本熟妇色熟妇在线视频播放 | 欧美xxxxx高潮喷水麻豆 | 亚洲色欧美在线影院 | 1024在线看片 | 久久99精品福利久久久久久 | 人妻中文乱码在线网站 | 亚洲欧美自拍色综合图 | 日韩一区二区三区高清电影 | 亚洲欧美午夜理论电影在线观看 | 超h高h肉h文教室学长男男视频 | 人乳喂奶hd播放 | 美女18禁一区二区三区视频 | 成·人免费午夜无码视频蜜芽 | 国产无套喷白浆在线播放 | 性旺盛的老女人 | 天天天天做夜夜夜夜做无码 | 久久人人爽人人爽人人片亞洲 | 成人情侣激情偷拍视频 | 精品伊人久久久大香线蕉天堂 | 绿帽在线 | 美女一区二区三区网av | 国产手机在线αⅴ片无码观看 | 亚洲欧美日韩成人综合网 | 日本久久中文 | 久热久热 | 无码精品人妻一区二区三区98 | 手机成亚洲人成电影网站 | 色综合天天综合网国产成人网 | 国产精品免费av一区二区 | 午夜亚洲aⅴ无码高潮片苍井空 | 99在线视频免费播放 | 亚洲精品揄拍自拍首页一 | 免费特级黄毛片 | 天天爽夜夜爽人人爽免费 | 99久久亚洲精品视香蕉蕉v | 对白脏话肉麻粗话av | 亚洲精品国产精品乱码在线观看 | 寡妇亲子伦一区二区三区四区 | 免费无码又爽又刺激激情视频 | 久久99精品久久久久 | 激情综合在线 | 99久久国产综合精品swag | 国产精品尹人在线观看 | 国产黄色精品在线观看 | 97视频观看 | 中文字幕无线码免费人妻 | 一区二区三区四区国产精品 | 亚洲aⅴ无码天堂在线观看 黄色一级片日本 | 老牛嫩草一区二区三区消防 | 日韩精品在线播放 | 中国美女脚交footjob | 欧美美女视频网站 | 未满十八勿入av网免费 | 亚州av色图 | 色婷婷狠狠操 | 久久人人爽人人爽人人片av | 欧美亚洲精品suv一区 | 欧美激情喷水 | 国产亚洲成av片在线观看 | 国产成人亚洲无吗淙合青草 | 亚洲精品久久久久久婷婷 | 亚洲仺av香蕉久久 | 国产成人精品自在线导航 | 国产乱人伦精品免费 | 古代公妇乱h高h | 国产一二三区在线 | 黄色录像a级片 | 无码专区狠狠躁天天躁 | 动漫3d精品一区二区三区 | 欧美福利社 | 中文成人精品久久一区 | 日本三级大片 | 国产免费无码一区二区三区 | 日本aⅴ在线观看 | 小辣椒福利视频导航 | 内射无套在线观看高清完整免费 | 二区三区四区视频 | 久久国产精彩视频 | 精品在线视频一区 | 999综合网| 久热这里只有精品99国产6 | 欧日韩在线视频 | 中文字幕免费一区二区 | 国产夜夜夜 | 欧洲欧美人成视频在线 | 超碰96在线 | 四虎性| 九九99亚洲精品久久久久 | 人人妻人人澡av | 91精品在线免费视频 | 国产亚洲人成a在线v网站 | 亚洲国产成人精品无码区一本 | 亚洲啊啊 | 国产精品亚洲一区二区三区天天看 | 色牛av | 亚州久久久 | 日本三级韩国三级欧美三级 | 国产重口老太和小伙乱 | 国产精品宾馆精品酒店 | 伊人网影院 | 日本成人在线一区 | 国内精品乱码卡一卡2卡三卡 | av网站地址 | 三级毛毛片 | 日韩黄频 | 狠狠躁日日躁夜夜躁2020 | 日日夜夜爱| 国产综合一区二区三区黄页秋霞 | 成人久久久久久久 | 一本久久精品一区二区 | 美国性生活大片 | 久久五月丁香合缴情网 | 泄欲的丰满少妇激情 | 男人j进女人p免费视频 | 一区二区三区无码按摩精油 | 动漫无遮挡羞视频在线观看 | 一本大道色婷婷在线 | 天天插狠狠干 | 国产精品久久久久久久久夜色 | 国产无遮挡吃胸膜奶免费看 | 午夜免费在线 | 亚洲精品久久片久久久久 | 国产a线视频播放 | 日99久9在线 | 免费 | 婷婷丁香综合网 | 337p人体粉嫩久久久红粉影视 | 日日干夜夜操高清视频 | 久久久欧美 | 美日韩在线视频一区二区三区 | 国产精品午夜成人免费观看 | 午夜寻花在线观看 | 国产又粗又猛又黄又爽视频 | 宅男噜噜99国产精品麻豆精品 | 成人啪啪97丁香 | aaaa日本大尺度裸体艺术西西 | 国产一区欧美一区 | 精品无码人妻夜人多侵犯18 | 日韩一卡二卡三卡四卡免费观在线 | 么公的好大好硬好深好爽视频 | 欧美高清视频一区 | 欧美日韩午夜激情 | 娇小性xxxx性xxx开放69 | 国产精品久久婷婷六月丁香 | 1000部拍拍拍18勿入免费视频下载 | 黑人巨茎大战欧美白妇 | 日韩人妻一区二区三区免费 | 91人人爽人人爽人人精88v | 成人精品黄色 | 永久免费看mv网站入口亚洲 | 免费中文字幕日韩欧美 | 99re视频| 国产成人精品一区二三区四区五区 | 麻豆黄色影院 | 狠狠人妻久久久久久综合 | 欧美日韩一区二区区别是什么 | 亚洲精品av无码喷奶水糖心 | 手机看黄av免费网址 | www国产一区 | 美女露出奶头扒开尿口免费网站 | 国产精品永久免费 | 国产美女又黄又爽又色视频免费 | 国产亚洲精品久久久久久小说 | 久久999 | 蜜桃视频精品 | 久久国产劲爆∧v内射 | 国产 一二三四五六 | 精品久久香蕉国产线看观看亚洲 | 欧美日韩国产一区二区三区不卡 | 97夜色| 99久久精品国产成人综合 | 精品在线小视频 | 26uuu亚洲婷婷狠狠天堂 | 国产亚洲视频免费播放 | 青青青看免费视频在线 | 欧美日韩偷拍视频 | 永久免费看片在线观看 | 日韩字幕 | 乱色欧美激惰 | 久久综合精品国产一区二区三区无 | 免费看成人aa片无码视频 | 亚洲熟妇无码av在线播放 | 中文字幕精品久久久久人妻红杏ⅰ | 成人免费无遮挡在线播放 | 久久久6精品成人午夜51777 | 女主被强啪的动漫视频 | 久久99精品久久久 | 日本免费三片在线观看 | 免费无人区男男码卡二卡 | 国产人成精品 | 午夜精品久久99蜜桃的功能介绍 | 五月婷婷六月香 | 国色天香成人网 | 欧美性受xxxx黑人猛交88 | 97人人模人人爽人人少妇 | 香蕉久久a毛片 | 国产无套精品一区二区 | 无码国产激情在线观看 | 男人用嘴添女人私密视频 | 大伊人狠狠躁夜夜躁av一区 | 亚洲一区成人在线 | 一区二区三区在线播放视频 | 黄a无码片内射无码视频 | 国产精品久久久久久久久免费 | 欧美1级黄色录像 | 人妻久久久一区二区三区 | 久久av高潮av无码av | 超碰免费成人 | 少妇9999九九九九在线观看 | 国产成本人片无码免费2020 | 欧洲在线一区 | 人妻少妇精品久久久久久 | 国产suv精品一区二区33 | 动漫av网站 | 影音先锋手机av资源站 | 人妻人人做人碰人人添 | 一本色道久久综合亚洲精品按摩 | 亚洲精品在线观 | 一级特黄免费视频 | 国语对白老女人一级hd | 久久久久久久久久久免费精品 | 久久69 | 亚洲欧美自拍色综合图 | 成人亚洲免费 | 久久99精品久久久久久动态图 | 欧美一区亚洲一区 | 先锋资源中文字幕 | 91精选国产| 日韩在线操 | 亚洲v欧美 | 亚洲乱论视频 | 欧美夜夜操| 青青草激情| 久久精品国产亚洲精品 | 日本一区二区三区免费播放 | 丰满人妻一区二区三区视频 | 精品久久久久久无码人妻热 | 久草原精品资源视频 | 女人精69xxxⅹxx喷潮网 | 91精品国自产在线 | 91久久久久久 | 欧美成人免费视频 | 99精品热视频这里只有精品 | 亚洲超碰97无码中文字幕 | av超碰 | 国产偷窥熟女精品视频 | 欧美视频日韩视频 | 91精品国产综合久久精品图片 | 日韩av首页 | 92午夜少妇极品福利无码电影 | 久久免费看少妇高潮v片特黄 | 国产日本在线 | 狠狠躁天天躁中文字幕无码 | 床戏做爰无遮挡三级寡妇 | 久久亚洲sm情趣捆绑调教 | 亚洲中文字幕久久精品无码va | 午夜肉伦伦 | 麻豆一二三四区乱码 | 天天澡天天狠天天天做 | 久久久精品成人免费观看国产 | 亚洲成人第一网站 | 视屏一区 | 国产偷人伦激情在线观看 | 天堂男人av | 免费久久人人香蕉av | 亚洲欧美一区二区三区三高潮 | 特级黄www欧美水蜜桃视频 | 亚洲国产精品一区二区第一页 | 亚洲色图p | 伊人精品久久久大香线蕉 | av网址在线 | 中文字幕一区二区三区四区免费看 | 国产成人亚洲精品无码av大片 | 国产91丝袜在线18 | 精品国产三级a在线观看网站 | 超碰成人在线免费观看 | 一级中文字幕 | 欧美巨鞭大战丰满少妇 | 亚洲天堂777 | av在线免费观看播放 | 亚洲国产色播av在线 | 国产精品偷伦视频免费观看了软件 | 久久久久久久久久久久亚洲 | 国产麻豆精品传媒av国产婷婷 | 夜夜春精品视频高清69式 | 丰满少妇裸体淫交 | 日韩精品内射视频免费观看 | 亚洲性少妇 | 天堂资源在线 | 人妖天堂狠狠ts人妖天堂狠狠 | 亚洲色欲色欲www在线观看 | 亚洲国产精品久久久久婷婷软件 | 久草国产在线观看 | 国产精品久久人妻无码网站蜜臀 | 无码中文字幕免费一区二区三区 | 亚洲男人天堂2022 | 日韩a在线 | 亚洲中文字幕无码天然素人在线 | 日日狠狠久久8888偷偷色 | 99久久无色码中文字幕人妻蜜柚 | 超碰97久久国产精品牛牛 | 区一区二视频 | 性高朝久久久久久久齐齐 | 猫咪av网站 | 天天躁天天弄天天爱 | 手机免费av在线 | 青青青免费视频观看在线 | 一二三四韩国视频社区3 | 极品国产主播粉嫩在线 | 三级a三级三级三级a十八发禁止 | 成人h动漫精品一区二区器材 | 另类天堂网不卡另类系列 | 就爱操av | 欧美激情一区二区三区蜜桃视频 | 91超级碰 | 无码免费无线观看在线视 | 国产乱子伦三级在线播放 | 日本精品免费观看 | 欧洲熟妇色xxxx欧美老妇老头多毛 | 日本人成在线播放免费课体台 | 亚洲人视频在线 | 99在线视频免费播放 | 日本免费大黄在线观看 | 国产成人综合色视频精品 | 九色91av | 亚洲福利一区二区三区 | 国产免费一区二区三区最新6 | 999久久国产精品免费人妻 | 国产91在线播放9色不卡 | 伊人网综合 | 99国产在线观看 | 精品欧美黑人一区二区三区 | 肉肉av| 亚洲伊人久久综合 | 嫩草一二三| 国产v片在线播放免费无遮挡 | 国产精品久久久久久久第一福利 | 久久av一区二区三区亚洲 | 亚洲成本人无码薄码区 | 中文在线字幕免费观看 | 国产精品久久久久9999爆乳 | 久久婷婷五月综合色高清 | 亚洲欧美另类激情综合区蜜芽 | 日b在线视频 | 农村女人十八毛片a级毛片 国产乱子伦一区二区三区四区五区 | 成人免费a视频 | 国产suv精品一区二区四区三区 | 亚洲久久在线 | 97在线视频网站 | 中文字幕乱码亚洲无线码小说 | 日韩欧美一级 | 久草视频免费播放 | 日韩视频网站在线观看 | 欧美特黄一级大片 | 偷拍亚洲综合20p | 亚洲一区二区三区在线观看精品中文 | 欧美精品四区 | 久久久精品福利 | 国产精品十八禁在线观看 | 91天堂在线 | 女人与公人强伦姧人妻完电影 | 国产福利精品一区二区三区 | 国产精品揄拍一区二区久久国内亚洲精 | 二区三区在线视频 | 18禁免费观看网站 | 在线免费观看黄色小视频 | 亚洲欧美另类激情综合区 | sm在线视频| 亚洲欧洲日产国码av老年人 | 亚洲天堂小说 | 国产欧美精品久久久 | 午夜国人精品av免费看 | 搡女人真爽免费视频网站波兰美女 | 精品久久久一区二区 | 久久久久国色av免费观看 | 丰满人妻被黑人连续中出 | 国内精品伊人久久久久av影院 | 精品婷婷色一区二区三区 | 黄色天堂av| 久久人妻无码aⅴ毛片a片直播 | 日韩国产精品一区二区 | 少妇性xxxx性开放黄色 | 亚洲精品成人网久久久久久 | 精品丰满人妻无套内射 | 永久免费观看美女裸体视频的网站 | 日本不卡高清一区二区三区 | 久久精品a| 日韩午夜无码精品试看 | 国产拍拍拍无遮挡免费 | 欧美裸体xxxx极品少妇 | 亚洲女人的天堂www 久久永久免费人妻精品 | 久久久久久久久毛片精品 | 日韩av三区| 久久精品国产国产精品四凭 | 国产老熟女伦老熟妇露脸 | 久久亚洲天堂网 | 日韩人妻无码精品专区906188 | 五月婷婷爱 | 国产精品人妻99一区二区三区 | 在线日本看片免费人成视久网 | 久久人搡人人玩人妻精品首页 | 欧美精品国产一区 | 国产精品嫩草影视久久久 | 欧美精品1| 国产极品久久久 | 国产人妻精品一区二区三区 | 国产一区二区三区在线电影 | 国产一区二区三区不卡在线观看 | 男人边吃奶边做呻吟免费视频 | 国产最新精品自产在线观看 | 国产丝袜无码一区二区三区视频 | 好看的91视频 | 在线看片免费人成视频网 | 欧洲一区二区 | 国产sm调教折磨视频失禁 | 中文字幕在线第二页 | 国产互换人妻xxxx69 | 无码纯肉动漫在线观看 | 日本熟日本熟妇中文在线观看 | 国产又黄又爽又色的免费视频 | 影音先锋中文字幕无码 | 免费乱码人妻系列无码专区 | 尤物永久网站 | 欧美激情视频免费在线观看 | 五月激情婷婷在线 | 人妻少妇456在线视频 | 日本人与黑人做爰视频 | 在线观看日本亚洲一区 | 中文字幕乱码亚洲精品一区 | 国产精品99久久久久的智能播放 | 国产麻豆剧传媒精品国产av | 99av成人精品国语自产拍 | 国产精品久久久影院 | 久久色在线观看 | 免费观看色 | 天天综合社区 | 又粗又色又爽一区二区三区 | 久久精品无码中文字幕老司机 | 成人欧美激情 | 无线乱码一二三区免费看 | 国产盗摄精品一区二区酒店 | 上司人妻互换hd无码中文 | a级a做爰片成人毛片入口 | 天天做天天爽 | 亚洲gv永久无码天堂网 | 不卡一卡二卡三乱码免费网站 | 九九99久久精品在免费线bt | 国模一二三区 | 欧美猛交xxx | av不卡免费看 | 91精品国产手机 | 青青国产线免观 | 亚洲砖区免费 | 久久影视一区 | 国产高清日韩 | 黄网址在线观看 | 国产黑色丝袜呻吟在线91 | 欧美另类精品 | 欧洲高清转码区一二区 | 亚洲精品色播一区二区 | 玖玖热麻豆国产精品图片 | 国产成人福利av综合导航 | 成人欧美一区二区 | 无码人妻精品一区二区三区9厂 | 国产精品欧美久久久久久日木一道 | 三级成人网 | 亚洲综合色在线视频www | 国产一区二区三区高清在线观看 | 国精产品999国精产品蜜臀 | 日日操网站 | 91美女精品网站 | 精品无码av不卡一区二区三区 | 国产揄拍国产精品人妻蜜 | 色视频网站免费看 | 国产欧美在线一区二区三 | 中国黄色1级片 | 天天干天天射天天爽 | 久久免费视频一区二区 | 女人被狂躁c到高潮喷水电影 | 精品久久亚洲 | 亚洲v在线观看 | 国产热99| 日韩精品无码一区二区视频 | 欧美猛交免费看 | 女同舌吻互慰一区二区 | 99免费在线| 欧美日本免费一区二区三区 | 国产精品青青在线观看爽香蕉 | 欧美精品v国产精品v日韩精品 | 一级持黄录像免费观看 | 亚洲欧美激情在线一区 | 久久人人做人人妻人人玩精品hd | 午夜国产一区二区三区四区 | 日韩欧美精品在线观看 | 精品无码一区二区三区爱欲九九 | 亚洲激情成人 | 东京热大乱系列无码 | 91手机看片 | 国产成人无码aa精品一区 | 亚洲色综合 | av夜夜躁狠狠躁日日躁 | 无码专区heyzo色欲av | 四季av一区二区凹凸精品 | 亚洲国产精品视频在线 | 无码欧亚熟妇人妻av在线外遇 | 色狠狠一区二区三区香蕉 | 日本一区二区三区久久 | 欧美黄色91| 婷婷久久久 | 国产视频综合网 | 波多野结衣欲乱 | 无码伊人久久大杳蕉中文无码 | 久久精选视频 | 99久久婷婷国产综合精品青草免费 | 69天堂网 | 999精欧美一区二区三区黑人 | 欧美日韩国产专区 | 日产精品一区二区 | 亚洲福利视频网 | 无码av免费一区二区三区a片 | 精品探花| 日本少妇aaa | 成av人电影在线观看 | 做a视频在线观看 | 国产乱子伦视频在线观看 | 天天插在线视频 | 涩涩网站在线观看 | 国产精品星空无限传媒 | 久久久久无码中 | 久久九九精品国产免费看小说 | 亚洲欧美日韩国产成人精品影院 | 国产太嫩了在线观看 | 国产婷婷在线视频 | 欧美最骚最疯日b视频观看 大杳蕉狼人伊人 | 黄色亚洲精品 | 尤物网站在线观看 | 国精品人妻无码一区二区三区3d | 三个男人添一个女人p的视频 | 色综合久久无码中文字幕 | 91精品国产爱久久丝袜脚 | jjzz4日本 | 狼人大香伊蕉国产www亚洲 | 色香色香欲天天天影视综合网 | 欧美性xxxxx极品少妇直播 | 四川少妇大战4黑人 | 免费午夜拔丝袜www在线看 | 午夜私人成年影院 | 天天草综合 | 狠狠亚洲超碰狼人久久 | 亚洲激情视频在线播放 | jzzijzzij亚洲成熟少妇18 久久亚洲成人av | 欧洲极品无码一区二区三区 | 亚洲中文字幕无码卡通动漫野外 | 欧美牲交a欧美牲交aⅴ图片 | 久久精品99国产精品日本 | 亚洲 日韩 欧美 有码 在线 | 日本一区二区在线看 | 蜜桃精品成人影片 | 日韩精品视频久久 | 婷婷久久久亚洲欧洲日产国码av | 国产精品久久免费观看spa | 黄色三级av | 亚洲欧美日韩一区二区三区在线 | 日本不卡久久 | 六月婷婷综合网 | 中文字幕人妻熟女在线 | 天堂黄网 | 久久综合影院 | 欧美日韩亚洲三区 | 极品av麻豆国产在线观看 | 日韩熟女精品一区二区三区 | 国产午夜福利院757视频 | 亚洲爆乳无码精品aaa片蜜桃 | 午夜欧美福利视频 | 色偷偷成人网免费视频男人的天堂 | 狠狠亚洲超碰狼人久久 | 露出调教羞耻91九色 | 五月激情婷婷综合 | 国产欧美日韩综合精品一区二区 | 亚洲日韩av无码一区二区三区人 | 黑人巨大av在线播放无码 | 国产乱对白刺激视频 | 亚洲aa | 国产手机在线视频 | 日日干日日爽 | 伊人色综合视频一区二区三区 | av免费国产| 中国白嫩丰满人妻videos | 亚洲欧美日韩精品专区 | 精品亚洲国产成人av在线小说 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲一区 国产精品 | 亚洲成人自拍 | 在线精品国精品国产尤物 | 亚洲尤物视频 | 国产精品人成视频免费软件 | 黑色丝袜脚足国产在线看 | 国产一区小视频 | 亚洲精欧美一区二区精品 | 日韩精品无码免费专区午夜不卡 | 98av在线| 老湿机香蕉久久久久久 | 激情久久亚洲小说 | 97国产suv精品一区二区62 | 狠狠综合 | 亚洲国产中文字幕在线视频综合 | 日日干狠狠干 | 美国成人在线 | 在线天堂中文在线资源网 | 超碰香蕉人人网99精品 | 精品一区二区三区四区外站 | 久久久久日韩精品免费观看 | 国产成人精选在线观看不卡 | 亚洲国产精品免费 | 爆乳护士一区二区三区在线播放 | 自拍偷拍21p | 人妻免费久久久久久久了 | 日韩欧美福利视频 | 亚洲欧美日韩一区在线观看 | 少妇高潮喷水惨叫久久久久电影 | 手机看片国产av无码 | 性色高清xxxxx厕所偷窥 | 国内老熟妇对白hdxxxx | 亚洲成人一区在线观看 | 亚洲国产成人av人片久久 | 亚洲成a人片在线观看无码3d | 野外做受又硬又粗又大视频 | 成人无码视频在线观看网址 | 懂色av噜噜一区二区三区av88 | 黄网站在线免费 | 波多野结衣天堂 | 欧美成人精品一区二区三区色欲 | 国产一级一级va | 天天色偷偷 | 亚洲性视频免费视频网站 | 免费看美女被靠到爽的视频 | 一本色道久久综合亚洲 | 狠狠色噜噜狠狠狠四色米奇 | 亚洲最大的熟女水蜜桃av网站 | 嘿咻视频在线观看 | 一级全黄裸体免费观看视频 | aⅴ免费视频在线观看 | 亚洲大胆人体视频 | 久久免费99精品国产自在现线 | 无码专区—va亚洲v专区 | 嫩草影院永久入口 | 久草网在线观看 | 欧美成人一二三 | 亚洲欧美999 | 在线日韩日本国产亚洲 | 欲色天天网综合久久 | 国产凹凸久久精品一区 | 国产喷白浆精品一区二区豆腐 | 香港三级日本三级妇三级 | av免费无码天堂在线 | 日日夜夜免费精品 | 欧美一级淫片aaaaaaa喷水 | 日本高清视频色wwwwww色 | 国产亚洲日韩网曝欧美台湾 | 亚洲伊人色欲综合网无码中文 | 热99re久久精品 | 精品国产aⅴ麻豆 | 九色亚洲| 午夜视频福利 | 日韩网站在线 | 一级特黄免费视频 | 美女18免费视频 | 91精品又粗又猛又爽 | 国产一区二区99 | 黑人30厘米少妇高潮全部进入 | 香蕉久久夜色精品升级完成 | 精品少妇人妻av一区二区三区 | 美女裸体视频永久免费 | 亚洲欧美日韩精品 | 亚洲精品国产欧美 | 国产综合久久亚洲综合 | 在线观看日韩精品视频 | 欧美日韩高清在线 | 亚洲第一色网 | 风间由美乳巨码无在线 | 日韩一区二区精品视频 | 欧美在线中文字幕 | 少妇高潮叫床在线播放 | 欧美大屁股喷潮水xxxx | 日本少妇免费视频一三区 | 四虎视频影院www1515 | 成人黄色在线观看 | 亚州国产精品视频 | 午夜精品久久久久久久99芒果 | 日韩av片在线免费观看 | 日韩精品免费在线播放 | 欧美色视频一区二区三区在线观看 | 欧美又粗大人妖一进一出 | 国产精品综合一区二区三区 | 国产精品va尤物在线观看蜜芽 | 狠狠色成人一区二区三区 | 久久av高清无码 | 亚洲乱码中文字幕在线 | 福利cosplayh裸体の福利 | 伊人情人成综合 | 日本中文字幕免费观看 | 欧美另类激情 | 97久久超碰国产精品… | 亚洲欧美强伦一区二区 | 无码欧美黑人xxx一区二区三区 | 欧美老女人性视频 | 欧美精品黑人粗大破除 | 性国产精品 | 看全色黄大色大片女人爽吗 | 午夜精华 | 男人边吃奶边做呻吟免费视频 | 国产色无码专区在线观看 | 狠狠色丁香婷婷久久综合蜜芽 | 97人妻人人做人碰人人爽 | 久久无码免费的a毛片大全 日本一区二区免费看 | 国产欧色美视频综合二区 | 国内黄色一级片 | 国产微拍无码精品一区 | 日韩免费黄色片 | 美女网站免费观看 | 99热2| 日本人妖xxxx | 成年人看的免费视频 | 四虎永久免费在线观看 | 好吊色国产欧美日韩免费观看 | 日韩欧美午夜 | 青娱国产区在线 | 亚洲高清在线播放 | 成 人 在 线 免费观看 | 成人h无码动漫超w网站 | 午夜影院免费观看视频 | 欧美体内谢she精2性欧美 | 噼里啪啦在线看免费观看视频 | 中文字幕一区二区三区视频 | 高清熟女国产一区二区三区 | 中文资源在线播放 | 真实人与人性恔配视频 | 国产男女在线 | 欧美性生交大片18禁止 | 在线观看一区二区视频 | 风韵饥渴少妇在线观看 | 欧美日韩六区 | 成人免费在线视频观看 | 无码人妻丰满熟妇啪啪区日韩久久 | 亚洲精品久久av无码一区二区 | 十八禁在线观看无遮挡 | 午夜精品福利在线观看 | 淫人网| 国产精品视频观看裸模 | 亚洲欧美综合精品久久成人 | av在线播放免费观看 | 欧美色精品在线 | 欧美三级乱人伦电影 | 97超级碰碰人妻中文字幕 | 亚洲国产欧美日韩在线人成 | 久久久久琪琪去精品色无码 | 色婷婷国产精品综合在线观看 | 日本三级网站在线 | 久久www免费人成_看片中文 | 免费看成人欧美片爱潮app | 一区二区视频网 | 亚洲鲁鲁 | 夜夜添夜夜添夜夜摸夜夜摸 | 粗大的内捧猛烈进出少妇 | 国产精品拍天天在线 | 亚洲一区精品无码色成人 | 国产清纯美女遭强到高潮 | 国产精品无码av片在线观看播放 | 国产成人a在线观看网站站 久久久中文字幕日本无吗 欧美xxxx做受欧美人妖 | 国产性猛交 | 国产一区二区无码专区 | 欧美午夜特黄aaaaaa片 | 成人免费无码大片a毛片小说 | 丝袜 亚洲 另类 欧美 | 色免费视频 | 一区二区三区四区免费视频 | 精品1卡二卡三卡四卡老狼 亚洲精品久久30p | 久久久综合色 | 可以直接看的av网址站 | 又深又粗又爽又猛的视频 | 亚洲综合色区无码专区 | 欧美性一区二区 | 免费无码av污污污在线观看 | 最新中文字幕av无码专区 | 日本中文字幕第一页 | 丁香婷婷九月 | 精品无码欧美黑人又粗又 | 四虎国产精品成人免费4hu | 婷婷色婷婷开心五月四房播播久久 | 中文字幕乱码亚洲无线码三区 | 在线观看涩涩视频 | 亚洲成a人片777777张柏芝 | 在线亚洲日产一区二区 | 国产成人av免费在线观看 | 精品一区三区 | 不卡久久 | 国产精品久久久久7777按摩 | 国产精品字幕 | 国产毛片久久久久久美女视频 | 欧美www.| a亚洲va欧美va国产综合 | 少妇伦子伦情品无吗 | 青草青草久热精品视频国产4 | 欧美激情亚洲色图 | 饥渴放荡受np公车奶牛 | 午夜久久网 | 久久免费少妇高潮久久精品99 | 色综合天天综合高清网国产在线 | 少妇高潮惨叫正在播放对白 | 国产山村乱淫老妇av色播 | 在线a亚洲v天堂网2019无码 | 日韩成人av网站 | 婷婷干| 一级片在线免费观看 | 日韩欧美在线免费 | 国产免费人成在线视频 | 永久免费的av片在线电影网 | 日本高清色www在线安全 | 91色多多| 黄色动漫网站在线免费观看 | 国产香港明星裸体xxxx视频 | 欧美日韩一区二区区别是什么 | 日韩精品无码免费一区二区三区 | 国产一区二区三区久久久 | 日本中文在线播放 | 精品视频一区二区三区四区五区 | 操人在线观看 | 日本老熟妇乱子伦视频 | 亚洲综合激情在线 | 日本国产成人国产在线播放 | 国产成人综合怡春院精品 | 亚洲国产精品久久久久爰色欲 | 日本肉体xxⅹ裸体交 | 国产精品入口日韩视频大尺度 | 男人手机天堂 | 久久久久久久黄色 | 亚洲欧美一级久久精品国产特黄 | 国产精品v亚洲精品v日韩精品 | 中文色网 | 日韩精品内射视频免费观看 | 亚洲中文字幕无码永久在线 | 欧美v∧ | 日产一区日产2区 | 国产性―交―乱―色―情人 | 四虎地址8848精品 | 亚洲一区a | 黄色福利视频网站 | 天天资源 | 99re在线观看 | 最新国产福利在线观看精品 | 精品国产自线午夜福利在线观看 | 国产一级粉嫩xxxx | av一区在线播放 | 国产成人无码aa精品一区 | 午夜福利电影无码专区 | 人妻无码中文久久久久专区 | 99久热国产精品视频尤物 | 亚洲一区二区激情 | 亚洲国产成人一区二区在线 | 国产成人精品午夜二三区波多野 | 轻轻色在线观看 | 亚洲欧美一区二区三区不卡 | 婷久久| 另类捆绑调教少妇 | 亚洲一区二区三区偷拍女厕 | 久久久免费高清视频 | 波多野结衣办公室33分钟 | 国产精品成人av片免费看最爱 | 中文字幕无码视频专区 | 婷婷网色偷偷久久久99超碰 | 四虎影视永久在线精品播放 | 亚洲精品久久久久中文字幕一区 | 欧美不卡视频在线 | 小sao货水好多真紧h无码视频 | 黄色激情小说视频 | 国产午夜在线观看 | 91精品在线国产 | 天天躁日日躁狠狠躁伊人 | 久久这里有精品国产电影网 | 色伊伊| 天堂а√在线最新版中文在线 | 乡下人产国偷v产偷v自拍 | 国产无遮挡18禁网站免费 | 在线免费a视频 | 双腿张开被9个黑人调教影片 | 午夜电影院理伦片8888 | 国产日韩欧美久久久精品图片 | 亚洲精品nv久久久久久久久久 | 成人h动漫无码网站久久 | 日韩激情无码不卡码 | 国产中出| 中文无码乱人伦中文视频在线 | 久久久香蕉视频 | 国产超91 | 91丨porny丨蝌蚪新疆 | 欧美一级性视频 | yyyy11111少妇无码影院 | 国产欧美亚洲一区二区 | 国产偷国产偷亚州清高app | 日本黑人一区二区免费视频 | 69视频入口 | 亚洲熟妇无码久久精品 | 人人网av| 国产成人久久综合一区 | 久久性色av亚洲电影 | 久久国产成人精品国产成人亚洲 | av天天干 | 伦理精品一区二区三精品 | 97人人人人 | 国产成人精品手机在线观看 | 精品国产91 | 韩国色综合 | 国产无遮挡色视频免费观看性色 | 国产高清一区二区三区四区 | 国产18禁黄网站免费观看 | 亚洲国产免费 | 亚洲综合无码日韩国产加勒比 | 成人一级黄色大片 | 日本少妇网| 人伦片无码中文字幕 | www..com黄色| 正在播放酒店约少妇高潮 | 日本高清免费在线 | 上司侵犯下属人妻中文字幕 | 污网页在线观看 | 综合网在线视频 | 国产精品乱 | 日韩视频一区二区三区在线播放免费观看 | 国产莉萝无码av在线播放 | 在线a亚洲v天堂网2019无码 | 欧美处交wwwvideos另类 | 久久精品青青大伊人av | 四虎成人精品无码永久在线 | 久久久久久av无码免费看大片 | 狠狠狠色丁香综合婷婷久久 | 亚洲色偷精品一区二区三区 | а√天堂资源中文在线官网九色 | 日夜啪啪一区二区三区 | 久久888| 亚洲第一网站男人都懂 | 国产成人综合亚洲精品 | 精品国产91久久久久久浪潮蜜月 | 成人无码一区二区三区网站 | 福利视频网址导航 | 国产成人亚洲综合无码dvd | 日本饥渴人妻欲求不满 | 日韩激情a | 久色91| 色欲av蜜桃一区二区三 | 美女自卫慰黄网站免费 | 国产一区在线免费观看视频 | 97免费视频在线观看 | 午夜免费国产 | 亚洲精品网站在线观看你懂的 | 欧美另类69xxxx | 久热爱精品视频线路一 | 亚洲人成网站在线播放大全 | 中国黄色1级片 | 欧洲熟妇精品视频 | 国产欧美va欧美va香蕉在 | 久爱视频精品 | 奇米影视第四色首页 | 超碰人人干 | 第一福利av | 欧美视频一区二区在线 | 99久久e免费热视频百度 | 成人精品一区日本无码网站 | 在熟睡夫面前侵犯我在线播放 | 亚洲国产成人精品久久久国产成人 | 国产中文字幕不卡 | 国产成人一区二区三区app | 白峰美羽一区二区三区 | 国产一区国产二区在线精品 | av无码久久久久不卡网站蜜桃 | 午夜污片 | 手机av免费在线 | 国产自产21区 | 欧美一级在线播放 | 一级特黄aa大片 | 亚洲国产一二 | 成人免费一区 | 国产一级高清 | 国产精品99久久久久久动医院 | 亚洲伦理在线播放 | 日韩网站在线观看 | 国产高清中文手机在线观看 | 无码视频一区二区三区在线观看 | 69堂国产成人免费视频 | 四虎影视18库在线影院 | 国产自产在线 | 国产无限次数成版人视频在线 | 四虎网站在线播放 | 亚洲国产精品成人久久久麻豆 | 男女后进式猛烈xx00动态图片 | 18禁动漫美女禁处被爆桶出水 | 久久视频免费观看 | 天天色播 | 久久精品视频观看 | 欧美日韩精品久久免费 | 国产精品久久久久久久久久久久久久久久久久 | 制服视频在线一区二区 | 伊人久久久 | 亚洲一区二区三区高清在线看 | 秋霞99| 狠狠色噜噜狠狠狠狠888奇米 | 国产成人综合久久精品推最新 | 亚洲国产精品美女久久久久 | 俺也去射 | 日日噜噜噜夜夜爽爽狠狠视频寻花 | 女人扒开屁股爽桶30分钟 | 日本无遮羞打屁股网站视频 | 香蕉视频网站在线 | blacked蜜桃精品一区 | 女人被狂c到高潮视频网站 成人免费淫片aa视频免费 | 精品无人区卡一卡二卡三乱码 | 日韩欧美一区二区精品 | 国产成人精品亚洲日本语言 | 亚洲国产av导航第一福利网 | 9999在线视频 | aaaaaa黄色片 | 日韩欧美黄色网址 | 日本三级香港三级人妇三 | 国产免费人成网站x8x8 | 国内精品久久久久影院网站 | 亚洲精品乱码久久久久久金桔影视 | 亚洲欧美激情网 | 老司机午夜福利试看体验区 | 亚洲特黄视频 | 亚洲成人在线网站 | 四虎影院永久免费观看 | 国产六月婷婷爱在线观看 | 日本成片网 | 日本乱妇乱子视频网站-百度 | 精品国产一二三产品区别在哪 | 亚洲国产精品无码久久电影 | 亚洲一区久久 | 一女多男np慎入h有声小说 | 亚洲欧美日韩中文字幕一区二区三区 | 亚州春色 | 激情网网站 | 日本免费高清线视频免费 | 久久男人av资源网站无码软件 | 国产亚洲日本精品成人专区 | 欧美精品一卡 | 亚洲精品二 | 日韩视频免费观看 | 日日碰狠狠躁久久躁96avv | 国产a免费 | 性猛交ⅹxxx富婆视频 | 国产精品一区一区 | 最新版天堂资源中文在线 | 亚洲精品国产福利一区二区 | 热re99久久6国产精品免费 | 无码国产精品一区二区免费虚拟vr | 久久天天躁狠狠躁夜夜2019 | 成人禁污污啪啪入口 | 99r| 毛片基地视频 | 无码人妻一区二区三区在线视频 | 在线岛国片免费无码av | 热热av| 亚洲精品乱码久久久久久久久久久久 | 小婕子伦流澡到高潮h | 亚洲精品人人 | 夜夜嗨av一区二区三区四区 | 一级不卡免费视频 | 亚洲一区二区女搞男 | 少妇性l交大片欧洲热妇乱xxx | 天天射天天干天天色 | 波多野结衣喷水最猛几部 | 黄色毛片视频免费 | 毛片大全免费观看 | 东京热人妻中文无码av | 亚洲成人在线免费观看 | 亚洲第一精品在线 | 欧美日韩国产激情 | 中文字幕 欧美精品 第1页 | 宝宝好涨水快流出来免费视频 | 国模裸体无码xxxx视频 | 99欧美日本一区二区留学生 | 国产日产欧产美韩系列影片 | 日本最新一区 | 亚洲免费人成在线视频观看 | 国产av无码一区二区二三区j | 在线免费观看黄色小视频 | 国产精品女人精品久久久天天 | 久久视频一区 | 国产精品美女乱子伦高 | 97公开免费视频 | 国产精品午夜一区二区三区视频 | 张筱雨裸体视频三级 | 久激情内射婷内射蜜桃人妖 | 免费av手机在线观看 | 国产一区二区三区四区成男人 | 亚洲欧美一区在线观看 | 天堂网视频 | 亚洲欧美日韩在线 | av免费网站观看 | 亚洲精品尤物av在线观看不卡 | 欧美日韩精品人妻狠狠躁免费视频 | 东京热一区二区三区无码视频 | 激情亚洲天堂 | 欧美成人亚洲高清在线观看 | 97日日碰人人模人人澡 | 亚洲综合色在线观看一区 | 色婷婷香蕉在线一区二区 | 天天躁日日躁狠狠躁免费麻豆 | 欧美碰碰| 国产成av人片在线观看无码 | 欧美大屁股xxxx高潮喷水 | 欧日韩无套内射变态 | 97caoporn国产免费人人 | 日本人与黑人做爰视频网站 | 国产精品爆乳在线播放不卡 | 999自拍偷拍| 九九九在线观看视频 | 一区二区三区无码免费看 | 国产一区二区三区四区福利 | 成人久久久精品乱码一区二区三区 | 午夜伦费影视在线观看 | 亚洲日本va中文字幕久久 | 四虎影视8848h | 激情综合婷婷丁香五月俺来也 | 琪琪777午夜理论片在线观看播放 | 欧美综合77777色婷婷 | 亚洲欧美日韩v在线观看不卡 | 少妇白浆高潮无码免费区 | 人妻影音先锋啪啪av资源 | 中文幕无线码中文字蜜桃 | 伊人久久大香线蕉综合色狠狠 | 91免费网站在线观看 | 老头老夫妇自拍性tv | 无码av最新清无码专区吞精 | 中文字幕一区二区人妻 | 在线观看中文字幕视频 | 中出あ人妻熟女中文字幕 | 偷自拍亚洲视频在线观看 | 精品视频一二三区 | 亚洲欧美va在线播放 | 色欲久久人妻内射 | 中文字幕第11页 | 四虎国产在线观看 | 少妇特殊按摩高潮惨叫无码 | 亚洲福利专区 | 亚洲第一视频在线观看 | 亚洲 都市 无码 校园 激情 | 日韩av一区二区三区免费看 | 日本内谢少妇xxxxx8老少交 | 国产xxwwxxww视频 | 99热精品国自产拍天天拍 | 天堂а√在线地址8 | 亚洲电影天堂在线国语对白 | 国产精品女丝袜白丝袜 | 五月开心婷婷六月丁香婷 | 日本黄色中文字幕 | 亚洲最新无码中文字幕久久 | 国产午夜激情视频 | 色中色综合 | 蜜桃传媒av | 日本少妇喂奶视频 | 精品国产av一二三四区 | 日本熟妇人妻xxxxx-欢迎您 | 91精品毛片| 亚洲卡一卡二卡三乱草莓 | 久久精品女人天堂av免费观看 | www.色图| 777777777亚洲妇女 | 日韩高清在线观看 | 成人禁片又硬又粗太爽了 | 91最新视频| av观看免费在线 | 成人aa免费视频在线播放 | 精品久久久久久中文字幕 | jizz视频在线观看 | 国产日韩一区在线 | 最近中文字幕mv在线视频看 | 中文精品一卡2卡3卡4卡 | 婷婷中文 | 操日本老太婆 | 免费国产黄线在线播放 | 中文字日产幕乱码免费 | 一 级 黄 色蝶 片 | 国产欧美熟妇另类久久久 | 久久精品欧美一区二区三区麻豆 | 少妇又紧又色又爽又刺激视频网站 | 午夜av在线免费观看 | 亚洲卡一卡二乱码新区仙踪 | 久久婷婷麻豆国产91天堂 | 国内精品女同女同一区二区三区 | 麻豆精品久久 | 色悠久久久久综合网国产 | 99在线观看精品视频 | 午夜久久乐 | 在线视频 中文字幕 | 无码av高潮喷水无码专区线 | 超碰在线观看免费 | 成人一区二区三区久久精品嫩草 | 国产嫖妓风韵犹存对白 | 高潮呻吟国产在线播放 | 91免费.| 精品无码久久久久久午夜 | 激情91 | 日本网站免费在线观看 | 日一区二区三区 | 午夜小毛片 | 曰韩在线视频 | 成人91免费视频 | 国产精品一卡二卡三卡 | 天天摸天天碰天天添 | 久久久久有精品国产麻豆 | 国产成人精品免高潮在线观看 | 无码一区二区波多野播放搜索 | 7777精品伊人久久久大香线蕉 | 91超碰在线免费 | 久久久久久99| 国产精品成人影院久久久 | 亚洲天天做日日做天天欢 | 全程粗话对白视频videos | 男人扒开女人腿桶到爽免费 | 亚洲熟妇无码八av在线播放 | 又大又长粗又爽又黄少妇毛片 | 国产日本精品视频 | 国产无套精品一区二区 | 一本加勒比hezyo东京图库 | 精品国产乱码91久久久久久网站 | 乱熟女高潮一区二区在线 | 玩弄放荡人妇系列av在线网站 | 欧美成人一区二免费视频软件 | 秋霞无码久久久精品 | 国产一区二区精品免费 | 一级黄色av | 国产美女精品自在线拍免费 | 91综合色 | 激情六月丁香 | 亚洲精品久久久蜜臀 | 欧美日本高清在线不卡区 | 老女人性淫交视频 | 中文字幕+乱码+中文乱码91 | 夜夜爽8888天天躁夜夜躁狠狠 | 日韩中文字幕亚洲精品欧美 | 精品无码日韩国产不卡av | 91最新在线视频 | 国产精品亚洲综合一区二区三区 | 内射人妻无套中出无码 | 亚洲aⅴ无码成人网站国产app | 欧洲熟妇色xxxx欧美老妇老头多毛 | 欧美一区2区三区4区贰佰公司 | 午夜亚洲天堂 | 亚洲大尺度专区无码浪潮av | 西西人体大胆瓣开下部毛茸茸 | 福利一区在线视频 | 久久99国内精品自在现线 | 无码人妻aⅴ一区 二区 三区 | 蜜臀av在线无码国产 | 亚洲成a人片在线观看无码下载 | 亚洲欧美日韩中文在线 | 在线观看片免费人成视频播放 | 国产精品一区二区三区不卡 | 国产91亚洲 | 免费无码av片在线观看潮喷 | 91网站视频在线观看 | 亚洲va欧美va国产综合先锋 | 国产青青视频 | 亚洲区偷拍 | 欧美第十页 | 国产精品久久久久9999高清 | 午夜阳光精品一区二区三区 | 精品精品国产欧美在线小说区 | a视频在线观看免费 | 亚洲女人网 | 国产精品va在线观看无码不卡 | 人妻av中文系列 | 日韩欧美精品一区二区 | 一二三四区无产乱码1000集 | 大陆极品少妇内射aaaaaa | 亚洲 日韩 欧美 有码 在线 | 久久丁香综合 | 欧美视频一区二区三区 | 欧美日韩亚洲一区 | 亚洲色一色噜一噜噜噜 | 人妻久久久精品99系列2021 | 成人av福利 | 欧美激情在线一区 | 中文字幕无码专区人妻系列 | 91视频在线看 | av看片资源 | 五月婷久久| 亚洲精品尤物av在线观看不卡 | 乱人伦人妻中文字幕无码久久网 | 免费三级大片 | 国产精品沙发午睡系列990531 | 亚洲国产成人精品女人久久久 | 日韩97 | 国产精品一区二区免费视频 | 亚洲日韩av一区二区三区四区 | 亚洲精品一二区 | 精品无码午夜福利理论片 | 97碰在线视频 | 丰满少妇女裸体bbw 国产精品成人久久小草 | 无码国产成人久久 | 国产偷久久一级精品60部 | 正在播放国产老头老太色公园 | 少妇被粗大的猛烈进出96影院 | 日韩一区二区三区四区区区 | 久久久久99精品成人片三人毛片 | 在线播放亚洲精品 | 在线免费看av的网站 | 国产一级片免费观看 | 亚欧激情乱码久久久久久久久 | 亚洲欧洲成人 | 懂色av一区二区夜夜嗨 | 又黄又爽又色的免费软件 | 国产精品亚洲欧美中字 | 亚洲福利二区 | 性夜久久一区国产9人妻 | 国产精品9999 | 真实国产乱人伦在线视频播放 | 久久久久有精品国产麻豆 | 亚洲国产成人无码电影 | 亚洲中文字幕无码人在线 | 亚洲偷自拍国综合色帝国 | 自拍亚洲一区欧美另类 | 久久www成人片免费看 | 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲午夜私人影院在线观看 | 老湿机69福利区18禁网站 | 九色pony蝌蚪 | av撸撸网站 | 欧美激情精品久久久久久 | 亚洲一区二区三区成人网站 | 天天天干天天天操 | 国产69精品久久久久人妻 | 国精产品一二三区精华液 | 好紧好爽好湿别拔出来视频男男 | 另类小说五月天 | 亚洲精品国产一区二区小泽玛利亚 | 青草影院内射中出高潮 | 成人免费无遮挡无码黄漫视频 | 国产激情精品视频 | 超碰人人草人人干 | 亚洲成av人影片在线观看 | 欧美 日韩 国产精品 | 日本一道高清一区二区三区 | 久久午夜夜伦鲁鲁片无码免费 | 免费高清毛片无遮挡 | 成人免费大片黄在线观看com | 欧美毛多水多肥妇 | 久久狠狠中文字幕2017 | 国产婷婷色综合av性色av | а√天堂资源中文最新版地址 | 福利片av| 国产亚洲日韩妖曝欧美 | 在线播放国产不卡免费视频 | 中文字幕亚洲欧美 | 高清久久久 | 精品爆乳一区二区三区无码av | 精品无码一区二区三区爱欲九九 | 中文字幕日韩专区 | 久久精品国产亚洲沈樵 | 成人黄色三级视频 | 7777国产欧美日韩亚洲黑人 | 一级片大全 | 欧美国产在线观看 | av熟女人妻一区二区三区 | 五月婷久久综合狠狠爱97 | 97精品免费视频 | 日本伦理一区二区三区 | 麻豆一精品传媒卡一卡二传媒短视频 | 国产清纯美女白浆在线播放 | 久久久久亚洲精品无码系列 | 亚洲最黄网站 | 亚洲欧美日韩另类丝袜一区 | 麻豆一区二区三区精品视频 | 亚洲精品综合第一国产综合 | 色综合色综合色综合色综合 | 高潮白浆潮喷正在播放 | 97国产精品人妻无码久久久 | 婷婷玖玖 | 国产av无码专区亚洲草草 | 天天摸日日操 | 国产成人无码av在线播放无广告 | 精产国品一二三产区9977 | 久草在线视频首页 | 日本猛少妇色xxxxx | 久久久久久欧美精品色一二三四 | 性色av一区二区三区红粉影视 | 一级片毛片 | 久久久国产精品免费 | av不卡在线 | 精品亚洲一区二区三区四区五区 | 亚洲人成网站18禁止久久影院 | 综合国产精品 | 在线视频一区二区 | 九九夜| 色女孩综合 | 精品www久久久久久奶水 | 久色国产 | 曰本大码熟中文字幕 | 97精品视频 | 精品国产九九 | 久久精品国产大片免费观看 | 日日摸日日踫夜夜爽无码 | 女性无套免费网站在线看动漫 | 久久国产精品2020免费 | 国产欧美又粗又猛又爽老小说 | 成人午夜看黄在线尤物成人 | 人妻 日韩 欧美 综合 制服 | 四虎海外永久 | 欧美色偷拍 | 粉嫩av久久一区二区三区小说 | 欧美日韩免费一区二区三区 | 色中文字幕在线观看 | 国产自产v一区二区三区c | 人操人人| 欧美在线一区二区三区 | 国产在线精品一区二区三区不卡 | 欧美永久视频 | 精品国产精品久久一区免费式 | 青草影院内射中出高潮-百度 | 久久久久人妻一区精品色 | 嘿咻免费视频观看午夜 | 亚洲国产精品色一区二区 | 欧洲亚洲国产成人综合色婷婷 | 久久婷五月综合 | 亚洲砖区免费 | 97性无码区免费 | 激情婷婷综合网 | 开心激情av | 亚洲啪| 在线视频18在线视频4k | 日本视频免费播放 | 小宝贝荡货啊用力水湿aⅴ视频 | 日本二区久久 | 亚洲激情图片网 | 国产一区视频免费观看 | 寡妇高潮一级片 | 无码人妻一区二区三区免费看 | 不卡的av片| 欧美国产一区二区三区激情无套 | 大片在线免费观看 | 九九99精品久久久久久综合 | 一边摸一边抽搐一进一出口述 | 亚洲а∨天堂2019无码 | 亚洲精品成人av | 国产精品亚洲二区在线看 | 91男人影院 | 中文字幕无码精品亚洲资源网久久 | 中文字幕熟妇人妻在线视频 | 日韩二区三区 | 天天综合网国产 | 国产成人精品免费视频大 | 天啪| 国产又粗又硬又大爽黄老大爷视频 | 97人人揉人人捏人人添 | yy成人综合网 | 久久狼人大香伊蕉国产 | 久久久久国产精品一区 | 国产又黄又爽又色的免费视频 | 午夜成年人视频 | 99综合在线 | 国产中文一区二区 | 久久免费视频一区二区 | 日韩精品成人一区二区三区 | heyzo高清国产精品 | 久久男人av资源站 | 精品国产乱码久久久久禁果 | 中文人妻无码一区二区三区 | 人人妻人人妻人人人人妻 | 日本精品久久久久久久 | 色视频一区二区 | 午夜福利18以下勿进免费 | 亚洲不乱码卡一卡二卡4卡5卡 | 日韩第一页 | 嫩草影院懂你的影院 | 欧美三日本三级三级在线播放 | 国产黄色大全 | 国产在线拍揄自揄拍无码视频 | 在线观看国产91 | 午夜va | 中国黄色一级片 | 中文字幕,久热精品,视频在线 | 7777欧美成是人在线观看 | 欧美久久一区二区 | 欧美巨鞭大战丰满少妇 | 又爽又黄禁片视频1000免费 | 色小说在线 | 免费无码av一区二区 | 成年女人黄网站色视频免费97 | 成年无码av片在线免缓冲 | 欧美人与动牲交免费观看视频 | 亚洲精品无码一二区a片 | 丁香五月缴情综合网 | av网址免费| 高清无码午夜福利在线观看 | 亚洲精品国偷拍自产在线麻豆 | av首页在线观看 | 亚洲一区二区三区在线观看精品中文 | 级r片内射在线视频播放 | 亚洲福利影片在线 | 国产精品福利一区二区久久 | 久久久99国产精品免费 | 国产一区二三区 | 日韩国产第一页 | 九九热8 | 亚洲日韩av无码中文 | 国产精品青青在线观看爽 | 欧美三级理论片 | 国产精品亚洲专区无码不卡 | 亚洲午夜成人久久久久久 | 天天躁日日躁狼狼超碰97 | 国产亚洲久一区二区 | 久久免费看 | 真实国产老熟女无套中出 | 国产精品视频露脸 | 欧洲精品卡一卡二卡三 | 亚洲精品成a人在线观看 | 国产毛片a| 婷婷五情天综123 | 天天舔天天操 | www国产一区 | 99产精品成人啪免费网站 | 91国产在线视频在线 | 天堂网最新网址 | 18禁免费无码无遮挡网站 | 国产v在线播放 | 国产真实乱子伦视频播放 | 欧美亚洲另类综合 | 免费三级网 | 影音先锋人妻av中文字幕久久 | 高中生粉嫩无套第一次 | 亚洲综合国产一区二区三区 | 男女激情爽爽爽免费视频 | 黄色一级免费网站 | 午夜视频在线观看一区 | 国产一级桃视频播放 | 久久精品国产亚洲沈樵 | 成人国产精品入口 | 小雪奶水涨叫公吸 | 美妇颤抖双乳呻吟求欢视频 | 中文字幕久热精品视频在线 | 美女裸奶100%无遮挡免费网站 | 狠狠亚洲婷婷综合色香五月 | 女人18毛片一区二区三区 | 中文无码日韩欧 | 亚欧洲精品在线视频 | 中文字幕无码中文字幕有码a | 香蕉久久视频 | 亚洲精品视频在线观看免费视频 | 国产精品yy| 人人干夜夜操 | 久久午夜夜伦鲁鲁片免费无码 | 日本少妇久久久 | 噜噜噜av久久 | 午夜影视网| 色妞色视频一区二区三区四区 | 国产毛片在线视频 | 亚洲精品国产一区二区 | 亚洲自偷自偷在线成人网站传媒 | 亚洲男女羞羞无遮挡久久丫 | 日韩一级片中文字幕 | 亚洲国产一区视频 | 久久综合一区二区 | 成人乱码一区二区三区四区 | 国外国内精品国产成人国产三级 | 黄色一级片免费看 | 超碰人人超碰 | 欧美亚洲自偷自偷图片 | 日日日日干 | 小小拗女性bbwxxxx国产 | 亚洲日本天堂 | 精品亚洲国产成人蜜臀优播av | 国产成人精品午夜福利软件 | 亚洲日本视频在线观看 | 国产区精品一区二区不卡中文 | 国产精品久久久久无码av色戒 | 影音先锋日韩精品 | 97se狠狠狠狠狼鲁亚洲综合色 | 欧美日韩精品一区二区视频 | 人妻激情乱人伦 | 亚洲成av人片高潮喷水 | 97精品国产自产在线观看永久 | 色老99久久九九爱精品 | 欧美精品乱码99久久蜜桃 | 操碰人人 | 777天堂麻豆爱综合视频 | 国产成人精品一区二三区 | 亚洲精品影院 | 性一交一乱一伦在线播放 | 中国少妇内射xxxxⅹhd | 久久精品国产99精品国产2021 | 玩弄丰满熟妇xxxxx性视频 | 亚洲福利在线观看 | 天天爽夜夜爽人人爽免费 | 国语对白av| 九九99久久精品在免费线18 | 无码国产色欲xxxx视频 | 娇小萝被两个黑人用半米长 | 不卡的av在线免费观看 | 欧美午夜精品久久久久免费视 | 中文字幕在线观看网 | 色午夜一av男人的天堂 | 人成午夜大片免费视频77777 | 韩国久久久 | 亚洲性图av | 无码专区无码专区视频网站 | 精品人妻中文无码av在线 | 亚洲一区二区三区四区五区午夜 | 日本丰满少妇一区二区三区 | 午夜福利电影网站鲁片大全 | 成人a视频在线观看 | 日本少妇bbwbbw精品 | 干在线视频| 2020国产激情视频在线观看 | 欧美色呦呦 | 好疼太大了太粗太长了视频 | 奇米影视888 | 亚洲综合自拍网 | 午夜国产成人 | 国内精品一区二区福利视频 | 精品国产成人a区在线观看 性欧美丰满熟妇xxxx性5 | 人妻少妇久久中文字幕一区二区 | 最近中文字幕mv在线视频看 | 五月婷婷开心网 | 婷婷亚洲精品 | 999zyz玖玖资源站在线观看 | 超清纯白嫩大学生无码网站 | 欧美久久久久久久久 | 91精品国产视频 | 国产成人a∨激情视频厨房 国产成人精品无码一区二区老年人 | 风流少妇bbwbbw69视频 | 欧美精品高清在线观看 | 国产清纯美女遭强到高潮 | 亚洲第一综合天堂另类专 | 少妇av一区二区三区无码 | 污污视频在线观看网站 | 好吊色综合 | 成人在线网站观看 | 黑人巨大精品欧美一区二区小视频 | 四虎影院8848 | 丰满大乳少妇毛片视频 | 激情网页 | 青青草最新网址 | 日本少妇被黑人猛cao | 日韩精品人妻中文字幕有码 | 青青草国产精品久久久久 | 男女69式互吃动态图在线观看 | 欧美性做爰片免费视频看 | 人人妻人人添人人爽欧美一区 | 亚洲天堂少妇 | 国内少妇人妻丰满av | 久久成人国产精品入口 | 深夜激情视频 | 久久国内精品自在自线400部 | 无遮挡又爽又刺激的视频 | 欧洲av一区 | 国产91丝袜在线播放九色 | 国产精品成人网站 | 狠狠干一区二区 | 国产欧美激情日韩成人三区 | 久久人午夜亚洲精品无码区 | av网站观看| 越南女子杂交内射bbwbbw | 国产视频观看 | 天堂久久爱 | 欧美色aⅴ欧美综合色 | 中文字幕在线播出 | 国产精品日日摸夜夜摸av | av无码久久久久不卡网站下载 | 色牛影视 | 国产爽视频在线观看视频 | 国产精品不卡视频 | 亚洲综合色婷婷六月丁香宅男大增 | 亚洲亚洲中文字幕无线码 | 中文字幕av一区 | 久久婷婷五月综合97色 | 欧美一区二区视频三区 | 欧美三级精品 | 性一交一乱一乱视频 | 日韩亚洲精品在线 | 亚洲综合av在线在线播放 | 真实国产乱子伦对白视频不卡 | 国产开嫩苞实拍在线播放视频 | 又色又爽又黄18禁美女裸身无遮挡 | 色爱av综合网站 | 蜜臀av 国内精品久久久 | 干b在线 | 高清国产一区二区三区在线 | 精品无码国产自产拍在线观看蜜 | 免费女人18a级毛片视频 | 熟女系列丰满熟妇av | 欧美精品亚洲日韩aⅴ | 中文区永久区 | 国产精品区一区二区三在线播放 | 亚洲老女人视频 | 好吊操这里有精品 | 国产专区视频 | 欧美黑人又粗又大又爽免费 | 久久综合五月丁香六月丁香 | 日韩视频在线观看网站 | 日韩第一页在线观看 | 亚洲国产无套无码av电影 | 中文久久乱码一区二区 | 国产女大学生av | 国产精品嫩草影院com | 亚洲天堂成人在线观看 | 亚洲自拍偷拍网 | 米奇欧美777四色影视在线 | 欧美日韩福利 | 狼人综合色 | 国产欧美日韩综合精品二区 | 国产成人无码精品一区二区三区 | 亚洲愉拍自拍欧美精品app | 久久久精品国产免费观看一区二区 | 亚洲午夜久久久无码精品网红a片 | 久久久免费无码成人影片 | 欧美一级xxxx | 免费国产一二三区四区乱码 | 国产老熟女网站 | 91九色蝌蚪成人 | 日日摸日日碰人妻无码老牲 | 久久婷婷五月综合97色 | 人妻av资源先锋影音av资源 | 岛国精品一区免费视频在线观看 | 久久爱www免费人成av | 国产视频在线免费 | 国产成人无码h在线观看网站 | 精品免费一区 | 国产亚洲成人精品 | 成人精品av一区二区三区 | 久久婷婷五月国产色综合 | 伊人久久综合精品无码av专区 | av播放网址| 欧洲 亚洲 国产图片综合 | 在线观看免费无码专区 | 久草大 | 人妻少妇伦在线无码专区视频 | 在线观看黄色大片 | 国产毛片毛片 | 天天做天天摸天天爽天天爱 | 中文字幕丰满人伦在线 | 超碰综合在线 | 国内久久婷婷五月综合欲色广啪 | 国产日产欧产精品精品软件 | xxx一区 | 亚洲欧美人色综合婷婷久久 | 黄色特一级片 | 亚洲国产成人一区二区三区 | 亚洲爱| 三级黄网站 | 香蕉视频一区二区三区 | 国产av无码专区亚洲a∨毛片 | 99在线精品国自产拍中文字幕 | 亚洲综合a | 免费无码av片在线观看网址 | 中文字幕在线观看精品 | 屁屁国产草草影院ccyycom | 免费的大尺度在线观看网站 | 80s毛片| 欧美在线免费观看 | 日本永久免费啪啪网站 | 久久成人亚洲香蕉草草 | 亚洲精品a | 日本免费人成视频播放 | 成人免费精品动漫网站 | 国产美女视频免费观看的网站 | 国产十八禁啪啦拍无遮拦视频 | 狂野欧美性猛xxxx乱大交 | 久久www免费人成看片高清 | 欧美成人片一区二区三区 | 深夜av在线播放 | 最新中文字幕在线 | 国产又色又爽又黄又免费 | 不卡av免费观看 | 国内盗摄国产盗摄av | 在线观看视频中文字幕 | 丰满少妇高潮惨叫久久久一 | 在线天堂资源www | 久久国产视频网站 | 在线日本国产成人免费不卡 | 成人综合婷婷国产精品久久 | 一级片在线观看免费 | 欧美成人高清视频a在线看 国产精品一区饥渴老女人 女人被躁到高潮嗷嗷叫免费 | 亚洲欧美v | 午夜成人性刺激免费视频在线观看 | 九九热8| 男人阁久久 | 91精品视频在线免费观看 | 日本高清www午色夜com | 北条麻妃一区二区在线观看视频 | 久久香蕉综合色一综合色88 | 在线激情网 | 中文字幕23| 久久免费看毛片 | 九九re6热在线视频精品66 | 中文字幕日韩一区二区不卡 | 欧美aaaaa视频 | 天天搞av| 亚洲情网站 | 噜噜噜久久久 | 国产精品久久久久久久久久尿 | 亚洲色欲色欲77777小说网站 | 在线不卡av片免费观看 | 成人网战 | 中文字幕一区日韩精品欧美 | 亚洲黄色免费观看 | 欧美在线观看视频一区二区 | 国产又粗又硬又爽 | 综合激情久久 | 久久伊人色av天堂九九小黄鸭 | 精品福利一区二区三区 | 天天射天天操天天干 | 亚洲啪啪少妇裸体艺术 | 男人边吃奶边做呻吟免费视频 | 德国毛片 | www夜色| 欧美丰满高潮xxxx喷水动漫 | 熟妇人妻系列av无码一区二区 | 欧美日韩高清 | 婷婷777| 亚洲精品中文字幕一区二区三区 | 色五月丁香五月综合五月亚洲 | 草草影院欧美 | 免费观看无遮挡www的视频 | 一区三区在线专区在线 | 人妻中出受孕 中文字幕在线 | 欧美精品啪啪 | 手机看片福利永久 | 精品国产高清自在线一区二区 | 午夜成人福利片无码 | 精品黑人一区二区三区久久 | 国产精品高潮呻吟伦理之爱欲 | 国产精品无码无片在线观看 | 久久精品99久久香蕉国产色戒 | 中文字幕大桥未久. | 狠狠操精品 | 涩涩网站在线看 | 亚洲人成网站在线播放小说 | 国产精品扒开腿做爽爽爽a片唱戏 | 国产精品免费久久久久久久久久中文 | 伊人55 | av最新资源 | 亚洲精品成av人片天堂无码 | 欧美国产中文在线字幕视频 | 扒开腿狂躁女人爽出白浆 | 久久这里只有免费精品6www | 九色伊人 | 91美女免费看 | 亚洲揄拍窥拍久久国产自揄拍 | 亚洲中文字幕乱码av波多ji | 2020精品国产午夜福利在线观看 | 亚洲 欧美 中文 日韩 综合 | 色男人网| 国产av明星换脸精品网站 | 中文字幕不卡视频在线观看 | 日本瑟瑟网站 | 肉嫁高柳动漫在线观看 | 成人小视频在线 | 91国视频 | 91欧美在线 | 亚洲中文字幕日本在线观看 | 欧美天天干 | 精品人妻系列无码专区 | 老司机亚洲精品影院 | 国产女人抽搐喷浆视频 | 国产乱码精品一区二区三区av | 香蕉久久夜色精品国产尤物 | 亚洲爆乳成av人在线视水卜 | 中国毛片免费观看 | 久久丫精品忘忧草西安产品 | 波多野结衣乱码中文字幕 | 精品亚洲成a人在线观看青青 | 色av永久无码影院av | 91高清在线观看 | 玩弄japan白嫩少妇hd小说 | аⅴ天堂中文在线网 | 东京热无码av男人的天堂 | 孕妇丨91丨九色 | 国产精品久久亚洲不卡 | 五月天丁香网 | 超级大爆乳奶牛被调教出奶水 | 国产揄拍国产精品人妻蜜 | 免费人成网站视频在线观看国内 | 欧美伦理第一页 | 亚洲欧美在线制服丝袜国产 | 久久中文在线 | 欧美高清视频一区二区 | 国色精品无码专区在线不卡 | 日本一二三不卡视频 | 日韩av一中美av一中文字慕 | 国产3p露脸普通话对白 | 中文字幕在线观看视频免费 | 一区二区三区av波多野结衣 | 午夜影院美女 | 欧美成人精品在线 | 国产日韩欧美不卡 | 久久精品亚洲一区二区三区浴池 | 超碰资源在线 | 中国一级特黄真人毛片免费观看 | 国内精品一区二区三区 | 国内精品自线一区二区三区 | 国产超碰97人人做人人爱 | 尤物精品资源yw193网址 | 亚洲成人一区二区三区 | 日本xxxx丰满人妖学校 | 精品久久久久久人妻无码中文字幕 | 欧美成人免费全部网站 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产无遮挡裸体免费久久 | 欧美色aⅴ欧美综合色 | 亚洲综合网在线观看 | 国产精品久久久久影院色 | 5个黑人躁我一个视频 | 亚洲精品一级二级 | 激情五月色综合国产精品 | 波多野结衣视频一区二区 | 精品国产乱码久久久久久老虎 | 欧美 国产 综合 欧美 视频 | 免费无码又爽又刺激高潮的动态图 | 中文字幕7| mm131美女大尺度私密照尤果 | 久久婷婷五月综合鬼色 | 精品免费久久久久久久 | 国产第二页 | 日本真人边吃奶边做爽动态图 | 99久久精品国产一区二区三区 | 视频在线国产 | 欧美黑人巨大videos极品 | 狠狠操狠狠操狠狠操 | 国产欧美一区二区精品久导航 | 国产三级午夜理伦三级连载时间 | 99久久国产综合精品女同 | 少妇人妻久久无码专区 | www.亚洲视频.com | 激情春色网 | 一级黄色欧美 | 久久人妻av中文字幕 | 黄色毛片视频在线观看 | 国产对白刺激真实精品91 | 久久国产精品老女人 | 日韩欧美不卡视频 | 女人与拘做受全过程免费视频 | 亚洲欧美日韩国产综合v | 亚洲欧美在线精品 | 天堂色网 | 天天上天天干 | 久久人妻无码中文字幕 | 亚洲黄在线 | 国产欧美高清在线观看 | 一本色道无码道在线观看 | 国产白浆一区二区三区 | 国产精品色午夜免费视频 | 国产无套喷白浆在线播放 | 久久精品国产精品亚洲色婷婷 | 极品尤物被啪到呻吟喷水 | 天天摸天天看天天做天天爽 | 国产成人综合一区人人 | 国产精品久久99综合免费观看尤物 | 亚洲精品国产综合99久久一区 | 色婷婷色丁香 | 日韩精品无码久久一区二区三 | 欧美一区二区三区在线视频观看 | 视频一区二区三区在线 | 久久精品亚洲乱码伦伦中文 | 最新国产精品精品视频 | 欧美人与性动交ccoo | 成人毛片100部免费看 | 亚洲欧洲成人精品av97 | 国产第一页视频 | 九九热在线观看视频 | 国产乱女乱子视频在线播放 | 国产韩国精品一区二区三区久久 | 人妻熟女少妇一区二区三区 | 亚洲 欧美 综合 | 精品国产一区二区三区不卡在线 | 四十路息与子中文字幕 | 婷婷一区二区三区 | 亚洲精品国产精品乱码不99按摩 | 天天好逼综合 | 婷婷久久综合网 | 国产无遮挡猛进猛出免费软件 | 中文精品一区 | 国产精品无需播放器在线观看 | 国产资源在线观看 | 婷婷天堂 | 91tv亚洲精品香蕉国产一区 | 一级老太婆bbb视频bbb | 国产精品成人永久在线四虎 | 99久久久无码国产精品古装 | 亚洲乱亚洲乱妇小说网 | 精品成人av一区二区三区 | 日本肉体xxⅹ裸体交 | 精品国产_亚洲人成在线 | 成年女人看片永久免费视频 | 国产国产国产国产系列 | 国产精品一区二区三区久久 | 亚洲第99页| 91丨国产丨白丝 | 日韩a人毛片精品无人区乱码 | 91久久精品国产亚洲a∨麻豆 | 手机在线亚洲国产精品 | 午夜阳光精品一区二区三区 | 欧美在线xxx | 对白超刺激精彩粗话av | 国产99视频精品免费专区 | 日产有线一区2区三区 | 中国少妇xxxx做受视频 | 亚洲人精品亚洲人成在线 | 5566成人精品视频免费 | 人妻三级日本香港三级极 | 日韩专区欧美专区 | 国产乱淫av麻豆国产 | 久久精品99国产国产精 | av最新网址 | 国产一区美女 | 亚洲精品美女久久17c | 双腿张开被9个黑人调教影片 | 精品露脸国产偷人在视频 | 97香蕉久久超级碰碰高清版 | 国内老熟妇对白xxxxhd | a男人天堂| 丰满少妇人妻hd高清果冻传媒 | 国产欧美日韩高清在线不卡 | 亚洲欧美另类精品二区 | 亚洲国产精品线久久 | av中文无码乱人伦在线观看 | 国产成人无码a区在线观看导航 | 狠狠操夜夜操天天操 | 69视频在线免费观看 | 欧美呦交 | 天天激情综合 | 狠狠操天天干 | 天天躁日日躁很很很躁 | 五月婷婷综合在线观看 | 午夜色大片在线观看 | 久久人妻无码aⅴ毛片a片直播 | 亚洲热妇无码av在线播放 | 亚洲精品国产福利 | 97国产高清dvd | 亚洲高清揄拍自拍午夜婷婷 | 国产精品中文字幕在线观看 | 欧美人与动牲交欧美精品 | 少妇av中文字幕 | 欧美人与动牲交app视频 | 妖精色av无码国产在线看 | 国产自偷亚洲精品页65页 | 91丨porny丨国产入口 | 精品久久久久久无码中文字幕一区 | 91av在线播放视频 | а√8天堂中文官网资源 | 蜜桃久久av | 国产av亚洲aⅴ一区二区 | 亚洲国产精品一区二区久久hs | 欧美 日韩 亚洲 一区 | 欧美性猛交xxxxx少妇 | 国产18页 | 亚洲色网址 | 性生活一区 | 国产精品亚洲产品一区二区三区 | 连续高潮抽搐爽死喷水流白浆 | 97国产高清dvd | 亚洲国产精品国语在线 | 国产精品h片在线播放 | 国产一卡2卡三卡4卡 在线观看 | 久久作爱 | 青青草伊人久久 | 久久精品人成免费 | 人妻精品久久久久中文字幕 | 一区二区三区高清视频一 | 亚洲成色最大综合在线 | 妺妺窝人体色777777 | 一区二区三区黄色录像 | 日日射射| 狠狠躁日日躁夜夜躁av | aaa亚洲精品一二三区 | 亚洲中文久久精品无码ww16 | 人妻人人澡人人添人人爽人人玩 | 亚洲-av-无限看 | 92电影网午夜福利 | 国产精品18hdxxxⅹ在线 | 亚洲无人区一区二区三区 | 午夜福利1000集在线观看 | 依依激情网| 国产三级午夜理伦三级 | 上海少妇和黑人老外做爰 | 亚洲乱妇熟女爽到高潮的片 | 欧美日韩久久久久久 | 黄色一视频 | 天天操操操操操操 | 欧美性xxxxx极品少妇 | 欧美激情视频免费在线观看 | 国产xxxxx在线观看 | 中文字幕在线亚洲精品 | 中文字幕一区二区免费 | 无码国产69精品久久久久网站 | 国产一区二区三区在线观看免费 | 国产免费永久精品无码 | 一本大道东京热无码av | 99中文字幕在线观看 | 欧美人与禽2o2o性论交 | 久久国产乱子伦精品免费午夜 | 99视频在线免费观看 | 狠狠做深爱婷婷综合一区 | 国产精品国产三级国产an | 久久精品h| 国产69精品久久久久久野外 | 久久毛片视频 | 中文字幕一区二区三区波多野结衣 | 国产精品自在在线午夜精华在线 | 日本xxxx在线观看 | 国模无码大尺度一区二区三区 | 天天精品在线 | 另类综合视频 | 久久影院午夜伦手机不四虎卡 | 爱情岛论坛亚洲品质自拍网址 | 欧美成人看片一区二区三区尤物 | 一级一片免费观看 | 天天干天天噜 | 国产大片中文字幕 | 99热这里精品 | 国产骚熟 | 很黄很黄让你高潮视频 | av狠狠操 | 亚洲欧美不卡高清在线观看 | 欧美极品少妇xxxxⅹ | 免费视频99 | 国产日韩制服丝袜第一页 | 九一亚洲精品 | 国产成人精品久久二区二区91 | 久久久成人精品av四区 | 一本色道无码道dvd在线观看 | 日韩欧美中文字幕在线播放 | 伊人久久大香线蕉av网禁呦 | 天天干在线影院 | 大粗鳮巴久久久久久久久 | 青青久草| 精品国产一区二区三区av片 | 手机看片国产 | 大人和孩做爰av | 亚洲精品久久久久中文字幕一区 | 日韩黄色在线 | 影音先锋在线亚洲网站 | 91精品国产91久久综合桃花 | 成年美女黄网站色大片免费软件看 | 欧美肥胖老太vidio在线视频 | 少妇精品一区二区 | 国产亚洲精品a在线观看 | 国产精品视频一二区 | 国产寡妇婬乱a毛片视频 | 免费国产裸体美女视频全黄 | 午夜蜜桃视频 | 色av综合 | 精品久久久久久久人人人人传媒 | 狠狠干在线观看 | 中文字幕亚洲色妞精品天堂 | 国产欧美亚洲一区二区 | 国语自产免费精品视频在 | 天天狠狠色噜噜 | 超薄肉色丝袜足j调教99 | 日韩五十路| 性猛交ⅹxxx富婆视频 | 337p大胆啪啪私拍人体 | 免费看国产成年无码av片 | 国产精品人妻在线观看 | 四虎免费网站 | 亚洲乱人伦中文字幕无码 | 青青青免费在线视频 | 人人爽人人爽人人片a | 国产精品99久久免费观看 | 国产绿帽刺激高潮对白 | 四虎性视频 | 99久久精品国产一区二区三区 | 天天干少妇 | 蜜桃视频成人在线观看 | 国产喷白浆精品一区二区豆腐 | 午夜视频入口 | 久久久久久久久久久久 | 天堂国产在线 | 激情宗合网 | 日本美女高潮视频 | 性日本xxx | 成年人黄色在线观看 | 一卡二卡3卡四卡网站精品 国产精品成人国产乱一区 日本a级免费 | 日本黄漫动漫在线观看视频 | 久久久www成人免费精品张筱雨 | 久久精品第九区免费观看 | 天天国产视频 | 全黄h全肉短篇禁乱男男第一次 | 五月激情六月综合 | 国产三级精品三级在线专区1 | 中文屏幕乱码av | 1024在线播放 | 天天躁夜夜躁狠狠躁 | 日韩欧美a级v片免费播放 | 欧美性猛交xxx嘿人猛交 | 午夜精品久久久久久久久久 | 极品美女高潮呻吟国产剧情91 | 女人的天堂网站 | 国产成人亚洲综合精品 | 亚洲男人a在天堂线一区 | 亚洲国产制服丝袜高清在线 | 国产精品自在线拍国产手机版 | 亚洲人免费视频 | 亚洲视频综合 | 国产农村熟妇videos | 动漫3d精品一区二区三区乱码 | 久久精品人人做人人综合 | 狠狠躁夜夜躁人人躁婷婷 | 色姑娘综合 | 九九热视频在线免费观看 | 中文字幕精品av一区二区五区 | 欧美精品久久一区 | 青青国产揄拍视频在线观看 | 农村妇女毛片精品久久久 | 成年人在线免费观看av | 亚洲精品第一国产综合国服瑶 | 少妇一级淫片高潮性生活 | 成人你懂的 | 日本中文字幕视频在线 | 性做爰高清视频在线观看视频 | 无码专区—va亚洲v专区vr | 一本久道视频无线视频 | 久久精品国产精品青草 | 亚洲不卡一区二区三区 | 久久婷婷国产综合精品 | 在线观看色网 | 波多野结衣av一区二区三区中文 | 春宵福利网站 | 国产精品偷伦视频免费观看了 | 超碰97人人做人人爱综合 | 人妻在客厅被c的呻吟 | 综合国产一区 | 国产9 9在线 | 免费 | 国产一区二区精品丝袜 | 亚洲精品99久久久久久欧美版 | 久久久久99精品久久久久 | 四虎影院视频 | 秋霞电影网午夜鲁丝片无码 | 狠狠色依依成人婷婷九月 | 午夜久草| 亚洲中文字幕无码永久在线 | 欧美精品日日鲁夜夜添 | 亚洲午夜久久久久妓女影院 | 国产国产精品人在线观看 | 黄又色又污又爽又高潮 | 自拍偷区亚洲综合美利坚 | 一区二区三区精品视频日本 | 91国产丝袜脚调教 | 熟女少妇色综合图区 | 青春草视频在线免费观看 | 欧洲乱码伦视频免费 | 国产免费无码一区二区视频 | 奇米影视色777四色在线首页 | 欧美色国| 爱色视频| 极品魔鬼身材女神啪啪96 | 日本高清中文字幕在线观线视频 | 成年女性特黄午夜视频免费看 | 秋霞欧美在线观看 | 久国产视频 | 熟妇人妻无乱码中文字幕真矢织江 | 性高潮久久久久久久久 | 日产乱码一区二区三区在线 | 少妇bbw揉bbb欧美 | 一级特黄色毛片 | 国产精品久久久久潘金莲 | 久久久看片 | 欧美囗交做爰视频 | 国产一区二区三区 | 亚洲精品456在线播放牛牛影院 | 亚洲老妇色熟女老太 | 国产欧美一区二区精品性 | 亚洲欧美中文字幕无线码 | 精品久久久久久无码人妻蜜桃 | 毛片毛片免费看 | 亚洲无线一二三四区手机 | 亚洲激情在线 | 美艳麻麻诱子乱小说 | 亚洲欧美日韩成人高清在线一区 | 97视频人人 | 亚洲欧美日韩一区二区三区四区 | 放几个免费的毛片出来看 | 99久久久久久 | а√天堂中文在线资源8 | 国语对白在线播放 | 永久免费无码国产 | 视频一区在线观看 | 日本免费在线 | 在线mm视频 | 日韩毛片在线视频x | 韩国精品一卡2卡三卡4卡乱码 | 国产成人高清精品免费软件 | 国产又粗又猛大又黄又爽 | 中文字幕av亚洲精品一部二部 | 日本熟妇人妻xxxxx视频 | 天天躁夜夜躁狠狠眼泪 | 国产精品18久久久久久首页狼 | 欧美性大战xxxxx久久久√ | 在线观看精品视频网站 | 久久国产精品波多野结衣av | 欧美毛片在线观看 | 网曝91综合精品门事件在线 | 久久久久久91亚洲精品中文字幕 | 久久精品噜噜噜成人 | 国产极品免费 | 欧美亚洲国产精品久久高清浪潮 | 欧产日产国产精品 | 精品中文字幕在线播放 | 成人性视频欧美一区二区三区 | 天堂一区二区mv在线观看 | 免费男人和女人牲交视频全黄 | 色久视频 | 91伊人久久 | 日本va欧美va国产激情 | 老牛影视免费一区二区 | 国产成人精品亚洲日本在线 | 天堂mv在线mv免费mv香蕉 | 日a在线| 日本中文字幕有码在线视频 | 麻豆一区二区三区蜜桃免费 | 在线天堂最新版资源 | 91手机在线观看 | 神马香蕉久久 | 国产激情з∠视频一区二区 | 久久久一本精品99久久精品66 | 亚洲精品第一国产综合精品 | 国产69精品久久久久9999不卡免费 | 国产成人无码av在线影院 | 乌克兰少妇xxxx做受 | 国产乱子伦精品免费无码专区 | 色欲av永久无码精品无码蜜桃 | 天天干天天操av | 女同亚洲一区二区无线码 | 亚洲人成色777777精品音频 | 女人19水真多免费毛片 | 欧美亚洲综合另类 | 午夜性色一区二区三区不卡视频 | 在线观看黄a∨免费无毒网站 | 天天午夜 | 国产精品女视频一区二区 | 4虎影院在线观看 | 亚洲国产综合另类视频 | 爽爽影院免费观看视频 | 日日摸夜夜摸狠狠摸婷婷 | 欧美人狂配大交3d怪物一区 | 精品国产一区二区三区四区阿崩 | 国内激情av片| 无码中文av有码中文av | 亚洲成av人片在线观高清 | 亚洲aⅴ天堂av天堂无码app | 未满十八18禁止午夜免费网站 | 日本体内she精高潮2 | 国产精品国产三级在线专区 | 992tv在线观看 | 天海翼激烈高潮到腰振不止 | 在线无码va中文字幕无码 | 国产高清吃奶成免费视频网站 | 国产99久久久欧美黑人刘玥 | 在线高清国语成人网站 | 中字幕视频在线永久在线观看免费 | av一级免费 | 成人深夜免费视频 | 国内精品少妇在线播放 | 亚洲一区二区三区自拍天堂 | 欧美大胆性生话 | 国产精品欧美久久久久一区二区 | 欧美精品四区 | 亚洲欧美激情另类 | 视频一二区 | 欧美国产日韩一区二区三区 | 搡女人真爽免费视频网站波兰美女 | 国产精品69人妻我爱绿帽子 | 五月天色综合 | 欧美另类高清zo欧美 | 国模国产精品嫩模大尺度视频 | 亚洲欧美视频一区 | 健美运动员性猛交xxxxx | 免费做爰在线观看视频妖精 | 51被公侵犯玩弄漂亮人妻 | 亚洲伊人中文字幕 | 天天舔天天操天天射 | 国产成人福利在线 | 少妇人妻偷人精品无码视频 | 亚洲日本中文字幕乱码在线电影 | 综合久久91 | 国产精品高潮呻吟av久久男男 | 国产成人无码va在线播放 | 97se色综合一区二区二区 | 丰满人妻无码∧v区视频 | 福利片一区二区三区 | 巨熟乳波霸若妻在线播放 | 亚洲自拍偷拍网 | 九色精品国产成人综合网站 | 成人免费公开视频 | 日韩成人av网址 | 无码人妻精品一区二区三区久久久 | 手机看片369 | 亚洲图片欧美另类 | 18禁成人黄网站免费观看 | 久草在线视频在线观看 | 性一交一乱一色一视频 | 一区二区三区免费在线视频 | 艳妇乳肉豪妇荡乳av | www.国产二区 | 午夜专区| 亚洲精品久久久久久久不卡四虎 | 亚洲国产成人爱av网站 | 色导航在线| 四虎免费在线观看 | 日产一区日产2区 | 久久av一区二区三区亚洲 | 欧美理论影院 | 久久99国产精品久久99果冻传媒新版本 | 丁香花免费高清视频在线观看 | 日韩不卡1卡2卡三卡网站 | 最新欧美激情-推荐欧美激情 - 右手影院 | 日本不卡视频一区二区 | 国产婷| 国产aⅴ人妻互换一区二区 亚洲网视频 | 成人婷婷网色偷偷亚洲男人的天堂 | 日本老熟妇乱子伦精品 | 国产男人的天堂在线视频 | 国产日产欧洲无码视频无遮挡 | 欧美jizz40性欧美 | a级毛片免费观看视频 | 人妻无码一区二区19p | 2021精品亚洲中文字幕 | 午夜性刺激在线观看 | 亚洲毛片在线免费观看 | 色五月丁香六月欧美综合 | 欧洲卡一卡二卡三爱区 | 三级成年网站在线观看级爱网 | 美女被抽插到哭内射视频免费 | 十八岁以下禁止观看黄下载链接 | 91直接看 | 国产视频不卡一区 | 英语老师丝袜娇喘好爽视频 | 精品无码久久久久久尤物 | 97人妻无码免费专区 | 亚洲黄色自拍 | 欧美高清日韩 | 国产欧美一区二区三区在线播放 | 国产色欲av一区二区三区 | 狠狠干综合| 欧美网站在线 | 中文无码高潮到痉挛在线视频 | 国产精品青青在线观看爽香蕉 | 亚洲国产精品久久久久网站 | 亚洲一区二区三区四区五区高 | 一区二区三区免费在线观看 | 国产一级片在线播放 | 免费乱理伦片在线观看八戒 | 综合天天色 | 欧美一级网 | 国产一级一级片 | 日韩亚洲一区二区三区 | 超碰97人人模人人爽人人喊 | 电影久久久久久 | 日韩精品久久久久久久电影蜜臀 | 黄色一二三区 | 中文无码人妻影音先锋 | av在线免费观看一区二区 | 尤物亚洲国产亚综合在线区 | 九九热爱视频精品视频 | 国产成人精品亚洲日本777 | 内射后入在线观看一区 | а√天堂资源地址在线8观看 | 国产欧美一区二区精品婷婷 | 色欲综合久久躁天天躁 | 日韩区在线观看 | 日韩少妇精品 | 免费成人福利视频 | 免费看的毛片 | 欧美日韩无遮挡 | 国产无套粉嫩白浆内谢 | 人妻无码一区二区三区欧美熟妇 | 亚洲春色av | 亚洲影视在线 | 免费在线精品视频 | 亚洲精品视频在线观看免费 | 日本wwww视频 | 91视频在线观看视频 | 亚洲超碰在线观看 | 日韩精品小视频 | 国产欧美日韩另类 | 成人做受黄大片 | 99视频在线精品国自产拍 | 免费a级毛片出奶水欧美 | 一本久道视频无线视频 | 国产小视频在线播放 | 中文字幕在线亚洲二区 | 免费欧美视频 | 中国老妇女毛茸茸bbwbabes | 少妇寂寞小伙满足少妇在线观看 | 人人狠狠综合久久亚洲爱咲 | 久久久久国产综合av天堂 | 挺进朋友人妻雪白的身体韩国电影 | 久久小草亚洲综合 | 日韩精品无码成人专区 | 亚洲成片在线观看12345 | 星空大象在线观看 | 岛国视频在线 | 国产在线高清精品二区 | 久久久精品免费看 | 91精品国产综合久久久久 | 中文字幕高清av在线 | 色蜜av | 人妻夜夜爽天天爽一区二区 | 精品一卡二卡三卡四卡网站 | 久久精品国产99久久6动漫亮点 | 欧美最猛黑人xxxx黑人猛叫黄 | 奇米激情小说 | 99久久成人精品国产网站 | 欧美精品一区二区三区视频 | 日本黄页网站免费观看 | 大香伊蕉在人线免费视频 | 99国产精品人妻噜啊噜 | 免费a级作爱片免费观看欧洲 | 在线一区二区三区在线一区 | 老男人把我添得很舒服 | 一级一片免费观看 | 日韩不卡1卡2卡三卡2021免费 | 中国熟妇牲交视频免费 |