日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

How to determine what causes a particular wait type

發布時間:2024/9/5 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 How to determine what causes a particular wait type 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

By:?Paul Randal Posted on: March 18, 2014 6:55 pm

[Edit 2016: Check out my new resource – a comprehensive library of all wait types and latch classes – see?here.]

Wait statistics, as you know, are one of my favorite things to do with SQL Server, along with corruption, the transaction log, and Kimberly (but not necessarily in that order :-)

One of the things that really frustrates me about wait statistics is that there is hardly any documentation about what the various wait types actually mean. For example, the Microsoft documentation for the?WRITE_COMPLETION?wait is ‘Occurs when a write operation is in progress.’ That’s not very illuminating. What kind of writes? Under what circumstances?

There is a relatively easy way to figure out when particular wait types are occurring, using Extended Events to track the SQL Server code call stacks when the wait occurs. Also, this information and the methodology for it are required for quite a few of the people I’m working with to analyze their 24-hours of wait statistics (see?this post).

Here’s what you need to do:

  • Download the symbol files for the SQL Server instance you’re interested in
  • Create an Extended Event session to track the wait type you’re interested in
  • Run your workload
  • Examine the call stacks that you’re collected
  • And in this post I’ll show you how to do these steps.

    Symbol files and call stacks

    Whenever an executable is compiled, you can optionally have the compiler generate symbols that can help with debugging. The symbols effectively correlate offsets in the compiled code with the human-readable names of code functions, class methods, and variables. This allows us to look at what’s called a call stack and figure out what SQL Server is doing.

    As an example of a call stack, consider the following C++ pseudo-code:

    ?
    bool Thing::ValidateThing (ThingPtr thing) { ????// blah ????if (thing->m_Eggs != GREEN && thing->m_side != HAM) ????{ ????????__ThrowError (THING_NOT_VALID); ????} ????return TRUE; } void CountManager::AddNextThingToTotal (ThingPtr thing) { ????// blah ????if (TRUE == thing->ValidateThing (ThingPtr thing)) ????{ ????????m_ThingCount++; ????} } int CountManager::CountListOfThings (ThingListPtr things) { ????// blah ????AddNextThingToTotal (ThingPtr thing); ????// blah ????return m_ThingCount; }

    And we wanted to see all the call stacks that end up with an error being thrown, one such call stack might look like:

    ?
    __ThrowError Thing::ValidateThing+0x26 CountManager::AddNextThingToTotal+0x441 CountManager::CountListOfThings+0x104

    It lets us see at what point in the executable something happens, and we can make sense of the call stack if the words in there make sense in our context. You might be concerned that you don’t know the internals of SQL Server, but most of the time the names of the classes and methods have enough information for you to be able to work out what’s happening.

    We need the SQL Server symbol files for this to work. You can get them freely from Microsoft and I have a blog post with instructions to do it:?How to download a sqlserver.pdb symbol file. If you have trouble with this, let me know as it can be tricky.

    Make sure your call stacks look correct – see the example in the ‘how to’ post.

    Extended Event Session

    The Extended Event session to use is pretty simple. It uses the histogram target (called the ‘asynchronous bucketizer’ in earlier versions) so capture unique call stacks when the wait type we’re interested in occurs.

    We do have to make sure that we use the correct wait type value in the session though, as some of the wait type values changed in Extended Events from version to version. The code to get the correct value to use is as follows, using the?WRITE_COMPLETION?wait type as the example:

    ?
    1 2 3 4 5 6 7 -- Figure out the wait type that we need SELECT ????[map_key] FROM sys.dm_xe_map_values WHERE [name] = N'wait_types' ????AND [map_value] = N'WRITE_COMPLETION'; GO

    One problem you may have is that some wait types aren’t listed by the name that shows up in?sys.dm_os_wait_stats. Jonathan has a handy blog post that does the mapping for these – see?here?if you run the query above and don’t get a result.

    On 2012 I get the following result:

    ?
    map_key ----------- 628

    You MUST make sure to check the map value for your build, as it changes from release to release, including some service packs.

    We then plug that value into an Extended Event session that will give us all the call stacks and how many time each was hit:

    ?
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 -- Drop the session if it exists. IF EXISTS ( ????SELECT * FROM sys.server_event_sessions ????????WHERE [name] = N'InvestigateWaits') ????DROP EVENT SESSION [InvestigateWaits] ON SERVER GO -- Create the event session -- Note that before SQL 2012, the wait_type to use may be -- a different value. -- On SQL 2012 the target name is 'histogram' but the old -- name still works. CREATE EVENT SESSION [InvestigateWaits] ON SERVER ADD EVENT [sqlos].[wait_info] ( ????ACTION ([package0].[callstack]) ????WHERE [wait_type] = 628 -- WRITE_COMPLETION only ????AND [opcode] = 1 -- Just the end wait events ????--AND [duration] > X-milliseconds ) ADD TARGET [package0].[asynchronous_bucketizer] ( ????SET filtering_event_name = N'sqlos.wait_info', ????source_type = 1, -- source_type = 1 is an action ????source = N'package0.callstack' -- bucketize on the callstack ) WITH ( ????MAX_MEMORY = 50 MB, ????MAX_DISPATCH_LATENCY = 5 SECONDS) GO -- Start the session ALTER EVENT SESSION [InvestigateWaits] ON SERVER STATE = START; GO -- TF to allow call stack resolution DBCC TRACEON (3656, -1); GO

    If the trace flag isn’t enabled, the call stacks will not be resolved by SQL Server. The trace flag also pins?dbghelp.dll?in memory – don’t worry about it causing a perf issue.

    Note that there’s also a new Extended Event called?wait_completed?that was added in SQL Server 2014 – I’m using?wait_info?as it’s available in all versions with Extended Events.

    If you want to grab the call stacks and the wait duration for every wait that occurs (e.g. so you can identify the cause of long-duration waits), change the session to:

    ?
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE EVENT SESSION [InvestigateWaits] ON SERVER ADD EVENT [sqlos].[wait_info] ( ????ACTION ([package0].[callstack]) ????WHERE [wait_type] = 628 -- WRITE_COMPLETION only ????AND [opcode] = 1 -- Just the end wait events ????--AND [duration] > X-milliseconds ) ADD TARGET [package0].[ring_buffer] WITH ( ????MAX_MEMORY = 50 MB, ????MAX_DISPATCH_LATENCY = 5 SECONDS) GO

    Workload

    Now the Extended Event session exists, you need to run your workload. This may be just your regular workload, or a few example commands that you think may be involved.

    As an example, for the?WRITE_COMPLETION?wait type, I’ll do something simple like creating a database.

    Be careful: depending on the wait type you’re investigating, the Extended Event session may cause a small performance issue (e.g. a locking wait,CXPACKET?wait, or?PAGEIOLATCH_XX?wait) so be prepared to stop the session. If you stop the session though, the information in the session histogram target disappears, so grab the data from it (see the Analysis section below) before stopping the session using the following code.

    ?
    1 2 3 4 -- Stop the event session ALTER EVENT SESSION [InvestigateWaits] ON SERVER STATE = STOP; GO

    But the longer you can run the session for, the more likely you’ll get the causes of the wait type you’re interested in.

    Analysis

    To get the data out of the histogram target, use the following code:

    ?
    1 2 3 4 5 6 7 8 9 10 11 -- Get the callstacks from the bucketizer target SELECT ????[event_session_address], ????[target_name], ????[execution_count], ????CAST ([target_data] AS XML) FROM sys.dm_xe_session_targets [xst] INNER JOIN sys.dm_xe_sessions [xs] ????ON [xst].[event_session_address] = [xs].[address] WHERE [xs].[name] = N'InvestigateWaits'; GO

    In the example I’ve created, where I’m looking at?WRITE_COMPLETION?waits occurring, I get back a bunch of call stacks. Here are the first few call stacks collected on SQL Server 2012 SP1:

    ?
    ????XeSosPkg::wait_info::Publish+138 [ @ 0+0x0 SOS_Scheduler::UpdateWaitTimeStats+30c [ @ 0+0x0 SOS_Task::PostWait+90 [ @ 0+0x0 EventInternal::Wait+1f9 [ @ 0+0x0 FCB::SyncWrite+104 [ @ 0+0x0 DBMgr::CopyModel+fe [ @ 0+0x0 DBMgr::CreateAndFormatFiles+966 [ @ 0+0x0 CStmtCreateDB::CreateLocalDatabaseFragment+682 [ @ 0+0x0 DBDDLAgent::CreateDatabase+f7 [ @ 0+0x0 CStmtCreateDB::XretExecute+8fc [ @ 0+0x0 CMsqlExecContext::ExecuteStmts<1,1>+400 [ @ 0+0x0 CMsqlExecContext::FExecute+a33 [ @ 0+0x0 CSQLSource::Execute+866 [ @ 0+0x0 process_request+73c [ @ 0+0x0 process_commands+51c [ @ 0+0x0 SOS_Task::Param::Execute+21e [ @ 0+0x0 SOS_Scheduler::RunTask+a8 [ @ 0+0x0 SOS_Scheduler::ProcessTasks+29a [ @ 0+0x0 SchedulerManager::WorkerEntryPoint+261 [ @ 0+0x0 SystemThread::RunWorker+8f [ @ 0+0x0 SystemThreadDispatcher::ProcessWorker+3c8 [ @ 0+0x0 SchedulerManager::ThreadEntryPoint+236 [ @ 0+0x0 BaseThreadInitThunk+d [ @ 0+0x0 RtlUserThreadStart+21 [ @ 0+0x0 ????XeSosPkg::wait_info::Publish+138 [ @ 0+0x0 SOS_Scheduler::UpdateWaitTimeStats+30c [ @ 0+0x0 SOS_Task::PostWait+90 [ @ 0+0x0 EventInternal::Wait+1f9 [ @ 0+0x0 FCB::SyncWrite+104 [ @ 0+0x0 FCB::PageWriteInternal+55 [ @ 0+0x0 InitGAMIntervalPages+4cb [ @ 0+0x0 InitDBAllocPages+d0 [ @ 0+0x0 FileMgr::CreateNewFile+137 [ @ 0+0x0 AsynchronousDiskAction::ExecuteDeferredAction+8f [ @ 0+0x0 AsynchronousDiskWorker::ThreadRoutine+15c [ @ 0+0x0 SubprocEntrypoint+a21 [ @ 0+0x0 SOS_Task::Param::Execute+21e [ @ 0+0x0 SOS_Scheduler::RunTask+a8 [ @ 0+0x0 SOS_Scheduler::ProcessTasks+29a [ @ 0+0x0 SchedulerManager::WorkerEntryPoint+261 [ @ 0+0x0 SystemThread::RunWorker+8f [ @ 0+0x0 SystemThreadDispatcher::ProcessWorker+3c8 [ @ 0+0x0 SchedulerManager::ThreadEntryPoint+236 [ @ 0+0x0 BaseThreadInitThunk+d [ @ 0+0x0 RtlUserThreadStart+21 [ @ 0+0x0 ????XeSosPkg::wait_info::Publish+138 [ @ 0+0x0 SOS_Scheduler::UpdateWaitTimeStats+30c [ @ 0+0x0 SOS_Task::PostWait+90 [ @ 0+0x0 EventInternal::Wait+1f9 [ @ 0+0x0 FCB::SyncWrite+104 [ @ 0+0x0 FCB::PageWriteInternal+55 [ @ 0+0x0 DirectlyMarkPFSPage+154 [ @ 0+0x0 InitGAMIntervalPages+52a [ @ 0+0x0 InitDBAllocPages+d0 [ @ 0+0x0 FileMgr::CreateNewFile+137 [ @ 0+0x0 AsynchronousDiskAction::ExecuteDeferredAction+8f [ @ 0+0x0 AsynchronousDiskWorker::ThreadRoutine+15c [ @ 0+0x0 SubprocEntrypoint+a21 [ @ 0+0x0 SOS_Task::Param::Execute+21e [ @ 0+0x0 SOS_Scheduler::RunTask+a8 [ @ 0+0x0 SOS_Scheduler::ProcessTasks+29a [ @ 0+0x0 SchedulerManager::WorkerEntryPoint+261 [ @ 0+0x0 SystemThread::RunWorker+8f [ @ 0+0x0 SystemThreadDispatcher::ProcessWorker+3c8 [ @ 0+0x0 SchedulerManager::ThreadEntryPoint+236 [ @ 0+0x0 BaseThreadInitThunk+d [ @ 0+0x0 RtlUserThreadStart+21 [ @ 0+0x0 ????XeSosPkg::wait_info::Publish+138 [ @ 0+0x0 SOS_Scheduler::UpdateWaitTimeStats+30c [ @ 0+0x0 SOS_Task::PostWait+90 [ @ 0+0x0 EventInternal::Wait+1f9 [ @ 0+0x0 FCB::SyncWrite+104 [ @ 0+0x0 SQLServerLogMgr::FormatVirtualLogFile+175 [ @ 0+0x0 SQLServerLogMgr::FormatLogFile+c3 [ @ 0+0x0 FileMgr::CreateNewFile+106 [ @ 0+0x0 AsynchronousDiskAction::ExecuteDeferredAction+8f [ @ 0+0x0 AsynchronousDiskWorker::ThreadRoutine+15c [ @ 0+0x0 SubprocEntrypoint+a21 [ @ 0+0x0 SOS_Task::Param::Execute+21e [ @ 0+0x0 SOS_Scheduler::RunTask+a8 [ @ 0+0x0 SOS_Scheduler::ProcessTasks+29a [ @ 0+0x0 SchedulerManager::WorkerEntryPoint+261 [ @ 0+0x0 SystemThread::RunWorker+8f [ @ 0+0x0 SystemThreadDispatcher::ProcessWorker+3c8 [ @ 0+0x0 SchedulerManager::ThreadEntryPoint+236 [ @ 0+0x0 BaseThreadInitThunk+d [ @ 0+0x0 RtlUserThreadStart+21 [ @ 0+0x0 ????XeSosPkg::wait_info::Publish+138 [ @ 0+0x0 SOS_Scheduler::UpdateWaitTimeStats+30c [ @ 0+0x0 SOS_Task::PostWait+90 [ @ 0+0x0 EventInternal::Wait+1f9 [ @ 0+0x0 FCB::SyncWrite+104 [ @ 0+0x0 FCB::PageWriteInternal+55 [ @ 0+0x0 GlobalFileHeader::CreateInitialPage+395 [ @ 0+0x0 GlobalFileHeader::WriteInitialPage+50 [ @ 0+0x0 FCB::InitHeaderPage+25c [ @ 0+0x0 FileMgr::CreateNewFile+144 [ @ 0+0x0 AsynchronousDiskAction::ExecuteDeferredAction+8f [ @ 0+0x0 AsynchronousDiskWorker::ThreadRoutine+15c [ @ 0+0x0 SubprocEntrypoint+a21 [ @ 0+0x0 SOS_Task::Param::Execute+21e [ @ 0+0x0 SOS_Scheduler::RunTask+a8 [ @ 0+0x0 SOS_Scheduler::ProcessTasks+29a [ @ 0+0x0 SchedulerManager::WorkerEntryPoint+261 [ @ 0+0x0 SystemThread::RunWorker+8f [ @ 0+0x0 SystemThreadDispatcher::ProcessWorker+3c8 [ @ 0+0x0 SchedulerManager::ThreadEntryPoint+236 [ @ 0+0x0 BaseThreadInitThunk+d [ @ 0+0x0 RtlUserThreadStart+21 [ @ 0+0x0 . . .

    In this example, we can see from the collected call stacks that ?a?WRITE_COMPLETION?wait occurs when the following operations occur (and there are many more, of course):

    • Copying the pages from the?model?database into our new database (call stack 1)
    • Creating and formatting the GAM, SGAM, DIFF_MAP, and ML_MAP allocation bitmaps (call stack 2)
    • Creating and formatting the PFS allocation byte-maps (call stack 3)
    • Creating and formatting the transaction log VLF headers (call stack 4)
    • Creating and formatting the data and log file header pages (call stack 5)

    How cool is that? :-)

    Summary

    Now you have a method to investigate any wait type that you’re seeing in your workload. I’ll be posting a bunch of information about wait types and when they occur through the year.

    If you have call stacks that you’d like to know what they are, feel free to?send me an email?and I’ll respond within a week or so.

    Enjoy!

    Related Posts

    • Capturing wait stats for a single operation
    • Most common wait stats over 24 hours and changes since 2010
    • Updated sys.dm_os_waiting_tasks script to add query DOP
    • Announcing the comprehensive SQL Server Wait Types and Latch Classes Library
    • How to download a sqlservr.pdb symbol file
    Posted in:?Example Scripts,?Extended Events,?Performance Tuning,?Wait?

    轉載于:https://www.cnblogs.com/zengkefu/p/6946875.html

    總結

    以上是生活随笔為你收集整理的How to determine what causes a particular wait type的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    日韩精品中文字幕久久臀 | 午夜影视一区 | 国产福利精品视频 | 日韩r级在线 | 天堂av在线免费观看 | 欧美精品天堂 | 日本mv大片欧洲mv大片 | 久色小说 | 深爱激情五月综合 | 五月婷婷综合在线视频 | 国产在线色视频 | 国产日韩欧美视频在线观看 | 久久久久美女 | www久久久| 精品一区二区日韩 | 五月天激情综合 | 丁香婷婷久久 | avcom在线 | av电影在线观看完整版一区二区 | 色欧美88888久久久久久影院 | 在线视频专区 | 久久精品视频免费 | 97精品国产97久久久久久 | 久要激情网| 麻豆国产在线播放 | 久久在线看 | 亚洲视频,欧洲视频 | 中午字幕在线观看 | 欧美性色黄大片在线观看 | 99爱精品在线 | 五月天免费网站 | 精品久久久久久久久中文字幕 | 精品久久久一区二区 | 国产高清成人 | 中文字幕精品一区久久久久 | 成人亚洲欧美 | 久久综合国产伦精品免费 | 天堂av一区二区 | 在线亚洲午夜片av大片 | 欧美精品一区二区在线观看 | 9999毛片 | 欧美成人在线免费 | 久久久www免费电影网 | 久久理论电影网 | 日韩欧美在线国产 | av观看久久久 | 婷婷丁香自拍 | 超碰在线1 | 国产视频精选 | 在线观看国产日韩欧美 | 欧美日韩在线视频一区 | 毛片在线播放网址 | 欧美激情精品久久久久久 | 欧美日本国产在线观看 | 深夜免费福利在线 | 69国产盗摄一区二区三区五区 | 成人中心免费视频 | 日韩精品免费在线播放 | 国产一区二区精品91 | 欧美精品久久久久久久 | 九色最新网址 | 一区二区三区日韩在线观看 | 国产精品av免费 | 国产精品久久久久久久久久 | 中文字幕日韩一区二区三区不卡 | 99热最新网址 | 免费a现在观看 | 97在线精品视频 | 久久久久免费网 | 精品视频免费看 | 成年人网站免费在线观看 | 日韩国产高清在线 | 婷婷国产一区二区三区 | 91精品国产自产在线观看 | 成年人三级网站 | 黄色av大片| 最近中文字幕免费 | 久久久久国产免费免费 | 欧美日韩视频精品 | 日韩理论在线播放 | 亚州性色 | 2018精品视频 | 99热这里有 | 中文字幕在线观看资源 | 色五月情| 欧美综合在线观看 | 国内精品美女在线观看 | 伊人影院得得 | 亚洲精品视频免费在线观看 | 日日碰夜夜爽 | 日本久久免费电影 | 狠狠狠狠狠狠狠狠 | 国产婷婷精品av在线 | 在线观看精品国产 | 91九色成人 | 欧美作爱视频 | 三级性生活视频 | 绯色av一区 | 97超碰人人看 | 亚洲精品免费观看视频 | 91网免费看| 婷婷综合在线 | 国产又粗又猛又黄 | 久久9999久久免费精品国产 | 日韩精品一区二区在线观看 | 国产精品久久久一区二区 | 91桃花视频 | 国产欧美精品xxxx另类 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 深夜视频久久 | 亚洲人成精品久久久久 | 亚洲精品乱码久久久久久9色 | 成人a大片 | 日韩激情在线视频 | 日韩午夜精品 | 亚州精品视频 | 日韩伦理一区二区三区av在线 | 在线免费黄色片 | 中文字幕一区二区三区在线播放 | 亚州av一区 | 日日夜夜免费精品视频 | 在线观看www视频 | 国产亚洲精品美女久久 | 九九视频网站 | 播五月婷婷| 深夜免费小视频 | 亚洲国产精品500在线观看 | 国产一区二区三区免费在线 | 久久99国产精品久久99 | 色先锋av资源中文字幕 | www视频在线播放 | 激情婷婷久久 | 国产精品美女在线观看 | 日韩中文字幕在线 | 亚洲欧洲av | 亚洲精品视频在线观看免费视频 | 欧美激情第28页 | 在线影院中文字幕 | 亚洲国产精品视频在线观看 | 18岁免费看片 | 午夜国产影院 | 成人h电影| 免费在线播放视频 | 日韩精品中文字幕在线 | 久草在线资源网 | 亚洲视频免费在线观看 | 日本在线观看一区二区 | 丝袜美女视频网站 | 西西www444 | 国产免费高清 | 麻豆精品传媒视频 | 久久999久久| 色多视频在线观看 | 欧美日韩精品电影 | 91麻豆看国产在线紧急地址 | 一区 在线 影院 | 伊人天天狠天天添日日拍 | 成人午夜剧场在线观看 | 久久天天操 | 西西4444www大胆无视频 | 精品久久久久久久久中文字幕 | 日本精品视频在线 | 国产免费人成xvideos视频 | 免费看国产黄色 | 国产日产亚洲精华av | 97碰碰精品嫩模在线播放 | 亚洲国产精品99久久久久久久久 | 99在线观看精品 | 天堂资源在线观看视频 | 精品久久久久久久久亚洲 | 日日干视频 | 国产 中文 日韩 欧美 | 91免费看黄色 | 日韩成人精品一区二区三区 | 成人网在线免费视频 | 久久国产精品99国产精 | 日韩免费在线播放 | 深夜视频久久 | 日韩sese| 精品免费一区 | 国产福利专区 | 亚洲高清视频一区二区三区 | 色com | 日本一区二区高清不卡 | 日韩成人精品一区二区 | 在线国产99 | 亚洲欧美va| 91精品国产综合久久福利 | 国产成人久久精品亚洲 | 久久精品视频免费观看 | 午夜精品电影 | 黄色a级片在线观看 | 99久久久国产精品免费99 | 98精品国产自产在线观看 | 欧美一区二区视频97 | 色搞搞| 久久情网 | 欧美一级在线看 | 九九九在线观看视频 | 亚洲另类人人澡 | 五月天色婷婷丁香 | 日本三级不卡视频 | 欧美日韩亚洲第一 | 超碰免费av| 午夜视频日本 | 久久国产精品99久久久久久进口 | 婷婷四房综合激情五月 | 国产精品久久久久久久久久久杏吧 | 国产一级视频在线 | 婷婷久久综合网 | 在线a视频| 免费av黄色 | 在线成人一区二区 | 99r精品视频在线观看 | 激情久久综合 | 日韩精品欧美视频 | 亚洲成人精品av | 91经典在线 | 黄色免费在线视频 | 精品国产自在精品国产精野外直播 | 婷婷视频在线播放 | 婷婷国产v亚洲v欧美久久 | 最新国产福利 | 国产精品免费视频久久久 | 99精品免费久久久久久久久日本 | 在线观看黄网站 | 中文字幕丰满人伦在线 | 欧美一级日韩三级 | 久草在线观看资源 | 国产一区二区三区 在线 | 97成人免费视频 | 黄色网免费 | 国产免费观看久久 | 99免费在线观看 | 99c视频高清免费观看 | 日韩在线视频国产 | 精品国产乱码久久久久久天美 | 韩国视频一区二区三区 | 日韩精品久久一区二区三区 | 亚洲mv大片欧洲mv大片免费 | 婷婷丁香久久五月婷婷 | 色婷在线 | av千婊在线免费观看 | 久久婷亚洲五月一区天天躁 | 成人一区二区三区在线 | 正在播放久久 | 国产成人黄色 | 久黄色 | 亚洲精品在线免费观看视频 | 精品在线观看一区二区 | 国产精品久久久久久久久搜平片 | 91中文字幕在线观看 | 国产91aaa| 国产中文伊人 | 中文 一区二区 | 国产亚洲视频中文字幕视频 | 欧美精品在线观看一区 | 超碰国产人人 | 亚洲理论电影网 | 伊人久操 | 亚洲精品久久久久久国 | 99热免费在线 | 九九九在线 | 夜色.com | 亚洲波多野结衣 | 色狠狠狠 | av资源在线观看 | 日韩免费不卡av | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 欧美夫妻生活视频 | 亚洲国产视频直播 | 香蕉网在线观看 | 国产一区免费 | 最新av网址在线观看 | 四虎视频 | 婷婷中文字幕在线观看 | 国产精品久久久久影院 | av资源免费在线观看 | 色婷婷久久久 | www看片网站| 亚洲国产日韩欧美在线 | 亚洲动漫在线观看 | 亚洲欧洲精品一区二区精品久久久 | 久久精品一区二区三 | 国产又粗又猛又爽又黄的视频先 | 久久国产区 | 国产精品久久久久久麻豆一区 | 日韩在观看线 | 国产一线二线三线性视频 | 久久久久久久久久久综合 | 91香蕉视频 | 国产精品电影一区二区 | 久久成视频 | 国产精品无av码在线观看 | 国产在线观看一区 | 国产在线视频在线观看 | 在线小视频你懂得 | 在线国产一区二区三区 | 偷拍福利视频一区二区三区 | 婷婷丁香导航 | 国产视频亚洲视频 | 99这里只有久久精品视频 | 久草免费看 | 18久久久| 久草www | 久久99久久99精品免观看粉嫩 | 92av视频 | 69亚洲视频| 蜜臀av性久久久久av蜜臀三区 | 天天插天天爽 | 成人观看视频 | 国产精品女教师 | 中文字幕一区二区三区久久蜜桃 | 中文伊人| 一级性生活片 | 久久香蕉一区 | 黄色电影在线免费观看 | 亚洲三级在线免费观看 | 毛片精品免费在线观看 | 国内综合精品午夜久久资源 | 亚洲欧美经典 | 精品一区二区在线观看 | 亚洲资源网 | 久久国产视屏 | 免费成人av| 在线观看视频一区二区三区 | 青青啪| 色网站在线观看 | 久9在线| 久久精品久久综合 | 国产精品99久久久精品免费观看 | 久久免费电影网 | 伊人亚洲精品 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 精品国自产在线观看 | 一级淫片a | 97在线免费 | 亚洲成人精品在线 | 99热精品久久 | 国产91在线播放 | 狠狠躁日日躁狂躁夜夜躁av | 91刺激视频 | 欧美老少交 | 国产成人精品久久久久 | 中文视频在线 | 国产网红在线观看 | 在线va视频 | 日韩一区视频在线 | 国产成人精品不卡 | 亚洲天天摸日日摸天天欢 | 99se视频在线观看 | 99精品在线直播 | 日韩久久久久久久 | 999ZYZ玖玖资源站永久 | 国产精品久久久久毛片大屁完整版 | 一二区电影| 欧美少妇18p | 国产成人综合在线观看 | 日韩av电影中文字幕 | 国产精品网红直播 | 日本不卡一区二区 | 午夜视频一区二区 | 狠狠色丁香婷综合久久 | 亚洲综合色网站 | 欧美激情精品 | 久久久久久久免费看 | 国产精品不卡在线播放 | 久热国产视频 | 丝袜+亚洲+另类+欧美+变态 | 五月激情天| 91色视频| 日韩最新在线视频 | 免费一级日韩欧美性大片 | 成人毛片100免费观看 | 国产黄色片免费观看 | 视频三区在线 | 国产精品一区二区久久精品爱涩 | 蜜臀av夜夜澡人人爽人人 | 亚洲专区在线播放 | 狠狠色噜噜狠狠狠狠2021天天 | 黄色在线成人 | 99热手机在线 | 中文字幕一区二区三区乱码在线 | 亚洲一区不卡视频 | 六月丁香伊人 | 在线观看完整版免费 | av黄色av| 国模精品在线 | 日本激情中文字幕 | 青草视频免费观看 | 色丁香婷婷 | 精品亚洲一区二区三区 | 久久久久久久久影视 | 精品久久久久久亚洲综合网站 | 国产精品成人一区二区三区吃奶 | 久久久久久久综合色一本 | 成人亚洲精品国产www | 久久在线电影 | 欧美极品裸体 | 99这里有精品 | 亚洲精品成人网 | av三级在线播放 | av网在线观看 | 国产成人精品电影久久久 | 久久久久久久久久久福利 | 亚洲无人区小视频 | 欧美va在线观看 | 亚洲女人天堂成人av在线 | 国产一区在线不卡 | 成人av免费在线播放 | 国产v视频 | 免费亚洲精品视频 | 日韩免费电影一区二区 | 黄色三级免费 | 夜夜躁日日躁狠狠躁 | 91成年人视频 | www日韩欧美 | 国产视频一二区 | 日韩中出在线 | 在线精品亚洲一区二区 | 免费男女羞羞的视频网站中文字幕 | 三上悠亚在线免费 | 天天射狠狠干 | 人人爱天天操 | 亚洲精品国产精品国自产在线 | 国产精品入口麻豆www | 亚洲人片在线观看 | 国产小视频网站 | 天天爽天天摸 | 日韩在线电影观看 | 韩日三级在线 | 人人干人人添 | 最近中文字幕完整高清 | 成年人国产视频 | 999电影免费在线观看 | 亚洲国产日韩欧美在线 | 五月开心婷婷网 | 免费a视频在线观看 | 天天操天天综合网 | 波多野结衣一区 | 亚洲区另类春色综合小说 | 日韩欧美在线观看一区二区 | 亚洲性视频 | 午夜av影院 | 日韩中文字幕第一页 | 日本爱爱片 | 精品国产亚洲一区二区麻豆 | 一级黄色a视频 | 久久超级碰 | 亚洲欧美经典 | 亚洲电影毛片 | 亚洲免费av电影 | 日韩黄色一级电影 | 欧美天天射 | 热久久视久久精品18亚洲精品 | 久久精品三| 久久不卡国产精品一区二区 | 天天曰天天爽 | 四虎精品成人免费网站 | 亚洲区视频在线观看 | 亚洲精品美女久久久久 | 国产精品美女久久久久久 | 久久人人97超碰国产公开结果 | 欧美日韩免费视频 | 国产亚洲精品久久久久久移动网络 | 黄色毛片电影 | 成人午夜影院在线观看 | 麻豆视频免费入口 | 国产精品久久久久久久久久 | 99在线视频观看 | 久久视频在线观看中文字幕 | 96av在线视频| 成人av免费 | 欧美日韩一区三区 | 国产69精品久久久久99尤 | 久久综合久久综合这里只有精品 | 国产破处精品 | 日韩欧美在线影院 | 国产一二区免费视频 | 在线观看av片 | 国产不卡网站 | 又黄又色又爽 | 少妇bbw搡bbbb搡bbb | 国产亚洲精品v | 精品在线观看一区二区 | 久久99国产精品久久 | 精品免费在线视频 | 日韩电影一区二区在线 | 国产在线视频一区二区三区 | 国产精品精品国产色婷婷 | 色综合天天综合 | 欧美 另类 交 | 久久精品欧美 | 91看片麻豆 | 日韩精品资源 | 亚洲区精品视频 | 久久综合婷婷国产二区高清 | 日日夜夜精品免费观看 | 视频在线国产 | 久久综合亚洲鲁鲁五月久久 | 天堂在线v| 一区二区激情视频 | 伊人va | 久久免费av电影 | 这里只有精彩视频 | 精品一区二区精品 | 国产精品99久久久久久人免费 | 亚洲成人黄色网址 | www.五月婷| 色综合久| 久久久影片 | 日本中文一区二区 | 中文乱幕日产无线码1区 | 国产在线观看你懂的 | 亚洲成aⅴ人片久久青草影院 | 免费a网 | 色综合久久中文综合久久牛 | 国产精品成人一区二区三区吃奶 | 四虎国产精品免费观看视频优播 | 99精品视频免费全部在线 | 久久久亚洲国产精品麻豆综合天堂 | 亚洲欧美国产精品久久久久 | 久久午夜免费视频 | 国产精品高清一区二区三区 | 99视频在线精品免费观看2 | 中文字幕在线播放日韩 | 亚洲一二三区精品 | 一本一本久久a久久精品综合妖精 | 91九色视频在线观看 | 最新午夜 | 欧美精品一区二区免费 | 欧美成人aa | 97电影在线| 久久视频在线观看免费 | 国产高清一区二区 | 99精品国产成人一区二区 | 久久国产精品99国产精 | www.成人sex| 天天插天天干天天操 | 蜜臀久久99精品久久久无需会员 | 国产91影视 | 日韩免费电影一区二区 | 久久久综合九色合综国产精品 | 丁香激情网 | 超级碰99 | 日韩免费高清 | 国产一区二区三区 在线 | 精品久久亚洲 | 亚洲精品字幕在线观看 | 国产精品美女999 | 国产精品一区二区无线 | 久久人人爽视频 | 国产精品久久久久一区二区 | 成人久久18免费网站麻豆 | 99视频+国产日韩欧美 | 精品毛片在线 | 亚洲乱码国产乱码精品天美传媒 | 欧美日韩不卡一区二区三区 | 国产少妇在线观看 | 国产自产在线视频 | 国产91精品一区二区 | 婷婷免费视频 | 激情欧美xxxx | 国产女人40精品一区毛片视频 | 免费观看一级特黄欧美大片 | 亚洲综合导航 | 天天射天天操天天色 | 久久久久女人精品毛片九一 | 97超碰香蕉| 国产免费观看高清完整版 | 欧美日韩视频免费 | 久久艹影院 | 日韩高清一二区 | www.91国产 | 日本精品久久久久中文字幕5 | 91黄色免费看 | 久青草国产在线 | 国产中文欧美日韩在线 | 狠狠操狠狠干天天操 | av在线影视 | 国产成人精品在线播放 | 久久精品99视频 | 欧美一级欧美一级 | 18pao国产成视频永久免费 | 色综合久久久久综合 | 日韩在线视频精品 | 992tv在线成人免费观看 | 五月情婷婷 | 四虎影视成人精品国库在线观看 | 五月天欧美精品 | 国产精品久久久久久久久久久不卡 | 日批网站在线观看 | 国产激情久久久 | 91麻豆精品国产91久久久无限制版 | 五月宗合网| 最近最新中文字幕视频 | 91av视频观看 | 99精品视频免费看 | 欧洲精品二区 | 97超碰人人看 | 少妇高潮流白浆在线观看 | av电影免费 | 国产精品美女免费看 | 免费人成网 | 国产亚洲va综合人人澡精品 | 男女啪啪视屏 | 四虎成人免费观看 | 国产一二三区av | 国产精品电影在线 | 成人中文字幕av | 日韩视频中文字幕在线观看 | 亚洲成人影音 | 国产又粗又硬又爽的视频 | 天天色 天天 | 丁香综合激情 | 69精品人人人人 | 国产精品久久久久久久久软件 | 中文av网站 | 亚洲国产99 | 国产精品免费一区二区三区在线观看 | 欧美成年网站 | 亚洲精品456在线播放 | 国产一区二区精品91 | 成人蜜桃 | 中文免费在线观看 | 亚洲视频六区 | 亚洲欧洲精品一区 | 国产婷婷在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 99精品国产福利在线观看免费 | 麻豆一区在线观看 | 日本精品久久久久久 | 欧美激精品 | 亚洲视频 视频在线 | av在线电影免费观看 | 日韩高清激情 | 久久久久久久久久亚洲精品 | 激情婷婷在线观看 | 日韩高清在线一区二区 | www.天天综合| 国产在线精 | 天天草网站 | 91免费观看| 毛片永久新网址首页 | 国产一区91| 人人超碰97 | 国产一级片免费播放 | 天天插一插 | 日本黄色免费大片 | 日本在线视频一区二区三区 | 亚洲欧美婷婷六月色综合 | 久久国产亚洲精品 | 亚洲免费资源 | 精品亚洲国产视频 | 亚洲人久久 | 国产在线精品播放 | 国产在线播放观看 | 人人射人人澡 | 国产美腿白丝袜足在线av | 国产精品一区二区美女视频免费看 | 亚洲四虎 | 日韩影视精品 | 亚洲综合在线五月天 | 黄色影院在线免费观看 | 视频一区视频二区在线观看 | 免费观看www7722午夜电影 | 在线精品视频在线观看高清 | 久久国内精品视频 | 超碰人人乐 | 日本视频不卡 | 亚洲天天做 | 国产福利一区在线观看 | 国产丝袜制服在线 | 亚洲最新视频在线 | 久久精品国产99 | 欧美性天天 | 精品久久中文 | 久久精品伊人 | 人人澡超碰碰97碰碰碰软件 | 色婷婷狠 | 久久成人福利 | 欧美经典久久 | 99国产一区二区三精品乱码 | 国内综合精品午夜久久资源 | 天天综合91 | 在线免费观看黄网站 | 天天想夜夜操 | 欧美少妇xxx| 最新av网址在线观看 | 国产精品美女免费视频 | 99精品99| 97精品久久人人爽人人爽 | 97在线视频免费 | 日韩精品中文字幕久久臀 | 一本一道久久a久久综合蜜桃 | 国产va精品免费观看 | 2024国产精品视频 | 久久99热这里只有精品 | 久久99久国产精品黄毛片入口 | 欧美电影黄色 | 国产成人精品一区二区在线 | 国产视频精品免费 | av免费播放| 日本mv大片欧洲mv大片 | 国产成人99久久亚洲综合精品 | 国产女人18毛片水真多18精品 | 高清av影院| 精品国产理论片 | 欧美日韩一区二区视频在线观看 | av福利资源 | 懂色av懂色av粉嫩av分享吧 | 国产免费久久久久 | 日日夜夜国产 | 中文字幕在线观看资源 | 日本中文一区二区 | 亚洲成人一二三 | 久热国产视频 | 天天干夜夜爱 | 99久久久久久久 | 成人网大片 | 国模精品一区二区三区 | 免费不卡中文字幕视频 | 99中文视频在线 | japanesefreesexvideo高潮 | 在线va网站 | 天天色天天 | 99精品视频在线播放观看 | 成人av电影免费在线播放 | 日日摸日日添夜夜爽97 | 成人在线免费视频 | 国产99免费视频 | 日韩女同一区二区三区在线观看 | 青春草视频在线播放 | 五月综合 | 国产小视频91 | 麻豆 91 在线 | 中文字幕在线影视资源 | 国产最新福利 | 很黄很黄的网站免费的 | 久久国产手机看片 | 欧美日韩国产亚洲乱码字幕 | 午夜精品一区二区三区视频免费看 | 99久久www| 黄在线免费看 | 亚洲www天堂com| 国产视频在线一区二区 | 亚洲一区精品二人人爽久久 | 久久影院中文字幕 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日韩视频在线观看视频 | 国产白浆在线观看 | 2018精品视频 | 免费观看国产精品视频 | 天天天综合网 | 99久热在线精品视频观看 | 99久久99视频只有精品 | 国产精品一区二区中文字幕 | 婷婷激情综合网 | 国产大片免费久久 | 色噜噜日韩精品一区二区三区视频 | 在线影视 一区 二区 三区 | av在线免费在线观看 | 麻豆极品 | 久久人人爽人人爽人人片av软件 | 久久国产精品偷 | avav片 | 天天操夜夜操夜夜操 | 日韩女同一区二区三区在线观看 | 午夜精品久久久久久久99 | 黄色片免费电影 | 最新国产在线 | 免费在线观看毛片网站 | 亚洲国产成人在线 | 精品电影一区 | 日韩精品在线播放 | 日韩有码欧美 | 欧美日韩国内在线 | 在线超碰av | 99热精品在线 | 欧美电影黄色 | 精品国产人成亚洲区 | 97av免费视频 | 久久九九影视网 | 91人人澡人人爽 | 免费h精品视频在线播放 | 久久久 精品 | 成年人网站免费在线观看 | 亚洲视频免费在线观看 | 久久精美视频 | 日韩国产精品毛片 | 中文欧美字幕免费 | 国产中文字幕一区二区三区 | 精品在线视频播放 | a视频免费看 | 黄色在线小网站 | av动图| 一区二区三区在线不卡 | 免费在线日韩 | 在线免费观看视频一区二区三区 | 亚洲网站在线看 | 在线只有精品 | 一区二区久久久久 | 96久久| 欧美激情视频一区二区三区免费 | 欧美日韩国产精品一区二区亚洲 | 国产一二三精品 | 成人亚洲综合 | 日韩av高潮 | 欧美精品一二三 | 免费a现在观看 | 国产黄色成人av | 99国产一区二区三精品乱码 | 成人免费在线播放 | 精品国产福利在线 | 日韩三级视频在线看 | 三级黄色片子 | 西西4444www大胆艺术 | 最新真实国产在线视频 | 欧美激情精品久久久久久 | 91精品人成在线观看 | 成人手机在线视频 | 欧美在线free | 国产精品三级视频 | 激情欧美国产 | 久久私人影院 | 成人永久在线 | 永久免费毛片在线观看 | 99在线视频观看 | 奇米网444| 天天激情天天干 | 亚洲精品在线电影 | www.com.黄| 中文字幕乱码日本亚洲一区二区 | 国产精品视频 | 久久久午夜电影 | 午夜的福利 | 久久久久北条麻妃免费看 | 99久久精品国产一区 | 日本在线观看一区二区 | 91av在线精品 | 99久久久久国产精品免费 | 激情婷婷网| 麻豆传媒视频在线免费观看 | 国产高清视频在线播放 | 成人一级免费电影 | 成年人免费观看在线视频 | 亚洲欧美经典 | 中文字幕在线观看完整版电影 | 蜜桃av久久久亚洲精品 | 成人免费视频播放 | 国产精品www | 亚洲黄色av | 国产精品久久久久久久久久久久午夜片 | 亚洲国产日本 | 日韩精品亚洲专区在线观看 | 不卡在线一区 | 日韩精品欧美精品 | 日韩高清在线不卡 | 国产精品精品 | 五月视频| 久久久久成人免费 | 五月丁婷婷| 超碰97在线看 | 久久精品一区二区三区国产主播 | 亚洲欧洲精品一区 | 99视频免费看 | 黄色一级大片在线观看 | 亚洲成人中文在线 | 81国产精品久久久久久久久久 | 久久免费的精品国产v∧ | 国产高清在线不卡 | 在线不卡中文字幕播放 | 久久少妇免费视频 | 日本精品视频一区二区 | 国内精品美女在线观看 | 亚洲精品小视频 | 亚洲精品视频偷拍 | 久草资源在线观看 | 97天天综合网 | 美女一级毛片视频 | 激情五月五月婷婷 | 欧美极品少妇xxxx | 1000部18岁以下禁看视频 | 激情综合网色播五月 | 一区二区视频在线免费观看 | 国产精品a久久久久 | 91九色丨porny丨丰满6 | 日韩精品短视频 | 精品视频久久久 | 天天操·夜夜操 | 欧美a视频在线观看 | 国内精品久久久久久久影视简单 | 国偷自产中文字幕亚洲手机在线 | 国内精品小视频 | 免费国产一区二区视频 | 免费观看xxxx9999片 | 麻豆精品传媒视频 | 91探花在线视频 | 在线播放日韩av | 久久99精品国产99久久6尤 | 狠狠色丁香久久婷婷综合_中 | 九九热1 | 久草在线免费资源 | 四虎在线视频 | 免费欧美 | 亚州精品天堂中文字幕 | 亚洲资源| 亚洲久在线 | 五月婷婷香蕉 | 天天干天天综合 | 色综合久久中文综合久久牛 | 中文日韩在线 | 久久久不卡影院 | 99在线热播精品免费99热 | 国产第一福利 | 国产中文字幕久久 | 中文字幕一区二区三区四区视频 | 天天爽天天射 | 波多野结衣日韩 | 在线观看一级片 | 久草精品在线播放 | 992tv在线观看网站 | 天天色棕合合合合合合 | 欧美a级在线播放 | 激情五月婷婷激情 | 免费日韩一区二区三区 | 亚洲精品久久久久久中文传媒 | 九色视频网址 | 国产精品一区二区久久久 | 国产精品激情偷乱一区二区∴ | 欧美日本不卡高清 | 深爱激情综合 | 色婷婷成人 | 天天天天爱天天躁 | 伊人午夜 | 日韩欧美精品一区二区三区经典 | 国产精品免费一区二区三区 | 国产亚洲精品美女久久 | 麻豆小视频在线观看 | 日本久久不卡视频 | 99久久久国产精品免费99 | 婷婷www| 国产中文字幕视频在线观看 | 亚洲人成综合 | 欧美国产日韩一区二区 | 日日天天 | 国产福利一区二区三区视频 | 在线观看香蕉视频 | 亚洲成人欧美 | 91av免费看| 一区二区三区免费播放 | 亚洲午夜小视频 | 国产美腿白丝袜足在线av | 四虎成人精品永久免费av | 狠狠色丁香婷婷综合 | 精品久久网站 | 人人干人人草 | 91丨九色丨国产女 | 欧美日韩精品电影 | 国产一级a毛片视频爆浆 | 亚洲九九影院 | 永久免费的啪啪网站免费观看浪潮 | 狠狠色丁香婷婷综合视频 | 色视频一区 | 久久免费影院 | 欧美一级乱黄 | 丁香综合| 亚洲精品国产品国语在线 | 99se视频在线观看 | 91麻豆传媒 | 91高清完整版在线观看 | 91夫妻视频| 国产精品入口66mio女同 | 五月天激情综合 | 99视频在线免费 | 国产 精品 资源 | 国产精品久久久久久69 | 国产字幕在线看 | av日韩av| 在线成人免费av | 久久麻豆视频 | 国产精品免费久久久 | 狠狠狠色丁香婷婷综合久久五月 | 久久免费视频一区 | 午夜久久网 | 精品国产_亚洲人成在线 | 91精品久久久久 | 久久久久久久久久国产精品 | 国产午夜三级 | 成人黄性视频 | 九九九九九九精品任你躁 | 欧美久久久久 | 日韩精品中文字幕久久臀 | 美女视频永久黄网站免费观看国产 | 亚洲va天堂va欧美ⅴa在线 | 日韩欧美视频一区二区三区 | av成人免费在线 | 国产专区精品视频 |