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

記一次 某智能制造MES系統CPU 爆高分析

系統 其他OS
一般來說cpu的跌宕起伏都是由 thread 誘發的,一個好的思路就是看下此時各個線程都在做什么,可以使用 ~*e !clrstack 觀察,經過仔細對比發現有 4 處 SqlDataReader 貌似在讀什么東西,剛好對應到了 CPU 核數。

一:背景

1. 講故事

前段時間有位朋友找到我,說他 docker 中的web服務深夜cpu被打滿,讓我幫忙看一下,很多朋友問docker中怎么抓dump,我一般都推薦使用 procdump 這款自動化工具,誰用誰知道,有了 dump 之后,接下來就是分析了。

二:WinDbg 分析

1. cpu 真的爆高嗎

有很多朋友問 linux 上的dump可以用 windbg 分析嗎?這里統一回復下,是可以的,現在的 WinDbg 可以全平臺分析,不信看下圖:

圖片

不過有一點吐槽的是,Linux 不是微軟的,所以在 操作系統層級 上的調試支持是不夠的,也不是 WinDbg 能力所觸及范圍之內,所以相比 Windows 有很多的不便。

接下來我們用 !tp 看一下當前的 cpu 到底是多少?

0:000> !tp
CPU utilization: 393 %
Worker Thread: Total: 19 Running: 5 Idle: 10 MaxLimit: 32767 MinLimit: 4
Work Request in Queue: 0
--------------------------------------
Number of Timers: 4
--------------------------------------
Completion Port Thread:Total: 0 Free: 0 MaxFree: 8 CurrentLimit: 0 MaxLimit: 1000 MinLimit: 4

從卦中看當前的 cpu=393% ,這表示什么意思呢?在Linux上是這樣的,一個核占用 100%,可以理解成當前有 4 個核被打滿。

那當前 docker 中給了多少 cpu 核呢?在 Windows 平臺上可以用 !cpuid,在 Linux 上肯定用不了了,沒關系,熟悉 CLR 的朋友應該知道,ServerGC 的heap個數默認按照cpu 的個數來的,也就是說當前多少個heap,也就有多少個 cpu core。

有了這個思路,使用 !eeversion 來看下 gc 模式吧。

0:000> !eeversion
4.700.21.56803 (3.x runtime)
4.700.21.56803 @Commit: 28bb6f994c28bc91f09bc0ddb5dcb51d0f066806
Server mode with 4 gc heaps
SOS Version: 7.0.8.10101 retail build

從卦中的 Server mode with 4 gc heaps 來看,當前docker使用 4 個 cpu 核,所以 393% 就表示了當前被完全打滿。

2. 為什么會被打滿

一般來說cpu的跌宕起伏都是由 thread 誘發的,一個好的思路就是看下此時各個線程都在做什么,可以使用 ~*e !clrstack 觀察,經過仔細對比發現有 4 處 SqlDataReader 貌似在讀什么東西,剛好對應到了 CPU 核數,輸出如下:

0:000> ~*e !clrstack
OS Thread Id: 0x3f89 (24)
        Child SP               IP Call Site
00007F9FA14A0628 00007fa4803e2a93 System.Data.SqlClient.TdsParser.TrySkipValue(System.Data.SqlClient.SqlMetaDataPriv, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4399]
00007F9FA14A0640 00007fa47f9a5e03 System.Data.SqlClient.TdsParser.TrySkipRow(System.Data.SqlClient._SqlMetaDataSet, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4334]
00007F9FA14A0670 00007fa4803d2fba System.Data.SqlClient.SqlDataReader.TryCleanPartialRead() [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 760]
00007F9FA14A0690 00007fa47f99e424 System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean, Boolean ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 3286]
00007F9FA14A06F0 00007fa4804742e5 System.Data.SqlClient.SqlDataReader+c__DisplayClass190_0.b__1(System.Threading.Tasks.Task) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 4448]
00007F9FA14A0720 00007fa480a239ea System.Data.SqlClient.SqlDataReader+c__DisplayClass194_0`1[[System.Boolean, System.Private.CoreLib]].b__0(System.Threading.Tasks.Task`1<System.Object>) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 4804]
00007F9FA14A0770 00007fa4803fa6ce System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InnerInvoke() [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/TaskContinuation.cs @ 191]
00007F9FA14A07B0 00007fa4803d5551 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/_/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs @ 315]
00007F9FA14A07F0 00007fa4803d1c2c System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread) [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/Task.cs @ 2421]
00007F9FA14A0870 00007fa4803b99a9 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F9FA14A0C80 00007fa4f11512df [DebuggerU2MCatchHandlerFrame: 00007f9fa14a0c80] 
OS Thread Id: 0x3f8a (25)
        Child SP               IP Call Site
00007F9FA3154580 00007fa4803bc857 System.Data.SqlClient.TdsParser.TryGetTokenLength(Byte, System.Data.SqlClient.TdsParserStateObject, Int32 ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 5889]
...
00007F9FA3154670 00007fa4803d2fba System.Data.SqlClient.SqlDataReader.TryCleanPartialRead() [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 760]
00007F9FA3154690 00007fa47f99e424 System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean, Boolean ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 3286]
...
00007F9FA3154870 00007fa4803b99a9 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F9FA3154C80 00007fa4f11512df [DebuggerU2MCatchHandlerFrame: 00007f9fa3154c80] 
OS Thread Id: 0x5211 (37)
        Child SP               IP Call Site
00007F9FD2FFC570 00007fa4803bc921 System.Data.SqlClient.TdsParserStateObject.TryReadUInt16(UInt16 ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParserStateObject.cs @ 1519]
00007F9FD2FFC580 00007fa4803bc891 System.Data.SqlClient.TdsParser.TryGetTokenLength(Byte, System.Data.SqlClient.TdsParserStateObject, Int32 ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 5889]
00007F9FD2FFC5C0 00007fa4803e2c06 System.Data.SqlClient.TdsParser.TrySkipValue(System.Data.SqlClient.SqlMetaDataPriv, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4399]
00007F9FD2FFC640 00007fa47f9a5e03 System.Data.SqlClient.TdsParser.TrySkipRow(System.Data.SqlClient._SqlMetaDataSet, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4334]
...
00007F9FD2FFC870 00007fa4803b99a9 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F9FD2FFCC80 00007fa4f11512df [DebuggerU2MCatchHandlerFrame: 00007f9fd2ffcc80] 
OS Thread Id: 0x5212 (38)
        Child SP               IP Call Site
00007F9FB3FFE580 00007fa4803bc839 System.Data.SqlClient.TdsParser.TryGetTokenLength(Byte, System.Data.SqlClient.TdsParserStateObject, Int32 ByRef) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 5889]
00007F9FB3FFE5C0 00007fa4803e2c06 System.Data.SqlClient.TdsParser.TrySkipValue(System.Data.SqlClient.SqlMetaDataPriv, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4399]
00007F9FB3FFE640 00007fa47f9a5e03 System.Data.SqlClient.TdsParser.TrySkipRow(System.Data.SqlClient._SqlMetaDataSet, Int32, System.Data.SqlClient.TdsParserStateObject) [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/TdsParser.cs @ 4334]
00007F9FB3FFE670 00007fa4803d2fba System.Data.SqlClient.SqlDataReader.TryCleanPartialRead() [/_/src/System.Data.SqlClient/src/System/Data/SqlClient/SqlDataReader.cs @ 760]
...
00007F9FB3FFE7F0 00007fa4803d1c2c System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread) [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/Task.cs @ 2421]
00007F9FB3FFE870 00007fa4803b99a9 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F9FB3FFEC80 00007fa4f11512df [DebuggerU2MCatchHandlerFrame: 00007f9fb3ffec80]

從卦中看,雖然異步寫的很爽,可逆向分析起來真的是上刀山下火海。。。接下來思路在哪里呢?可以這么想,既然是和 SqlDataReader 有關系,那就挖一挖,看看里面有什么sql。

0:025> !dso
OS Thread Id: 0x3f8a (25)
RSP/REG          Object           Name
rdx              00007fa128ad9c08 System.Data.SqlClient.SNI.TdsParserStateObjectManaged
rdi              00007fa128ad9c08 System.Data.SqlClient.SNI.TdsParserStateObjectManaged
r9               00007fa128ad9c08 System.Data.SqlClient.SNI.TdsParserStateObjectManaged
r12              00007fa128ad9c08 System.Data.SqlClient.SNI.TdsParserStateObjectManaged
r13              00007fa128ad9b70 System.Data.SqlClient.TdsParser
...
00007F9FA31546B0 00007fa3297b8fb8 System.Data.SqlClient.SqlDataReader
...

0:025> !DumpObj /d 00007fa3297b84d0
Name:        System.String
MethodTable: 00007fa477db0f90
EEClass:     00007fa477d1e230
Size:        2496(0x9c0) bytes
File:        /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.22/System.Private.CoreLib.dll
String:      select xxx,xxx,xxx,xxx from template_xxxreport where 1=1 
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
00007fa477daa0e8  400022a        8         System.Int32  1 instance             1237 _stringLength
00007fa477da6f00  400022b        c          System.Char  1 instance               73 _firstChar
00007fa477db0f90  400022c      108        System.String  0   static 00007fa027fff360 Empty

從 sql 看貌似是讀了 template_xxxreport 表, 而且還沒有篩選條件,看樣子是深夜跑什么數據把 CPU 給抬起來了,那接下里的問題是什么地方會執行這條sql呢?

3. 到底在哪里執行的

剛才的線程棧看不到一句用戶代碼,我們還可以用 !gcroot 追蹤下這個 sql 的祖宗,可能會有新的發現哦。

0:025> !gcroot 00007fa3297b84d0
    00007F9FA3154770 00007FA4803FA6CE System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InnerInvoke() [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/TaskContinuation.cs @ 191]
        rbx: 
            ->  00007FA233579680 System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[[System.Object, System.Private.CoreLib],[System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]], System.Private.CoreLib]]
            ->  00007FA233579748 System.Threading.Tasks.UnwrapPromise`1[[System.Boolean, System.Private.CoreLib]]
            ...
            ->  00007FA329BE4BB0 System.Threading.Tasks.StandardTaskContinuation
            ->  00007FA329BE4B18 System.Threading.Tasks.ContinuationTaskFromResultTask`1[[System.Boolean, System.Private.CoreLib]]
            ->  00007FA329BE4AD8 System.Action`1[[System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]], System.Private.CoreLib]]
            ->  00007FA329BE2AE8 System.Data.SqlClient.SqlDataReader+<>c__DisplayClass195_0`1[[System.Boolean, System.Private.CoreLib]]
            ->  00007FA32982AE50 System.Threading.Tasks.TaskCompletionSource`1[[System.Boolean, System.Private.CoreLib]]
            ->  00007FA32982AE68 System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]]
            ->  00007FA3297B91B0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[xxx.xxx.Template_xxxxReport, xxx.xxx],[Dapper.SqlMapper+<QueryRowAsync>d__34`1[[xxx.xxxx.Template_xxxxReport, xxx.xxxx]], Dapper]]
            ->  00007FA3297B84D0 System.String

從引用鏈條看,這條sql使用 Dapper 的 QueryRowAsync 查詢,實體類是 xxx.xxxx.Template_xxxxReport,有了這些信息就好辦了,反饋給朋友后,讓朋友看下這是哪里的sql和model。

據朋友調查后,說是用的某商業數據訪問sdk 內部邏輯不嚴謹造成的,參考代碼如下:

public async Task<T> FindEntity<T>(object param) where T : class
    {
        //核心問題
        if (param == null)
        {
            param = new { };
        }

        var parameters = param.ToObject();

        //參數拼接
        foreach (var item in parameters)
        {
            // xxxxx
        }
    }

當 param =null 時,底層用 param = new { }; 當無參數處理,這就導致全表sql的發生,朋友說現在想想都有點后怕。。。

圖片

三:總結

這次事故主要是由 某商業數據訪問sdk 在異常參數處理時邏輯不嚴謹所致,畢竟 拋異常 比 全量查詢 要好得多,大家在買商業組件的時候,且行且珍惜。

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2024-08-08 11:21:01

2021-10-27 07:30:32

.NETCPU論壇

2022-10-24 07:48:37

.NETCPUGC

2024-03-15 15:15:53

.NETCPU系統

2023-07-31 22:29:20

CPU.NETAPI

2021-05-17 07:43:06

Web站 CPU.NET

2024-12-31 09:36:06

2023-11-01 10:46:12

.NET線程同步

2021-04-21 07:38:41

CPU游戲站程序

2022-10-10 17:52:08

CPUERP系統

2024-11-29 10:06:59

2022-02-23 10:12:58

CPUWeb.NET

2023-05-08 08:25:52

2024-03-28 12:56:36

2023-04-06 10:52:18

2023-09-26 01:11:58

MES非托管泄露

2023-03-26 20:24:50

ERP網站系統

2024-03-26 00:44:53

.NETCIM系統

2024-07-09 11:51:20

Windows線程池源碼

2024-07-01 13:00:24

.NET網絡邊緣計算
點贊
收藏

51CTO技術棧公眾號

国产免费嫩草影院| 亚洲欧美另类动漫| 欧洲一级在线观看| 美女爽到高潮91| 久久久久久91| 欧美亚洲色综久久精品国产| 亚洲精品观看| 欧洲精品一区二区三区在线观看| 麻豆视频传媒入口| 欧美挠脚心网站| 国产高清精品久久久久| 日本不卡视频在线播放| 欧美成人三级视频| 欧美美女视频| 亚洲成人精品久久| 九九九九九伊人| 伊伊综合在线| 亚洲午夜精品17c| 一区二区三区电影| 日本一二三区在线视频| 国产成人丝袜美腿| 国产精品视频在线观看| 成年人免费高清视频| 97精品国产一区二区三区| 亚洲美女www午夜| 国产高潮失禁喷水爽到抽搐 | 国产精品视频麻豆| 好看的日韩精品视频在线| 国产精品爽爽久久| 奇米精品一区二区三区在线观看 | 一区二区日韩在线观看| 久久在线91| 69久久夜色精品国产69乱青草| 尤物在线免费视频| 久久人人99| 亚洲天堂2020| 无码一区二区三区在线| 青青久久av| 亚洲成色www8888| 师生出轨h灌满了1v1| 国产亚洲久久| 欧美乱熟臀69xxxxxx| 亚洲少妇久久久| 日韩欧美一区二区三区在线观看 | 中文字幕精品一区| 日韩三级电影免费观看| 日韩二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 91在线短视频| 懂色av成人一区二区三区| 国产一区日韩二区欧美三区| 91精品国产综合久久香蕉的用户体验| 中文字幕欧美在线观看| 蜜桃一区二区三区四区| 国产精品久久久久秋霞鲁丝 | 成人欧美一区二区三区的电影| 亚洲不卡av一区二区三区| 国产高清av在线播放| 蜜臀久久精品| 色呦呦国产精品| 国产成人精品视频ⅴa片软件竹菊| 中文字幕一区久| 色偷偷成人一区二区三区91 | 中文字幕色呦呦| 视频在线这里都是精品| 亚洲一区二区欧美日韩| 免费无码毛片一区二三区| 人狥杂交一区欧美二区| 91久久精品日日躁夜夜躁欧美| 91网址在线播放| 一区在线不卡| 日韩一区二区三区视频| 亚洲av成人精品一区二区三区| 国产色噜噜噜91在线精品| 精品一区精品二区| 999福利视频| 欧美 日韩 国产 一区| 久久久人成影片一区二区三区| 欧美bbbbbbbbbbbb精品| 麻豆精品视频在线观看免费| 亚洲最大av在线| 亚洲欧洲国产综合| 国产精品成人一区二区艾草| 久操手机在线视频| 美女网站视频一区| 日韩欧美一区中文| av网站有哪些| 国产高清久久| 亚州国产精品久久久| 国产又粗又猛又黄视频| 国产精品中文有码| 蜜桃成人免费视频| 久久日韩视频| 色天天综合久久久久综合片| 亚洲色图偷拍视频| 亚洲国产精品嫩草影院久久av| 日韩在线小视频| 日韩精品乱码久久久久久| 美女在线一区二区| 久久精品国产综合精品| 麻豆传媒在线观看| 精品久久久久久亚洲国产300| 久久精品影视大全| 日韩高清影视在线观看| 久久亚洲综合国产精品99麻豆精品福利 | 一区二区在线免费看| 久久99精品国产自在现线| 色妞一区二区三区| 国产精品人人人人| 国产成人在线色| 在线视频福利一区| 神马电影网我不卡| 亚洲福利在线看| www.xxxx日本| 琪琪一区二区三区| 久久天天狠狠| 免费污视频在线观看| 欧美日韩成人综合| 中文字幕在线1| 国产视频亚洲| 国产精品久久亚洲7777| 久草中文在线观看| 欧美日韩一区二区三区高清| 四虎永久免费影院| 在线免费高清一区二区三区| 92看片淫黄大片看国产片| 北条麻妃在线| 色婷婷av一区二区三区大白胸| 日本少妇毛茸茸| 亚洲激情另类| 岛国视频一区| 亚洲综合影视| 91超碰这里只有精品国产| 欧美人与禽zoz0善交| 亚洲欧美卡通另类91av| 精品久久久久久一区二区里番| 久久av色综合| 欧美va亚洲va香蕉在线| 中文字幕影音先锋| 国产精品一区三区| 黄色a级片免费看| 亚洲一区二区三区四区电影| 欧美多人乱p欧美4p久久| 国产av一区二区三区精品| 亚洲少妇中出一区| 亚洲自拍第三页| 亚洲综合激情在线| 99久久自偷自偷国产精品不卡| 国产秀色在线www免费观看| 欧美丰满高潮xxxx喷水动漫| 永久免费看片直接| 国产成人免费视频一区| 日产精品久久久久久久蜜臀| 成人香蕉社区| 55夜色66夜色国产精品视频| 日本福利片在线| 欧美亚洲国产bt| 国产农村妇女精品一区| 国产一区二区三区精品欧美日韩一区二区三区| 中文字幕人成一区| 麻豆精品在线| 91精品国产高清久久久久久91| 天堂在线观看视频| 日本韩国一区二区| 亚洲综合视频网站| 国产91富婆露脸刺激对白| 欧美大片在线播放| 国产一卡不卡| 91精品啪在线观看麻豆免费| 欧美videossex| 国产婷婷色综合av蜜臀av | 91高清视频在线观看| 亚洲三级免费看| 一区二区三区免费观看视频| 伊人色综合久久天天人手人婷| 无码一区二区精品| 日韩福利视频网| 无码毛片aaa在线| 久久a爱视频| 国产精品久久久久久久久久东京 | 成人情趣视频网站| 69174成人网| 欧美精品日日操| 久久亚洲精品一区| 日本视频在线观看一区二区三区 | 亚洲第一区第二区第三区| 欧美黄色aaaa| 日韩国产美国| 亚洲视频精选| 国产精品久久97| 国产乱妇乱子在线播视频播放网站| 日韩精品中文字幕在线播放| 97精品人妻一区二区三区在线| 亚洲成a人片在线观看中文| 日本免费www| 国v精品久久久网| 国产精品久久久毛片| 影院欧美亚洲| 自拍亚洲欧美老师丝袜| 在线成人动漫av| www.久久草| 日韩欧乱色一区二区三区在线| 668精品在线视频| 最新国产在线拍揄自揄视频| 亚洲欧美成人精品| www.国产黄色| 欧美日韩高清一区二区三区| 亚洲男人第一av| 一二三区精品视频| 暗呦丨小u女国产精品| 久久精品夜色噜噜亚洲a∨| 国产伦理在线观看| 精品综合久久久久久8888| 国产又大又硬又粗| 在线欧美不卡| 欧美极品少妇无套实战| 久久精品国产大片免费观看| 欧美日韩一区二区视频在线观看| 嗯用力啊快一点好舒服小柔久久| 成人啪啪免费看| 亚洲mmav| 青青久久aⅴ北条麻妃| 久久免费电影| 久久国产精品偷| 欧洲美女少妇精品| 中国人与牲禽动交精品| 蜜桃视频在线观看网站| 日韩精品极品视频| 天堂在线资源8| 精品久久一区二区| 成人av手机在线| 91精品欧美久久久久久动漫| 中文字幕在线观看免费| 欧美午夜视频网站| 国产精品无码一区| 欧美又粗又大又爽| 在线观看国产区| 91福利视频在线| 日本丰满少妇做爰爽爽| 一本一道久久a久久精品 | 欧美日产在线观看| 中文字幕日产av| 欧美日韩精品久久久| 在线不卡免费视频| 欧美日韩亚州综合| 97久久人国产精品婷婷| 欧美日本在线观看| 国产精品久久欧美久久一区| 欧美精品电影在线播放| 国产理论片在线观看| 91精品国产乱| 亚洲第一视频在线| 亚洲精品国精品久久99热一| 天天插天天干天天操| 日韩第一页在线| 国产在线你懂得| 中文字幕亚洲专区| 免费大片黄在线观看视频网站| 不卡av电影在线观看| 久久香蕉av| 青草成人免费视频| 午夜精品久久久久久毛片| 亚洲aⅴ日韩av电影在线观看| 警花av一区二区三区| 精品婷婷色一区二区三区蜜桃| 美女少妇全过程你懂的久久| 亚洲a∨一区二区三区| 亚洲情侣在线| 免费成人午夜视频| 日本亚洲免费观看| 欧美高清精品一区二区| 99精品一区二区三区| 夜夜春很很躁夜夜躁| 亚洲欧洲制服丝袜| 一级成人黄色片| 欧美二区三区的天堂| 欧美一级淫片免费视频魅影视频| 亚洲欧美自拍一区| 成人在线观看亚洲| 2020国产精品视频| 大胆国模一区二区三区| 国产精品加勒比| 欧美中文字幕一区二区| 国产欧美123| 久久国产99| 亚洲成人av免费观看| 久久免费电影网| 中文字幕av免费在线观看| 欧美日韩国内自拍| 国产精品欧美激情在线| 日韩国产高清污视频在线观看| 日韩在线观看www| 茄子视频成人在线| 久久69av| 日韩欧美在线电影| 亚洲三级网站| 亚洲图片 自拍偷拍| 国产欧美一区二区三区在线老狼 | 黄色片网站在线| 青青草国产精品一区二区| 人人九九精品视频| 午夜老司机精品| 亚洲视频1区| 精品国产aⅴ一区二区三区东京热| 国产视频在线观看一区二区三区| 免费看一级一片| 3d动漫精品啪啪一区二区竹菊| 男人天堂网在线观看| 久久久久亚洲精品| 精品中文字幕一区二区三区| 色综合666| 噜噜噜躁狠狠躁狠狠精品视频| 不许穿内裤随时挨c调教h苏绵| 国产精品久久久久久久浪潮网站| 日本特级黄色片| 精品国产乱码久久久久久牛牛| 麻豆视频网站在线观看| 国产精品中文字幕在线| 自拍欧美一区| 亚洲午夜无码av毛片久久| 成人午夜在线免费| 久久综合加勒比| 欧美一区二区三区播放老司机| 日本高清中文字幕在线| 国产精品久久久久免费a∨| 国产一区不卡| 99久久国产宗和精品1上映| 91在线国产福利| 国产精品999久久久| 精品少妇一区二区三区在线视频 | 亚洲欧洲性图库| 在线观看毛片视频| 精品国产一区av| 另类一区二区三区| 亚洲一区二区在线观| 日本成人中文字幕| 国产不卡在线观看视频| 欧美综合欧美视频| 成人亚洲综合天堂| 国产精选久久久久久| 日韩一区欧美| 手机av在线网| 亚洲欧美日韩久久| 精品国产999久久久免费| 久久中文字幕视频| 秋霞午夜一区二区三区视频| 黄色三级中文字幕| 成人国产精品免费观看动漫 | 99精品久久久| 久久无码人妻精品一区二区三区| 精品免费在线观看| 暖暖视频在线免费观看| 国产精品成人一区二区三区吃奶| 日韩免费高清| 国产成人精品综合久久久久99| 亚洲国产日产av| 三区在线观看| 国产精品久久久久久久久借妻| 91精品综合久久久久久久久久久| 四虎国产精品永久免费观看视频| 一级中文字幕一区二区| 日本一本草久在线中文| 国产精品永久在线| 欧美黄色一区| 亚洲精品视频久久久| 欧美日韩精品系列| 欧美伦理免费在线| 欧美成人dvd在线视频| 蜜桃精品视频在线观看| 亚洲av无码一区二区三区在线| 精品久久99ma| 国精产品一区一区三区四川| 警花观音坐莲激情销魂小说| 99久久综合国产精品| а中文在线天堂| 欧美剧在线观看| 亚洲免费毛片| 黄色一级片免费播放| 狠狠爱在线视频一区| 国产在线观看av| 久久av一区二区三区亚洲| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美人妻精品一区二区免费看| 日韩风俗一区 二区| 热久久久久久| 亚洲 欧美 日韩 国产综合 在线| 国产精品毛片久久久久久久| 黄色小视频免费观看| 国产精品久久9| 在线不卡亚洲| 日韩亚洲欧美中文字幕| 精品爽片免费看久久| 精品视频在线观看网站| 欧美黑人又粗又大又爽免费| 一卡二卡三卡日韩欧美| 北条麻妃在线| 欧美理论一区二区| 国产精品1024| 中文字幕精品在线观看| 97国产在线视频|