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

記一次 .NET 某資訊論壇 CPU爆高分析

商務(wù)辦公
雖然dump中的問題千奇百怪,但如果要匯成大類,還是有一些規(guī)律可循的,比如:gc頻繁觸發(fā),大量鎖 等等,詳細(xì)匯總可以觀摩我的星球,好了,既然分析不下去,那就上 windbg。

[[431414]]

大概有11天沒發(fā)文了,真的不是因?yàn)閼校鞠肭皫滋斐榭諏懀恢罏樯蹲罱笾呐笥驯容^多,一天都能拿到2-3個(gè)求助dump,晚上回來就是一頓分析,有點(diǎn)意思的是大多朋友自己都分析了幾遍或者公司多年的牛皮蘚問題,真的是心太累,不過也好,累那是走上坡路??????。

再回到正題,在一個(gè)月前,有位朋友wx找到我,他最近也在學(xué)習(xí)如何分析dump,可能經(jīng)驗(yàn)不是很豐富,分析不下去了,截圖如下:

雖然dump中的問題千奇百怪,但如果要匯成大類,還是有一些規(guī)律可循的,比如:gc頻繁觸發(fā),大量鎖 等等,詳細(xì)匯總可以觀摩我的星球,好了,既然分析不下去,那就上 windbg。

二:Windbg 分析

1. 查看CPU利用率

既然報(bào)過來說cpu過高,我得用數(shù)據(jù)驗(yàn)證下不是,老命令 !tp 。

  1. 0:057> !tp 
  2. CPU utilization: 100% 
  3. Worker Thread: Total: 51 Running: 30 Idle: 0 MaxLimit: 400 MinLimit: 4 
  4. Work Request in Queue: 11 
  5.     Unknown Function: 6a0bbb30  Context: 1b4ca258 
  6.     Unknown Function: 6a0bbb30  Context: 1b4ca618 
  7.     Unknown Function: 6a0bbb30  Context: 1b4ca758 
  8.     Unknown Function: 6a0bbb30  Context: 1cb88d60 
  9.     Unknown Function: 6a0bbb30  Context: 1b4ca798 
  10.     Unknown Function: 6a0bbb30  Context: 1b5a54d0 
  11.     AsyncTimerCallbackCompletion TimerInfo@01f6e530 
  12.     Unknown Function: 6a0bbb30  Context: 1b5a5a50 
  13.     Unknown Function: 6a0bbb30  Context: 1cb892a0 
  14.     Unknown Function: 6a0bbb30  Context: 1b4ca8d8 
  15.     Unknown Function: 6a0bbb30  Context: 1cb88da0 
  16. -------------------------------------- 
  17. Number of Timers: 1 
  18. -------------------------------------- 
  19. Completion Port Thread:Total: 1 Free: 1 MaxFree: 8 CurrentLimit: 1 MaxLimit: 400 MinLimit: 4 

我去,cpu打滿了,對了,這里稍微提醒下, CPU utilization: 100% 指的是當(dāng)前機(jī)器而不是程序,言外之意就是當(dāng)機(jī)器的CPU 100% 時(shí),并不一定是你所dump的程序造成的。

2. 是否為 GC 觸發(fā)

面對這陌生的dump,先進(jìn)行一些經(jīng)驗(yàn)性排查,比如說是否為 GC 觸發(fā)導(dǎo)致? 那怎么去驗(yàn)證這個(gè)假設(shè)呢?為了讓結(jié)果更準(zhǔn)確一點(diǎn),用 !t -special 導(dǎo)出線程列表,看看是否有 GC SuspendEE 字樣。

  1. 0:057> !t -special 
  2. ThreadCount:      109 
  3. UnstartedThread:  0 
  4. BackgroundThread: 74 
  5. PendingThread:    0 
  6. DeadThread:       35 
  7. Hosted Runtime:   no 
  8.  
  9.           OSID Special thread type 
  10.        14 2594 DbgHelper  
  11.        15 2be4 GC SuspendEE  
  12.        16  dc4 GC  
  13.        17 2404 GC  
  14.        18  bb4 GC  
  15.        19 2498 Finalizer  
  16.        20 312c ProfilingAPIAttach  
  17.        21  858 Timer  
  18.        22 3a78 ADUnloadHelper  
  19.        27 290c GC  
  20.        28 2e24 GC  
  21.        29 28b0 GC  
  22.        30 1e64 GC  
  23.        38 3b24 ThreadpoolWorker  
  24.        ... 
  25.        90 2948 Gate  

從輸出看,尼瑪果然有,那就表明確實(shí)是GC觸發(fā)所致,如果你還不相信的話,可以參考下 coreclr 源碼。

  1. size_t 
  2. GCHeap::GarbageCollectGeneration(unsigned int gen, gc_reason reason) 
  3.     dprintf (2, ("triggered a GC!")); 
  4.  
  5.     gc_heap::gc_started = TRUE
  6.  
  7.     { 
  8.         init_sync_log_stats(); 
  9.  
  10. #ifndef MULTIPLE_HEAPS 
  11.         cooperative_mode = gc_heap::enable_preemptive (); 
  12.  
  13.         dprintf (2, ("Suspending EE")); 
  14.         BEGIN_TIMING(suspend_ee_during_log); 
  15.         GCToEEInterface::SuspendEE(SUSPEND_FOR_GC); 
  16.         END_TIMING(suspend_ee_during_log); 
  17.         gc_heap::proceed_with_gc_p = gc_heap::should_proceed_with_gc(); 
  18.         gc_heap::disable_preemptive (cooperative_mode); 
  19.         if (gc_heap::proceed_with_gc_p) 
  20.             pGenGCHeap->settings.init_mechanisms(); 
  21.         else 
  22.             gc_heap::update_collection_counts_for_no_gc(); 
  23.  
  24. #endif //!MULTIPLE_HEAPS 
  25.     } 

看到上面的 SuspendEE 的嗎,它的全稱就是 Suspend CLR Execute Engine,接下來我們用 ~*e !dumpstack 看看哪一個(gè)線程觸發(fā)了 CLR 中的 GarbageCollectGeneration 方法。

從圖中可以看到是 53 號線程觸發(fā)了,切到53號線程后換用 !clrstack。

從線程棧看,程序做了一個(gè) XXX.GetAll() 操作,一看這名字就蠻恐怖的,接下來我們再看看這塊源碼,到底做了什么操作,簡化后的源碼如下:

  1. public static List<xxxx> GetAll() 
  2.         { 
  3.             string text = "xxxProperty_GetAll"
  4.             SqlDatabase val = new SqlDatabase(m_strConnectionString); 
  5.             xxxPropertyTreeInfo xxxPropertyTreeInfo = null
  6.             List<xxxPropertieInfo> list = new List<xxxPropertieInfo>(); 
  7.             DbCommand storedProcCommand = ((Database)val).GetStoredProcCommand(text); 
  8.             using (IDataReader reader = ((Database)val).ExecuteReader(storedProcCommand)) 
  9.             { 
  10.                 while (DataBase.DataReaderMoveNext(reader)) 
  11.                 { 
  12.                     xxxPropertyTreeInfo = new xxxPropertyTreeInfo(); 
  13.                     xxxPropertyTreeInfo.LoadDataReader(reader); 
  14.                     list.Add(xxxPropertyTreeInfo); 
  15.                 } 
  16.             } 
  17.             return list; 
  18.         } 
  19.  
  20.         public virtual void LoadDataReader(MethodBase method, object obj, IDataReader reader) 
  21.         { 
  22.             Hashtable hashtable = new Hashtable(); 
  23.             for (int i = 0; i < reader.FieldCount; i++) 
  24.             { 
  25.                 hashtable.Add(reader.GetName(i).ToLower(), reader.GetValue(i)); 
  26.             } 
  27.             Hashtable fieldProperties = GetFieldProperties(method, FieldType.DBField); 
  28.             foreach (object key in fieldProperties.Keys) 
  29.             { 
  30.                 PropertyInfo p = (PropertyInfo)fieldProperties[key]; 
  31.                 object v = null
  32.                 if (hashtable.Contains(key)) 
  33.                 { 
  34.                     v = hashtable[key]; 
  35.                 } 
  36.                 if (v != null
  37.                 { 
  38.                     SetPropertieValue(ref obj, ref p, ref v); 
  39.                 } 
  40.             } 
  41.         } 

從源碼邏輯看:它執(zhí)行了一個(gè)存儲過程 xxxProperty_GetAll , 然后把獲取到數(shù)據(jù)的 reader 和 xxxPropertyTreeInfo 做了一個(gè) mapping 映射,在映射的過程中觸發(fā)了GC。

3. 是否為數(shù)據(jù)過大導(dǎo)致?

按照以往經(jīng)驗(yàn),應(yīng)該是從數(shù)據(jù)庫中獲取了過多數(shù)據(jù)導(dǎo)致,那本次dump是不是呢?要想尋找答案, 先用 !dso 命令導(dǎo)出線程棧所有變量,然后用 !do xxx 查看 List list 的size,如下圖所示:

從圖中看,這個(gè)size并不大,那為什么會導(dǎo)致gc頻繁觸發(fā)呢?就算做了 反射 產(chǎn)生了很多的小對象,應(yīng)該也沒多大影響哈。。。這又讓我陷入了沉思。。。

4. 尋找問題根源

經(jīng)過一頓查找,我發(fā)現(xiàn)了幾個(gè)疑點(diǎn)。

有24個(gè)線程正在執(zhí)行 XXX.GetALL() 方法。

托管堆中發(fā)現(xiàn)了 123 個(gè) list,大的size 也有 1298,所以合計(jì)起來也不小哈。。。

  1. 0:053> !dumpheap -mt 1b9eadd0 
  2.  Address       MT     Size 
  3. 02572a9c 1b9eadd0       24      
  4. 026eca58 1b9eadd0       24      
  5. 0273d2a0 1b9eadd0       24  
  6. ... 
  7.  
  8. Statistics
  9.       MT    Count    TotalSize Class Name 
  10. 1b9eadd0      123         2952 System.Collections.Generic.List`1[[xxxPropertieInfo, xxx.Model]] 
  11.  
  12. 0:053> !DumpObj /d 28261894 
  13. Name:        System.Collections.Generic.List`1[[xxxPropertieInfo, xxx.Model]] 
  14. MethodTable: 1b9eadd0 
  15. EEClass:     6e2c6f8c 
  16. Size:        24(0x18) bytes 
  17. File:        C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll 
  18. Fields: 
  19.       MT    Field   Offset                 Type VT     Attr    Value Name 
  20. 6e6ff32c  4001891        4     System.__Canon[]  0 instance 23710638 _items 
  21. 6e6f1bc0  4001892        c         System.Int32  1 instance     1298 _size 
  22. 6e6f1bc0  4001893       10         System.Int32  1 instance     1298 _version 
  23. 6e6f0100  4001894        8        System.Object  0 instance 00000000 _syncRoot 
  24. 6e6ff32c  4001895        4     System.__Canon[]  0   static  <no information> 

程序是 32bit

從內(nèi)存地址就能判斷當(dāng)前程序是 32bit,這就意味著它的 segment 段會很小,也就意味著更多的GC回收。

三:總結(jié)

本次事故是由于:

多個(gè)線程頻繁重復(fù)的調(diào)用 size=1298 的 GetALL() 方法。

使用低效的 反射方式 進(jìn)行model映射,映射過程中產(chǎn)生了不少的小對象。

過小的 segment (32M)

三者結(jié)合造成GC頻繁的觸發(fā)。

改進(jìn)方法也很簡單。

  • 最簡單粗暴的方法:將數(shù)據(jù)庫的查詢結(jié)果緩存一份。
  • 稍微正規(guī)一點(diǎn)方法:用 Dapper 替換低效的 手工反射,將程序改成 64bit 。

和朋友溝通了解,采用了第一種方法,終于把 CPU 摁下去了,一切都恢復(fù)了平靜!

本文轉(zhuǎn)載自微信公眾號「一線碼農(nóng)聊技術(shù)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系一線碼農(nóng)聊技術(shù)公眾號。

 

責(zé)任編輯:武曉燕 來源: 一線碼農(nóng)聊技術(shù)
相關(guān)推薦

2024-08-08 11:21:01

2022-10-24 07:48:37

.NETCPUGC

2021-05-17 07:43:06

Web站 CPU.NET

2024-12-31 09:36:06

2023-05-12 17:42:22

CPUMES系統(tǒng)

2024-03-15 15:15:53

.NETCPU系統(tǒng)

2021-04-21 07:38:41

CPU游戲站程序

2023-07-31 22:29:20

CPU.NETAPI

2023-11-01 10:46:12

.NET線程同步

2022-02-23 10:12:58

CPUWeb.NET

2023-06-26 00:12:46

2024-12-27 13:31:18

.NETdump調(diào)試

2024-03-28 12:56:36

2023-04-06 10:52:18

2023-07-06 10:11:38

.NET模式dump

2024-05-20 09:39:02

.NETurl線程池

2023-09-27 07:23:10

.NET監(jiān)控軟件

2024-07-12 11:20:34

.NET崩潰視覺程序

2024-03-26 00:44:53

.NETCIM系統(tǒng)

2022-10-13 18:40:05

.NETOA后端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

成人在线观看黄| 97人人模人人爽人人少妇| 亚洲一区二区观看| 国产成人精品一区二区三区免费 | 国产精品自拍偷拍视频| 精品无码一区二区三区蜜臀| 51亚洲精品| 91久久精品日日躁夜夜躁欧美| 亚洲精品日韩精品| 粉嫩av一区二区夜夜嗨| 日韩高清不卡一区二区| 久久99亚洲精品| 亚洲综合欧美综合| 97青娱国产盛宴精品视频| 在线观看视频91| 久久人人爽人人爽人人av| 高清av在线| 国产精品igao视频网网址不卡日韩| 亚洲专区一二三| 亚洲国产欧美一区二区三区不卡| 亚洲第一大网站| 亚洲欧美偷拍自拍| 精品一区二区三区四区在线| www.日本久久| 欧美黄色三级| 欧美日韩国产激情| 韩国成人一区| 国产女18毛片多18精品| 肉色丝袜一区二区| 国语自产偷拍精品视频偷| 欧美激情精品久久久久久免费| 日韩电影不卡一区| 精品久久久久久久久久久久包黑料| 青春草在线视频免费观看| 手机在线不卡av| 国产成人综合亚洲网站| 91精品久久久久久久| 久久影视中文字幕| 亚洲一卡久久| 国产一区二区免费| 污污污www精品国产网站| 免费一级欧美片在线观看网站| 欧美视频精品在线| caoporn超碰97| 成人开心激情| 91精品福利视频| 国产天堂在线播放| 国产精品专区免费| 色综合久久久久网| 2022亚洲天堂| xxxxxx欧美| 色8久久精品久久久久久蜜| 国产91在线亚洲| 天堂亚洲精品| 亚洲综合一区二区三区| 国产乱子伦精品无码专区| 天天干天天舔天天射| 成人免费av网站| 国产女人水真多18毛片18精品| www.我爱av| 国产91对白在线观看九色| 欧美亚洲一区在线| 西西44rtwww国产精品| 亚洲伦伦在线| 欧美亚洲另类在线| 国产伦精品一区二区三区视频我| 蜜桃av一区| 国产精品视频在线观看| 91资源在线视频| 国产综合久久久久影院| 91精品网站| 凸凹人妻人人澡人人添| 久久av老司机精品网站导航| 成人免费网站在线看| 国产美女www爽爽爽视频| 国产毛片精品视频| 国产精品久久久久久免费观看| 欧美熟妇交换久久久久久分类| 99re这里只有精品6| 鲁丝一区二区三区免费| avtt亚洲| 亚洲精品免费看| 91九色在线观看视频| 欧美日韩五码| 日韩一区和二区| 国产国语老龄妇女a片| 亚洲裸色大胆大尺寸艺术写真| 亚洲人成电影网站色www| 欧美日韩人妻精品一区在线| 日韩极品少妇| 最近2019中文字幕第三页视频| 中文字幕亚洲欧美日韩| 亚洲久色影视| 日韩美女视频免费在线观看| 国产又爽又黄又嫩又猛又粗| 日韩综合一区二区| 成人精品久久av网站| 蜜桃在线一区二区| 国产精品少妇自拍| 欧美精品久久久久久久久久久| 不卡在线视频| 亚洲在线免费播放| 亚洲老女人av| 99ri日韩精品视频| 中文日韩在线视频| 国产午夜精品一区二区理论影院 | 国产丝袜视频一区| 青青青视频在线免费观看| 亚洲性视频h| 国产欧美久久久久久| 少妇喷水在线观看| 亚洲视频网在线直播| 免费av网址在线| 亚洲一级大片| 日韩一区二区福利| 日本视频免费观看| 国产成人在线网站| 日韩国产精品一区二区| h片在线观看下载| 欧美精品乱码久久久久久| 深爱五月激情网| 欧美日韩亚洲三区| 91久久久久久久| 国产尤物视频在线| 福利视频导航一区| av天堂一区二区| 欧美xxx在线观看| 国产欧美精品xxxx另类| 日韩国产福利| 亚洲国产毛片aaaaa无费看| 日本不卡一区二区在线观看| 九九综合在线| 97超级碰在线看视频免费在线看| www.日日夜夜| 亚洲日本va在线观看| 亚洲欧美国产日韩综合| 亚洲另类av| 欧美性在线视频| 日韩在线视频观看免费| 亚洲免费观看高清完整版在线观看 | 夜夜嗨av色综合久久久综合网| 婷婷激情五月网| www.久久久久久久久| 激情小视频网站| 成人动态视频| 91高清视频在线免费观看| 亚洲a视频在线| 一区二区三区色| 国产裸体视频网站| 欧美一区二区三区久久精品茉莉花| 成人在线视频网| 国产精品剧情一区二区在线观看| 欧美军同video69gay| 色婷婷粉嫩av| 国内成人自拍视频| 日韩成人午夜影院| 白白在线精品| 91精品国产乱码久久久久久蜜臀| 亚洲av成人无码网天堂| 欧美性色xo影院| 精品无人区无码乱码毛片国产| 水野朝阳av一区二区三区| 日韩欧美一区二区视频在线播放| 日韩精品免费观看视频| 日韩视频免费中文字幕| 精品乱子伦一区二区| 午夜私人影院久久久久| 老牛影视av老牛影视av| 日韩欧美一区免费| 成人看片人aa| 亚洲色图美国十次| 亚洲国产成人在线视频| 日本特级黄色片| 中文一区一区三区高中清不卡| 欧洲美女亚洲激情| 在线观看视频日韩| 欧美日韩综合网| 色爱综合区网| 亚洲精品国产精品国自产在线 | 国产精品国产三级国产专区53| 成人女同在线观看| 亚洲男人天堂网站| 精品亚洲永久免费| 2024国产精品| 老司机久久精品| 一区二区精品| 亚洲春色在线视频| 91在线一区| 国产福利成人在线| 美女尤物在线视频| 亚洲天堂色网站| 午夜久久久久久噜噜噜噜| 精品露脸国产偷人在视频| 91无套直看片红桃在线观看| 高清久久久久久| 99视频在线视频| 亚洲国产精品一区制服丝袜| 视频一区国产精品| 国产精品欧美大片| 欧美高清自拍一区| 午夜视频免费在线| 在线播放亚洲一区| 国语对白永久免费| 亚洲欧美另类综合偷拍| 90岁老太婆乱淫| 国产69精品久久久久777| 男人亚洲天堂网| 欧美日韩国产在线一区| 亚洲精品国产一区| 日本欧美韩国国产| 99久热re在线精品996热视频| 欧亚一区二区| 91福利视频网| 后进极品白嫩翘臀在线播放| www.亚洲天堂| 国产黄色免费在线观看| 亚洲国产欧美一区| 国产www免费观看| 欧美日韩三级一区二区| 性囗交免费视频观看| 看电视剧不卡顿的网站| 欧洲av无码放荡人妇网站| 黄页网站一区| 黄色一级片网址| 色97色成人| 午夜一区二区三区| 中文精品一区二区| 欧美大香线蕉线伊人久久| 亚洲精品a区| 亚洲综合精品一区二区| 色诱色偷偷久久综合| 美女精品视频一区| 中文字幕在线播放| 亚洲香蕉成视频在线观看| 偷拍精品一区二区三区| 亚洲国产精品高清久久久| www.com欧美| 日韩亚洲欧美综合| 国产精品-色哟哟| 欧美日韩国产精选| 亚洲图片在线播放| 欧美日韩国产成人在线免费| 凹凸精品一区二区三区| 色美美综合视频| 中文字幕第四页| 日韩欧美成人精品| 国产成人精品777777| 亚洲少妇中出一区| 亚洲综合第一区| 国产精品视频第一区| 黑人狂躁日本娇小| 亚洲欧美激情小说另类| 欧美特级一级片| 亚洲一二三专区| 日干夜干天天干| 国产精品久久久一本精品 | 艹b视频在线观看| 蜜臀av性久久久久av蜜臀妖精| 国产 porn| 精彩视频一区二区三区| 国产老头和老头xxxx×| 狠狠色丁香久久婷婷综合丁香| www.污网站| 成人午夜在线视频| 黄色性生活一级片| 久久久国际精品| 日韩av福利在线观看| 国产成人精品亚洲777人妖| 女性生殖扒开酷刑vk| 97se亚洲国产综合自在线| 91精品人妻一区二区| 国产欧美日本一区视频| 97在线观看免费高| 久久久久久99久久久精品网站| 久久丫精品忘忧草西安产品| 国产成人精品123区免费视频| 久久一二三四| 男人天堂成人在线| 乱一区二区av| 国产成人av免费观看| www.日韩在线| 一区二区三区在线观看免费视频| 中文字幕亚洲一区二区av在线 | 日韩精品一区二区三区色欲av| 日韩一区精品字幕| 樱花草www在线| 99精品国产91久久久久久| 五月激情四射婷婷| 亚洲一线二线三线视频| 波多野结衣一区二区在线| 正在播放亚洲一区| 性高潮久久久久久久久久| 国产福利电影一区二区三区| 国产精品自产拍高潮在线观看| 巨大黑人极品videos精品| 国产99午夜精品一区二区三区| 久久99影视| 成人毛片100部免费看| 久久精品国语| 中文字幕永久免费| 国产欧美精品在线观看| 免费一级肉体全黄毛片| 在线观看91精品国产入口| av中文字幕观看| 夜夜嗨av色综合久久久综合网| 丰满的护士2在线观看高清| 国产精品激情av电影在线观看| 日本一区二区三区电影免费观看| 欧美在线播放一区| 色999韩欧美国产综合俺来也| 成人免费91在线看| 久久久综合色| 久久9精品区-无套内射无码| 国产精品1区二区.| avhd101老司机| 欧美日韩美女在线观看| 日韩一区二区视频在线| 欧美成人a∨高清免费观看| 香蕉视频免费在线播放| 日本成人免费在线| 欧美人妖视频| 国产日韩欧美精品在线观看| 国产一区欧美日韩| jizz日本在线播放| 色婷婷一区二区| 网站黄在线观看| 韩国19禁主播vip福利视频| 黄色网址在线免费播放| 日本sm极度另类视频| 国内精品偷拍| a天堂资源在线观看| 国产福利一区二区三区视频在线| 国产喷水在线观看| 欧美日本乱大交xxxxx| 国产精品久久一区二区三区不卡| 欧美亚洲国产视频| 久久夜色精品国产噜噜av小说| 国产91porn| 国产成a人亚洲| 久久高清无码视频| 日韩免费一区二区三区在线播放| 美女免费久久| 成人久久久久爱| 亚洲国产精品成人| 91网址在线观看精品| 国产精品国产三级国产普通话99| 小泽玛利亚一区二区三区视频| 亚洲欧美综合v| 日本美女久久| 午夜精品一区二区在线观看| 秋霞电影一区二区| 蜜桃av免费观看| 欧美日韩成人一区| 成人ww免费完整版在线观看| 国模精品系列视频| 91久久精品无嫩草影院| 日韩精品视频在线观看视频| 成人短视频下载| 日韩少妇裸体做爰视频| 亚洲男人天堂手机在线| 亚洲国产尤物| 中文视频一区视频二区视频三区| 精品一区二区免费在线观看| 中文字幕人妻一区二| 欧美变态口味重另类| 国产亚洲成av人片在线观看| 欧洲高清一区二区| 美腿丝袜亚洲综合| 久热这里有精品| 色先锋资源久久综合| √新版天堂资源在线资源| 国产精品一区二区久久| 亚洲一区二区三区| 视频免费在线观看| 色天使久久综合网天天| 欧美三级理伦电影| 成人免费在线看片| 香蕉视频成人在线观看| 国产精品久久国产精麻豆96堂| 欧美一级片在线观看| 蜜桃视频www网站在线观看| 日韩av免费电影| 国产精品一卡二卡在线观看| 日韩成人免费在线观看| 国产一区二区三区丝袜| 国产欧美88| 人妻有码中文字幕| 成人免费在线观看入口| 欧美特级特黄aaaaaa在线看| 国产精品国产三级国产aⅴ9色| 一区二区在线| 亚洲综合色一区| 欧美一区二区黄| 国产精欧美一区二区三区蓝颜男同| 影音先锋男人的网站| 久久亚洲一级片| 亚洲成熟女性毛茸茸| 国产精品久久久久91| 亚洲成人在线| 久久精品日韩无码|