精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

亚洲精品一区二区三区区别| 国产精品后入内射日本在线观看| 亚洲一区电影在线观看| 欧美性受xxxx黒人xyx性爽| 三级网站在线看| 日韩一区精品字幕| 久久国产视频网站| xxxx黄色片| 日韩欧美专区| 天天爽夜夜爽夜夜爽精品视频| 亚洲伊人久久大香线蕉av| 日本网站在线播放| 99久久亚洲精品蜜臀| 欧美日韩综合在线| 国产v片免费观看| 免费日本一区二区三区视频| 国产成人精品一区二区三区四区 | 日韩av手机在线观看| 手机在线中文字幕| 欧洲亚洲视频| 欧美一区二区三区视频免费| 欧美女人性生活视频| 日韩精品卡一| 国产精品乱码一区二区三区软件| 日韩一区二区三区在线视频| 国产精品嫩草影院久久久| 性猛交ⅹxxx富婆video| 99国产精品免费网站| 欧美狂野另类xxxxoooo| 青青在线视频免费观看| 啊v视频在线| 91免费国产在线| 国产精品乱码视频| 国产免费一区二区三区免费视频| 自拍视频亚洲| 色系列之999| 91成年人网站| 亚洲另类春色校园小说| 欧美老肥妇做.爰bbww| av网址在线观看免费| 日韩欧美精品一区二区三区| 国产精品国产三级国产| www.久久爱.cn| 91国内精品视频| 精品电影一区| 中文字幕日韩综合av| 欧美做受xxxxxⅹ性视频| 网友自拍一区| 亚洲跨种族黑人xxx| 黄色片视频免费观看| 国产成人精品一区二区三区免费| 一区二区三区久久久| 亚洲春色在线视频| 日韩性xxxx| 免费不卡在线观看| 国产精品一区二区三区久久久 | 老司机精品视频在线播放| 一本色道a无线码一区v| 日本不卡在线观看视频| 2022成人影院| 欧美综合色免费| 亚洲免费看av| 国产精品麻豆| 欧美大胆一级视频| 狠狠干狠狠操视频| 欧美一区一区| 精品日韩在线一区| 国产xxxxxxxxx| 亚洲瘦老头同性70tv| 国产亚洲精品成人av久久ww| 国产精品激情av电影在线观看| aaaaa级少妇高潮大片免费看| 热久久久久久| 91精品福利在线一区二区三区 | 亚洲一区二区综合| 日韩av高清| 淫片在线观看| 亚洲精品视频在线看| 亚洲va韩国va欧美va精四季| 色视频免费在线观看| 久久精品男人的天堂| 欧美视频观看一区| 欧美猛烈性xbxbxbxb| 亚洲AV无码精品色毛片浪潮| 久久精品国产秦先生| 97se亚洲综合在线| 日本在线丨区| 成人免费一区二区三区视频| 日韩 欧美一区二区三区| 亚洲人成亚洲人成在线观看| 亚洲黄色小说视频| 日韩电影不卡一区| 精品少妇一区二区三区日产乱码 | 亚洲免费在线播放视频| 激情综合五月| 日韩大片免费观看视频播放| 欧美图片自拍偷拍| 自拍偷拍精品| 亚洲女人天堂成人av在线| 日韩av无码一区二区三区不卡| 国产精选久久| 日韩激情片免费| 欧美手机在线观看| 66国产精品| 国内久久久精品| 伊人色综合久久久| 女人黄色免费在线观看| 一本色道久久| 国产精品视频永久免费播放| 国产精品高潮呻吟AV无码| 国产成人在线色| 国产在线视频欧美| 开心激情综合网| 中文字幕久久午夜不卡| 欧美乱大交xxxxx潮喷l头像| 自拍一区在线观看| 日韩精品一区国产麻豆| 天天操天天干天天操天天干| 亚洲国产高清一区二区三区| 91国产精品视频在线| 136福利视频导航| 2021中文字幕一区亚洲| 男女激烈动态图| 色豆豆成人网| 一本大道综合伊人精品热热| wwwww在线观看| 日韩在线观看一区 | 亚洲国产激情一区二区三区| av男人的天堂在线| 中文字幕亚洲电影| 青青青在线播放| 欧美激情极品| 日韩中文娱乐网| 91视频久久久| 国产精品久久久久久久久久10秀| 亚洲欧美日韩小说| 男人天堂成人在线| 青青视频一区二区| 欧美激情小视频| 国产一区二区三区中文字幕| 国产视频在线观看一区二区三区| 亚洲一区二区三区精品动漫| 高清不卡亚洲| 亚洲精品小视频| 日韩欧美一级视频| jlzzjlzz亚洲日本少妇| 日韩视频精品| 欧美三区四区| 一区二区亚洲精品国产| 伦av综合一区| 国产亚洲人成网站| 黄色免费网址大全| 日韩成人激情| 成人情趣片在线观看免费| 九七久久人人| 日韩亚洲国产中文字幕欧美| 久久美女免费视频| 日本va欧美va欧美va精品| 日韩天堂在线观看| 在线观看污视频| 综合久久伊人| 欧美精品一二区| 性猛交富婆╳xxx乱大交天津| www.日韩av| 一女被多男玩喷潮视频| 日韩三级网址| 久久久久久久影院| 色婷婷综合视频| 色先锋aa成人| 亚洲少妇18p| 免费亚洲视频| 午夜免费电影一区在线观看| 深夜福利亚洲| 欧美日韩高清区| 午夜性色福利视频| 在线观看欧美日本| 精品国产乱码久久久久久鸭王1| 日韩av电影免费观看高清完整版| 国产v亚洲v天堂无码| 涩涩av在线| 日韩专区在线观看| 丰满熟妇乱又伦| 一区二区高清免费观看影视大全| 97精品资源在线观看| 中文字幕一区免费在线观看| 亚洲国产日韩欧美在线观看| 成人台湾亚洲精品一区二区 | 欧美一级黄色片视频| 欧美日韩水蜜桃| 国产成人精品av| 免费观看成年人视频| 色播五月激情综合网| 自拍偷拍中文字幕| 国产综合久久久久影院| 黄色一级视频在线播放| 成人激情免费视频| 国产一区二区三区四区五区在线| av中文在线资源| 国产一区二区三区视频在线观看| 免费无码国产精品| 一区二区三区中文字幕精品精品| 亚洲精品久久久久久| 午夜视频一区| 日产精品久久久一区二区| 免费在线看黄色片| 日本黄色片在线观看| 欧美成人a在线| 国产男人搡女人免费视频| 一区二区三区四区不卡在线| mm131丰满少妇人体欣赏图| 国产成人免费在线视频| 欧美成人黄色网址| 日韩视频在线观看| 国产免费一区| 秋霞影院一区| 国产日韩欧美日韩| 污视频在线免费观看网站| 伊人久久久久久久久久久久久| 亚洲天堂狠狠干| 欧美日韩亚洲91| 免费人成视频在线| 亚洲欧洲无码一区二区三区| 成人午夜剧场视频网站| 不卡av在线网| 99草草国产熟女视频在线| 伊人久久婷婷| 乱熟女高潮一区二区在线| 欧美一级精品| 日本一区不卡| 涩爱av色老久久精品偷偷鲁| 日本不卡久久| 精品国产av 无码一区二区三区| 国产午夜精品在线观看| 制服丝袜第一页在线观看| 国产乱码精品一区二区三区av | av中文一区| 91精品在线一区| 91在线亚洲| 国产精品99免视看9| 欧美xxx网站| 欧美在线一区二区三区四| bl在线肉h视频大尺度| 在线观看久久久久久| 成人欧美亚洲| 在线观看中文字幕亚洲| wwwxxx在线观看| 一区二区欧美在线| 91精品国产综合久久久久久豆腐| 欧美变态tickle挠乳网站| 99re这里只有精品在线| 一本久久综合亚洲鲁鲁五月天| 中文字幕电影av| 亚洲图片欧美激情| 国产精品三级久久久久久电影| 亚洲色欧美另类| 亚洲国产成人一区| 国产乱淫片视频| 91麻豆精品91久久久久同性| 99久久免费国产精精品| 色婷婷国产精品| 无码免费一区二区三区| 亚洲成人免费在线| 成年人午夜视频| 日韩欧美精品网址| 老熟妇一区二区三区啪啪| 欧美日韩精品一区二区三区| 国产又大又粗又硬| 欧美变态口味重另类| 国产女同91疯狂高潮互磨| 日韩亚洲欧美中文三级| 一区二区三区免费在线视频| 欧美一级在线免费| 女人18毛片一区二区三区| 国产视频精品免费播放| 日批视频免费播放| 亚洲午夜精品视频| 在线中文免费视频| 26uuu久久噜噜噜噜| 中文字幕系列一区| 亚洲一区二区自拍| 丝袜连裤袜欧美激情日韩| 手机成人在线| 国语精品一区| 日本男人操女人| 国产精品一二三四| 懂色av粉嫩av蜜乳av| 欧美高清在线精品一区| 五月婷婷综合在线观看| 成人不卡免费av| 久久久久久久人妻无码中文字幕爆| 国产一区二区在线电影| 日本五十肥熟交尾| 9i在线看片成人免费| 粉嫩av懂色av蜜臀av分享| 欧美国产禁国产网站cc| 亚欧洲精品在线视频| 欧美色图一区二区三区| 亚洲av综合色区无码一区爱av| 日韩精品一区二区三区在线| 都市激情在线视频| 欧美国产日韩一区二区在线观看 | 亚洲精品动态| 日韩精品一区二区三区电影| 午夜精品偷拍| 亚洲黄色av网址| 成人aaaa免费全部观看| 午夜剧场免费在线观看| 一区二区三区中文字幕电影| 樱花视频在线免费观看| 精品盗摄一区二区三区| 欧美尤物美女在线| 国产成人在线视频| 好吊妞视频这里有精品| 亚洲第一页在线视频| 久久精品国语| 久久久久亚洲AV成人无码国产| 91亚洲国产成人精品一区二区三 | 国产夫妻性生活视频| 亚洲人成电影在线| 国产在线精彩视频| 国产精品电影一区| 台湾亚洲精品一区二区tv| a级片一区二区| 亚洲一区日韩| 极品白嫩的小少妇| 久久久久久亚洲综合| 国产精品自拍视频一区| 91精品在线观看入口| 天天操天天射天天| 欧美激情一区二区久久久| 欧美xxxx做受欧美护士| 欧美不卡在线一区二区三区| 一区精品久久| 免费观看一区二区三区| 亚洲精品日产精品乱码不卡| 国产精品伦一区二区三区| 丝袜情趣国产精品| 中文字幕系列一区| 亚洲人成影视在线观看| 男人的天堂久久精品| 欧美黄色高清视频| 欧美性xxxxxx少妇| 91精品国产91久久久久游泳池| 久久久天堂国产精品女人| 日韩影片在线观看| 女同性恋一区二区| 粉嫩av一区二区三区| 日本人亚洲人jjzzjjz| 欧美体内she精视频| 91官网在线| 91麻豆国产精品| 欧美激情在线免费| av免费网站观看| 国产精品免费av| 国产又大又黄的视频| 另类专区欧美制服同性| 免费观看性欧美大片无片| 欧美做暖暖视频| a在线欧美一区| 亚洲大片免费观看| 亚洲第一av网站| 自拍视频在线看| 亚洲电影免费| 国产高清不卡一区二区| 久久久久久久99| 亚洲一二三在线| 免费观看亚洲| 亚洲精品中字| 国产精品18久久久久久vr| 在线观看黄网址| 欧美成人欧美edvon| 日韩av影片| 一本久道久久综合| 日本亚洲免费观看| 欧美日韩午夜视频| 亚洲国产天堂久久综合网| 日本综合久久| 国产日韩欧美大片| 99国产精品99久久久久久| 一区二区三区在线免费观看视频 | 风间由美一区二区三区| 国产欧美日本| 免费黄色国产视频| 精品国产99国产精品| 欧美午夜大胆人体| 欧美日韩在线观看一区二区三区| 国产精品资源| 999精品在线视频| 亚洲精品电影网在线观看| 成人国产一区| 精品视频在线观看一区| 99久久99久久精品国产片果冻| 国产91av视频| 日韩网站免费观看| 四虎精品一区二区免费| 国产女主播自拍| 国产精品毛片高清在线完整版| 又色又爽又黄无遮挡的免费视频| 亚洲色图色老头| 欧美成人三级|