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

絕了!這個MySQL故障定位方法太好用了

新聞 前端
這篇文章介紹的探針像調(diào)試程序時候打斷點一樣,只不過打斷點是有交互的,同時是以字節(jié)碼形式運行在內(nèi)核虛擬機(BPF)中的。

我們都知道,MySQL 中的錯誤日志,慢查詢?nèi)罩究梢詭湍憧焖俣ㄎ粏栴}。

但有時候,日志記錄的信息過少,或者是你感興趣信息被沒有被記下來,有時候又記錄了過多問題,大量無效信息干擾你排查問題。

因此,這篇文章介紹一種新的思路——探針技術(shù),這種技術(shù)可以在不影響 MySQL 運行,不破現(xiàn)場環(huán)境的前提下,在系統(tǒng)中的關(guān)鍵節(jié)點插入一些探針來收集信息。

理論上,探針可以插入 MySQL 或者 Linux 內(nèi)核任意函數(shù)進(jìn)出口,輕松訪問參數(shù)等其他詳細(xì)信息,資源損失很少,一旦移除探針后沒有任何損失。就像醫(yī)生給病人拍片子一樣,在不影響病人健康前提下,實時觀察病人體內(nèi)情況,為分析病因提供依據(jù)和支撐。

Part1 探針的原理

這篇文章介紹的探針像調(diào)試程序時候打斷點一樣,只不過打斷點是有交互的,同時是以字節(jié)碼形式運行在內(nèi)核虛擬機(BPF)中的。

一、異常

異常(exception) 就是控制流中的突變,用來響應(yīng)處理器狀態(tài)中的某些變化。理解異常有助于理解探針技術(shù)。下圖 所示處理器在執(zhí)行時執(zhí)行時,發(fā)生了一個重要的變化,我們把它稱為事件(event)。事件可能與當(dāng)前指令直接相關(guān),如缺頁異常,算術(shù)溢出,嘗試除以 0 。也有可能無關(guān)如定時器產(chǎn)生信號,I/O 完成。在任何情況下處理器通過異常表進(jìn)行一個間接過程調(diào)用到專門的異常處理程序來處理。

異常可以分成四類: 中斷(interrupt), 陷阱(trap),故障(fault)和終止(abort)。

中斷是異步發(fā)生的,是來自處理器外部 I/O (鼠標(biāo),鍵盤,網(wǎng)卡等)設(shè)備信號的結(jié)果。 硬件中斷不是由任何一條專門的指令造成,從這個意義講它是異步的。剩下的異常類型(陷阱,故障,終止)是同步發(fā)生的,是執(zhí)行當(dāng)前指令的結(jié)果。我們把這種指令稱為故障指令。

陷阱是有意的異常,是程序員“主動”觸發(fā)的,就像是自己在代碼埋下一個陷阱一樣。 陷阱最常見的用戶是進(jìn)程發(fā)起系統(tǒng)調(diào)用,通過 INT 從用戶態(tài) trap 進(jìn)內(nèi)核態(tài)。

故障由錯誤情況引起,能夠被故障處理程序修正。 當(dāng)故障發(fā)生時,處理器講控制轉(zhuǎn)移給故障處理程序。例如當(dāng)缺頁異常發(fā)生時,故障處理程序可以從磁盤中間對應(yīng)的頁 swap 進(jìn)物理內(nèi)存。

終止,是不可恢復(fù)的致命錯誤造成的結(jié)果,通常是一些硬件錯誤。 程序員平常調(diào)試代碼時,給程序添加斷點,讓程序在我們想要的地方停住。調(diào)試器能夠隨心所欲控制程序運行,主要靠軟件中斷。軟件斷點在 X86 系統(tǒng)中就是指令 INT 3。當(dāng)程序執(zhí)行到 INT 3 指令時,會引發(fā)軟件中斷。這就是上文提到的陷阱。不同于我們在 Visual Studio 和 GDB 中交互式的斷點,如果程序在 trap 發(fā)生時,自動執(zhí)行預(yù)定義和 handle 記錄和統(tǒng)計運行情況,不影響程序的正常運行,達(dá)到觀察 MySQL 的目的。

二、探針

為了捕捉程序運行情況,我們在程序中設(shè)置一些 “ 陷阱 ”,并設(shè)置處理程序,我們稱之為探針。有的探針是在代碼中預(yù)定義的,有的是在運行時動態(tài)添加的。

1. 靜態(tài)探針

靜態(tài)探針是事先在程序中定義好,并編譯到程序或者內(nèi)核的探針。

靜態(tài)探針只有被開啟時才會運行,不開啟就不會運行,常見的靜態(tài)探針包括內(nèi)核中的跟蹤點(tracepoints)和 USDT(Userland Statically Defined Tracing)探針。tracepoints 在代碼中埋下鉤子,在運行時調(diào)用相連接的探針。

它有“打開”(已連接探針)和“關(guān)閉”(未連接探針)兩種狀態(tài)。

當(dāng)跟蹤點處于“關(guān)閉”狀態(tài)時,它沒有任何作用,只增加微小的時間損失(檢查分支的條件)和空間損失。當(dāng)跟蹤點為“ 打開”時,每次在調(diào)用者的執(zhí)行上下文中執(zhí)行跟蹤點時,都會調(diào)用相連接的探針。探針函數(shù)執(zhí)行完后,將返回到調(diào)用方。USDT和tracepoint類似,只不過是用戶態(tài)的,在代碼中插入DTRACE_PROBE()即可。

2. 動態(tài)探針

動態(tài)探針是應(yīng)用程序沒有定義,在程序運行時動態(tài)添加的探針。

動態(tài)探針類似于異常處理機制,當(dāng)系統(tǒng)產(chǎn)生一個異常,就會跳轉(zhuǎn)去執(zhí)行對應(yīng)的 handle。動態(tài)探針會在函數(shù)入口和出口插入一些斷點,程序執(zhí)行到斷點時候會去執(zhí)行對應(yīng)的 handle,從而達(dá)到觀測應(yīng)用程序的目的。這里的中斷是指 trap(陷阱),在X86體系是int3指令。

KProbes 是 Linux 內(nèi)核探針,可以用于監(jiān)視生產(chǎn)系統(tǒng)中的事件。您可以使用它來解決性能瓶頸,記錄特定事件,跟蹤問題等。

KProbes 能實時在內(nèi)核代碼中插入中斷指令,雖然這聽上去有點不可思議,實際上 KProbes 做了很多安全性保證,例如 stop_machine 用于確保其他CPU在被修改時停止執(zhí)行。

實際上 kprobes 最大風(fēng)險是給一些調(diào)用十分頻繁的函數(shù)加上探針,如在網(wǎng)絡(luò)模塊中,頻繁中斷可能造成一定的性能風(fēng)險。KProbe需要定義 pre-handler 和 post-handler,當(dāng)被探測的指令要被執(zhí)行時,先執(zhí)行pre-handler程序。同樣,當(dāng)被探測指令執(zhí)行之后立即執(zhí)行post-handler。

uprobes 是Linux提供用戶態(tài)的動態(tài)探針,合并于2012年7月發(fā)布的 Linux 3.5 內(nèi)核中。uprobes 和 kprobes 十分相似,用于用戶態(tài)。

三、BPF

BPF(Berkeley Packet Filter) 最早開發(fā)在 BSD 操作系統(tǒng)中,是 TCP/IP 包過濾的工業(yè)標(biāo)注,被 tcpdump 使用。

它的工作方法有點特別: 用戶自定義包過濾表達(dá)式,然后注入內(nèi)核中的 BPF 中運行 ,這樣的好處就是在內(nèi)核進(jìn)行過濾而不是將包拷貝到用戶態(tài),避免大量數(shù)據(jù)從內(nèi)核態(tài)拷貝到用戶態(tài),因此具有較好的性能。

后來出現(xiàn)了eBPF(extend BPF), eBPF 有自己的語言,用戶自己編寫程序編譯后通過 BPF 調(diào)用注入到內(nèi)核的 BPF 虛擬機中運行,可以安全訪問內(nèi)核內(nèi)存,它使得內(nèi)核變成可編程。運行在內(nèi)核中因為不需要把數(shù)據(jù)拷貝到用戶空間往往具有比較高的性能,因此 BPF 被很多性能追蹤工具使用。

Part2 使用探針觀測MySQL

上文介紹了相關(guān)的技術(shù)背景,接下來介紹使用追蹤工具觀測 bpftrace, 它是一種使用 BPF 進(jìn)行性能分析的前端工具,使用起來很方便,類似與 awk 語言。由于 MySQL 是運行在用戶態(tài)態(tài)的,要追蹤 MySQL 本身只能使用 ** USDT** 和** uprobes** 。

一、使用 USDT 觀測 MySQL

MySQL 在系統(tǒng)中一些關(guān)鍵位置定義了 USDT, 參考文檔 mysqld DTrace Probe Reference(DTrace 是 Solaris 中的動態(tài)追蹤工具,bpftrace 是 Linux 版本的 DTrace) 下面展示一下記錄追蹤到的慢查詢的腳本。

  1. #!/usr/bin/bpftrace 
  2.  
  3.  
  4. BEGIN 
  5.         printf("Tracing mysqld queries slower than %d ms. Ctrl-C to end.\n"
  6.             $1); 
  7.         printf("%-10s %-6s %6s %s\n""TIME(ms)""PID""MS""QUERY"); 
  8.  
  9.  
  10. usdt:/usr/sbin/mysqld:mysql:query__start 
  11.         @query[tid] = str(arg0); 
  12.         @start[tid] = nsecs; 
  13.  
  14.  
  15. usdt:/usr/sbin/mysqld:mysql:query__done 
  16. /@start[tid]/ 
  17.         $dur = (nsecs - @start[tid]) / 1000000
  18.         if ($dur > $1) { 
  19.                 printf("%-10u %-6d %6d %s\n", elapsed / 1000000
  20.                     pid, $dur, @query[tid]); 
  21.         } 
  22.         delete(@query[tid]); 
  23.         delete(@start[tid]); 
解讀一下 ** BEGIN** 是這個腳本剛開始運行時候的執(zhí)行的,打印一些提示信息。usdt:/usr/sbin/mysqld:mysql:query__start 是給** query__start ** 這個函數(shù)加的探針,當(dāng)程序執(zhí)行到這里時,記錄一下第一個參數(shù) arg0(query), 和當(dāng)前時間時間戳,并把這些信息保存在 BPF 的 map 中。query__done 探針被執(zhí)行時,記錄當(dāng)前時間,減去開始時間(從 BPF 的 map 中獲取),就是這個查詢的花費時間,如果超過閾值就打印出來。如果你會說 MySQL 有慢查詢?nèi)罩景。贿^這里優(yōu)勢是不需要重啟 MySQL,可以實時修改閾值。而且 usdt 在高級版本MySQL 會被移除,同時需要編譯時設(shè)置參數(shù) -DENABLE_DTRACE=1 才能支持 usdt。

二、使用 uprobes 觀測 MySQL

不同與 usdt 需要事先在代碼中設(shè)置觀測點,uprobes 可以在程序中動態(tài)添加,可以插入到任意函數(shù)的進(jìn)口和出口位置。下面展示是使用 uprobes 探針對 dispatch_command 進(jìn)行追蹤,打印出慢查詢語句。

  1. #!/usr/bin/bpftrace 
  2.  
  3.  
  4. BEGIN 
  5.         printf("Tracing mysqld queries slower than %d ms. Ctrl-C to end.\n"
  6.             $1); 
  7.         printf("%-10s %-6s %6s %s\n""TIME(ms)""PID""MS""QUERY"); 
  8.  
  9.  
  10. uprobe:/usr/sbin/mysqld:*dispatch_command* 
  11.         $COM_QUERY = 3;    
  12.         if (arg2 == $COM_QUERY) { 
  13.                 @query[tid] = str(*arg1); 
  14.                 @start[tid] = nsecs; 
  15.         } 
  16.  
  17.  
  18. uretprobe:/usr/sbin/mysqld:*dispatch_command* 
  19. /@start[tid]/ 
  20.         $dur = (nsecs - @start[tid]) / 1000000
  21.         if ($dur > $1) { 
  22.                 printf("%-10u %-6d %6d %s\n", elapsed / 1000000
  23.                     pid, $dur, @query[tid]); 
  24.         } 
  25.         delete(@query[tid]); 
  26.         delete(@start[tid]); 
 運行一下 這里使用參數(shù) 10,表示慢查詢閾值是 10 ms.
  1. sudo ./mysql_uprobe_slow.bt 10 
  2. Attaching 3 probes... 
  3. Tracing mysqld queries slower than 10 ms. Ctrl-C to end. 
  4. TIME(ms)   PID        MS QUERY 
  5. 35976      1083      742 select employees.first_name, employees.last_name, titles.title  
  6. 93145      1083      224 select * from employees 
  7. 125348     1083     1727 select * from salaries 
 bpftrace 還提供了直方圖工具,可以將所有查詢耗時記錄下來,最后打印出耗時分布直方圖。
  1. #!/usr/bin/bpftrace 
  2.  
  3.  
  4. BEGIN 
  5.   printf("Tracing MySQL query... Hit Ctrl-C to end.\n"); 
  6.  
  7.  
  8. uprobe:/usr/sbin/mysqld:*dispatch_command* 
  9.   @start[tid] = nsecs; 
  10.  
  11.  
  12. uretprobe:/usr/sbin/mysqld:*dispatch_command* 
  13. /@start[tid]/ 
  14.   @usecs = hist((nsecs - @start[tid]) / 1000000); 
  15.         delete(@start[tid]); 
  16.  
  17.  
  18. END 
  19.   clear(@start); 
  1. sudo ./histo.bt  
  2. Attaching 4 probes... 
  3. Tracing MySQL query... Hit Ctrl-C to end. 
  4. ^C 
  5.  
  6.  
  7.  
  8.  
  9. @usecs:  
  10. [0]                   10 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| 
  11. [1]                    0 |                                                    | 
  12. [24)                 0 |                                                    | 
  13. [48)                 0 |                                                    | 
  14. [816)                0 |                                                    | 
  15. [1632)               0 |                                                    | 
  16. [3264)               0 |                                                    | 
  17. [64128)              0 |                                                    | 
  18. [128256)             1 |@@@@@                                               | 
  19. [256512)             1 |@@@@@                                               | 
  20. [512, 1K)              0 |                                                    | 
  21. [1K, 2K)               1 |@@@@@                                               | 

(左右滑動查看代碼)

結(jié)語

除了本文展示的 USDT 和 UProbes 兩種探針,展示例子比較簡單,還可以同時插入多個探針,使用 BPF 的 map 來共享信息,達(dá)到更強的觀測能力。

除了這兩種探針,還可以使用 tracepoints 和 KProbe 來分析內(nèi)核態(tài),例如網(wǎng)絡(luò)運行情況,磁盤 I/O 情況,當(dāng)然這需要你對程序有一定熟悉,要不然不知道這些探針加到哪個地方好。

 

責(zé)任編輯:張燕妮 來源: 騰訊云數(shù)據(jù)庫
相關(guān)推薦

2022-09-06 10:52:04

正則庫HumrePython

2024-12-13 16:01:35

2025-07-29 09:36:51

2022-05-31 09:42:49

工具編輯器

2024-05-11 09:38:05

React編譯器React 19

2025-09-29 09:32:32

2022-08-01 07:02:06

SpringEasyExcel場景

2025-07-07 03:00:00

2025-01-16 08:50:33

2020-12-29 10:45:55

開發(fā)設(shè)計代碼

2020-06-23 15:58:42

心電圖

2022-05-11 14:43:37

WindowsPython服務(wù)器

2021-09-10 10:15:24

Python人臉識別AI

2021-08-11 09:33:15

Vue 技巧 開發(fā)工具

2021-03-18 10:12:54

JavaCompletable字符串

2021-03-02 20:42:20

實戰(zhàn)策略

2022-07-14 08:36:28

NacosApollo長輪詢

2021-03-19 09:48:10

Jupyter Not插件Python

2020-11-10 06:11:59

工具軟件代碼

2022-06-28 07:14:23

WizTree磁盤文件清理
點贊
收藏

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

亚洲人成伊人成综合网小说| 91九色porn在线资源| 欧美jjzz| 精品国免费一区二区三区| 中国一级大黄大黄大色毛片| av中文字幕在线免费观看| 91av精品| 欧美精品一区二区三区在线 | 伊人伊成久久人综合网站| 欧美精品无码一区二区三区| 国产爆初菊在线观看免费视频网站 | 在线免费看黄色片| 波多视频一区| 国产精品久久久久aaaa樱花 | 国产美女视频免费观看下载软件| 色资源二区在线视频| 国产免费观看久久| 亚洲精品日韩激情在线电影| www.天天色| 蜜桃a∨噜噜一区二区三区| 欧美在线观看一区二区| 99热都是精品| 亚洲色大成网站www| 免费成人av在线| 九色成人免费视频| 一起草在线视频| 美女视频一区| 五月婷婷综合网| 亚洲欧洲精品一区二区| 亚洲国产综合网| 老司机免费视频久久| 久久精品国产99国产精品澳门 | 一本色道久久88综合日韩精品| 九一精品久久久| 澳门成人av网| 亚洲亚洲人成综合网络| 日韩精品欧美专区| 成人黄色在线观看视频| 日一区二区三区| 欧美另类老女人| x88av在线| 99亚洲乱人伦aⅴ精品| 欧美怡红院视频| 国产一区二区三区小说| av在线免费播放网站| av动漫一区二区| 亚洲专区在线视频| 国产精华7777777| 在线观看国产精品入口| 亚洲香蕉伊综合在人在线视看| 欧美人与性动交α欧美精品| 91国内外精品自在线播放| 亚洲成av人片在线观看无码| 激情五月五月婷婷| 在线免费观看黄色| 久久综合九色综合久久久精品综合| 亚洲精品免费在线视频| 中文字幕日韩国产| 久久一综合视频| 欧美精品九九久久| 1024手机在线视频| 久久精品国产大片免费观看| 亚洲午夜精品久久久久久久久久久久| 黄色激情在线观看| 日韩08精品| 欧美一卡二卡三卡四卡| 91亚洲精品久久久蜜桃借种| 午夜精品久久久久久久久久蜜桃| 天涯成人国产亚洲精品一区av| 日本免费黄色小视频| 日本蜜桃在线观看| 国产精品免费网站在线观看| 欧美一级片免费观看| 香蕉视频成人在线| bt欧美亚洲午夜电影天堂| 国产日韩欧美另类| 免费在线不卡av| 蜜臀av一级做a爰片久久| 国产精彩精品视频| 国产真人无遮挡作爱免费视频| 一区二区三区精品视频在线观看| 欧美激情伊人电影 | 亚洲产国偷v产偷v自拍涩爱| 美女一区二区视频| 成人国产精品久久久久久亚洲| 亚洲第一精品在线观看| 亚洲免费婷婷| 日韩美女在线观看| 国产精品无码粉嫩小泬| 久久国产综合精品| 91九色视频导航| 国产不卡av在线播放| 福利一区在线观看| 国产一区国产精品| 免费在线超碰| 国产欧美va欧美不卡在线| 五月婷婷综合色| 欧美高清视频| 一区二区三区四区五区视频在线观看| 国产成人一区二区三区别| 岛国av在线播放| 91福利小视频| 九九九九九伊人| 91精品导航| 国产午夜精品麻豆| 91ts人妖另类精品系列| 欧美日韩亚洲一区三区| 97国产在线视频| 亚洲国产精品无码久久久| 久久精品二区亚洲w码| 不卡日韩av| 狠狠狠综合7777久夜色撩人| 中文字幕二三区不卡| 欧美一级中文字幕| 国产精品av一区二区三区 | 午夜精品美女久久久久av福利| 激情成人四房播| 午夜精品福利一区二区三区av| 欧美日韩在线成人| 国产a亚洲精品| 日韩精品一区二区三区中文精品| 国产精品1000部啪视频| 91麻豆精品国产91久久久平台| 久久色在线播放| 在线看成人av| 久久99热国产| 九色综合日本| 亚洲婷婷噜噜| 欧美视频一区在线| 亚洲成a人片在线www| 精品久久久久中文字幕小说| 九九视频直播综合网| 日韩污视频在线观看| 久久99九九99精品| 久久精品日产第一区二区三区精品版| 日本三级在线视频| 性做久久久久久| 国产aⅴ爽av久久久久| 日本亚洲不卡| 欧美激情精品久久久久久蜜臀| 成人午夜精品视频| 99久久免费国产| 黄色污污在线观看| 麻豆久久久久| 精品亚洲一区二区三区| 欧美人妻精品一区二区免费看| 欧美aaa在线| 欧美激情一区二区三区在线视频| 欧美大胆的人体xxxx| 欧美精品一二三| 欧美日韩国产黄色| 久久久亚洲人| 狼狼综合久久久久综合网| 色在线视频网| 欧美一区二区女人| 婷婷社区五月天| 日本中文在线一区| 久久久久久久久久久久久久久久av | 国产一区二区按摩在线观看| 亚洲一区二区三区精品在线观看| 国产高清不卡| 日韩毛片在线看| 国产午夜小视频| 国产成人在线网站| 国产爆乳无码一区二区麻豆| 精品伊人久久| 最近2019中文字幕第三页视频| 久久精品视频2| 国产亚洲精品超碰| 久久婷婷国产91天堂综合精品| 亚洲网址在线观看| 欧美激情一区二区三区在线视频观看| www.成人在线观看| 亚洲精品乱码久久久久| 自拍偷拍21p| 久久精品青草| 91免费版网站在线观看| 日韩伦理av| 精品国产凹凸成av人网站| 国产精品1234区| 99视频超级精品| 亚洲午夜无码av毛片久久| 都市激情亚洲| 91高清免费在线观看| 亚洲色图另类小说| 在线视频国产一区| 超碰人人人人人人人| 开心九九激情九九欧美日韩精美视频电影 | 午夜精品亚洲一区二区三区嫩草| 成人软件在线观看| 色av中文字幕一区| 日本视频www色| 成人欧美一区二区三区在线播放| 国产免费中文字幕| 伊人狠狠色j香婷婷综合| 久久精品国产精品国产精品污 | 亚洲欧美日韩天堂| 波多野结衣高清在线| 国产精品超碰97尤物18| 伦伦影院午夜理论片| 亚洲国产高清一区| 欧美乱偷一区二区三区在线| 国产成人免费| 欧美激情乱人伦一区| 婷婷久久久久久| 欧美色区777第一页| 澳门黄色一级片| 91麻豆6部合集magnet| www.99在线| 女人香蕉久久**毛片精品| 国产一区二区精品免费| 中文不卡1区2区3区| 色多多国产成人永久免费网站 | 欧美日韩欧美一区二区| 国产精品老熟女一区二区| 99精品视频一区二区| 亚洲不卡视频在线| 欧美天天视频| 日韩三级电影免费观看| 亚洲一区二区电影| 国产精品狠色婷| 丝袜国产在线| 国产一区二区久久精品| 欧美 日韩 国产 成人 在线| 欧洲国内综合视频| 精品深夜av无码一区二区老年| 国产色一区二区| 制服丝袜综合网| 日韩午夜av| 五月天在线免费视频| 美女精品一区最新中文字幕一区二区三区| 91精品久久久久久久久| 91九色国产在线播放| 色噜噜亚洲精品中文字幕| 人妻一区二区三区免费| 欧美午夜免费电影| 国产香蕉视频在线| 亚洲你懂的在线视频| 国产交换配乱淫视频免费| 粉嫩绯色av一区二区在线观看 | 亚洲美女精品成人在线视频| 日日躁夜夜躁白天躁晚上躁91| 日韩亚洲欧美一区| 国产熟女一区二区三区五月婷| 欧美久久一二区| 中文字幕有码视频| 欧美视频精品在线观看| 怡春院在线视频| 欧美日本在线播放| 国产又粗又猛视频| 91精品国产高清一区二区三区| 国产精品久久久久久免费免熟| 精品视频色一区| 一级黄色片在线| 91精品国产一区二区人妖| 国产乱淫a∨片免费视频| 欧美一区二区高清| 精品人妻一区二区三区日产乱码 | 亚洲精品视频一区二区| 三级av在线免费观看| 亚洲男人电影天堂| 九九视频在线观看| 亚洲成人免费电影| 久久久久久久黄色片| 日本精品视频一区二区| 国产女优在线播放| 欧美日本一区二区在线观看| 一区二区三区午夜| 日韩欧美一区二区视频| 亚洲国产精品久久久久久久| 亚洲精品videossex少妇| 日韩在线免费播放| 亚洲夜晚福利在线观看| 欧美三级黄网| 久久久久久久久久av| 色是在线视频| 国产欧美在线播放| 午夜视频一区二区在线观看| 狠狠色噜噜狠狠色综合久| 免费一区二区| 青青在线免费视频| 亚洲专区一区二区三区| 日本人视频jizz页码69| 国产福利91精品一区二区三区| 亚洲AV无码国产精品| 国产精品卡一卡二| 国产在线视频你懂的| 色婷婷综合久久久久中文| 亚洲一区二区影视| 欧美精品一区二区三区蜜臀| lutube成人福利在线观看| 欧美大肥婆大肥bbbbb| 中文在线а√在线8| 成人综合网网址| 香蕉人人精品| 黄色一级片网址| 在线亚洲免费| 97超碰人人爽| 久久亚洲综合色一区二区三区| 亚洲欧美精品aaaaaa片| 黑人欧美xxxx| 中文在线免费看视频| 欧美精品一区二区三区很污很色的 | 最新日韩一区| 国产欧美日韩伦理| 久久资源中文字幕| 亚洲自偷自拍熟女另类| 国产一区二区三区久久悠悠色av| 国产男女猛烈无遮挡a片漫画| 最新不卡av在线| 无码视频在线观看| 欧美不卡123| 日本最新在线视频| 欧洲亚洲免费在线| 成人台湾亚洲精品一区二区| 一本一本久久a久久精品综合妖精| 亚洲国产美女| 51自拍视频在线观看| 欧美国产精品v| 黄色在线观看国产| 亚洲国产日韩欧美在线图片| а天堂中文在线官网| 国产成人av网址| 思热99re视热频这里只精品| 欧美极品少妇无套实战| 激情成人综合网| 免费黄色国产视频| 91激情在线视频| 亚欧在线观看视频| 欧美激情精品久久久| 日韩欧美另类中文字幕| av动漫免费观看| 卡一卡二国产精品 | 一级黄色免费毛片| 国产精品色哟哟| jizz国产在线| 亚洲天堂久久av| 欧美gay视频| 欧美精品中文字幕一区二区| 香蕉亚洲视频| 亚洲熟妇无码av| 日韩欧美在线网址| 香蕉国产在线视频| 2019最新中文字幕| 亚洲最大在线| 人妻无码视频一区二区三区| 久久久久亚洲综合| 精品人妻一区二区色欲产成人| 日韩精品极品在线观看播放免费视频 | 欧美福利在线播放网址导航| 欧美一级视频免费看| 成人小视频在线| 日本亚洲色大成网站www久久| 亚洲国产精品99久久| 在线天堂资源www在线污| 欧美一区二区三区四区在线观看地址 | 57pao国产一区二区| 欧美高清中文字幕| 国产v综合v亚洲欧| 日韩精品在线免费看| 精品视频久久久久久| av在线不卡精品| 一区二区三区观看| 国产一区二区三区蝌蚪| 国产第100页| 亚洲毛茸茸少妇高潮呻吟| 久久久成人av毛片免费观看| 亚洲一区二区三区色| 国产一区二区免费在线| 久久久久久久福利| 亚洲激情视频在线观看| 人人鲁人人莫人人爱精品| 一本一道久久a久久综合精品| 经典一区二区三区| 亚洲精品午夜久久久久久久| 亚洲久久久久久久久久久| 日韩城人网站| bt天堂新版中文在线地址| 2014亚洲片线观看视频免费| 中文字幕在线播放av| 欧美巨猛xxxx猛交黑人97人| 国产一级成人av| 亚洲一二三区av| 亚洲影视在线播放| 免费在线稳定资源站| 91成人在线看| 久久精品123| 青青草原国产视频| 亚洲欧美日韩中文视频| 欧美大片91| 欧美一级片中文字幕| 亚洲视频在线一区二区| 五月天激情开心网| 成人激情视频小说免费下载| 99国产成+人+综合+亚洲欧美| 中文字幕欧美激情极品| 欧美mv日韩mv| 最新日韩一区| 男人插女人视频在线观看| 欧美国产一区二区|