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

MySQL運行時的可觀測性

數據庫 MySQL
這條SQL的運行進度展示,以及各個階段的耗時,和PROFILING的輸出一樣,當我們了解一條SQL運行所需要經歷的各個階段時,從上面的輸出結果中也就能估算出該SQL大概還要多久能跑完,決定是否要提前kill它。

1. 說在前面的話

在MySQL里,一條SQL運行時產生多少磁盤I/O,占用多少內存,是否有創建臨時表,這些指標如果都能觀測到,有助于更快發現SQL瓶頸,撲滅潛在隱患。

從MySQL 5.7版本開始,performance_schema就默認啟用了,并且還增加了sys schema,到了8.0版本又進一步得到增強提升,在SQL運行時就能觀察到很多有用的信息,實現一定程度的可觀測性。

下面舉例說明如何進行觀測,以及主要觀測哪些指標。

2. 安裝employees測試庫

安裝MySQL官方提供的employees測試數據庫,戳此鏈接(https://dev.mysql.com/doc/index-other.html)下載,解壓縮后開始安裝:

$ mysql -f < employees.sql;

INFO
CREATING DATABASE STRUCTURE
INFO
storage engine: InnoDB
INFO
LOADING departments
INFO
LOADING employees
INFO
LOADING dept_emp
INFO
LOADING dept_manager
INFO
LOADING titles
INFO
LOADING salaries
data_load_time_diff
00:00:37

MySQL還提供了相應的使用文檔:https://dev.mysql.com/doc/employee/en/

本次測試采用GreatSQL 8.0.32-24版本,且運行在MGR環境中:

greatsql> \s
...
Server version:         8.0.32-24 GreatSQL, Release 24, Revision 3714067bc8c
...

greatsql> select MEMBER_ID, MEMBER_ROLE, MEMBER_VERSION from performance_schema.replication_group_members;
+--------------------------------------+-------------+----------------+
| MEMBER_ID                            | MEMBER_ROLE | MEMBER_VERSION |
+--------------------------------------+-------------+----------------+
| 2adec6d2-febb-11ed-baca-d08e7908bcb1 | SECONDARY   | 8.0.32         |
| 2f68fee2-febb-11ed-b51e-d08e7908bcb1 | ARBITRATOR  | 8.0.32         |
| 5e34a5e2-feb6-11ed-b288-d08e7908bcb1 | PRIMARY     | 8.0.32         |
+--------------------------------------+-------------+----------------+

3. 觀測SQL運行狀態

查看當前連接/會話的連接ID、內部線程ID:

greatsql> select processlist_id, thread_id from performance_schema.threads where processlist_id = connection_id();
+----------------+-----------+
| processlist_id | thread_id |
+----------------+-----------+
|            110 |       207 |
+----------------+-----------+

查詢得到當前的連接ID=110,內部線程ID=207。

P.S,由于本文整理過程不是連續的,所以下面看到的 thread_id 值可能會有好幾個,每次都不同。

3.1 觀測SQL運行時的內存消耗

執行下面的SQL,查詢所有員工的薪資總額,按員工號分組,并按薪資總額倒序,取前10條記錄:

greatsql> explain select emp_no, sum(salary) as total_salary from salaries group by emp_no order by total_salary desc limit 10\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: salaries
   partitions: NULL
         type: index
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 7
          ref: NULL
         rows: 2838426
     filtered: 100.00
        Extra: Using temporary; Using filesort

看到需要全索引掃描(其實也等同于全表掃描,因為是基于PRIMARY索引),并且還需要生成臨時表,以及額外的filesort。

在正式運行該SQL之前,在另外的窗口中新建一個連接會話,執行下面的SQL先觀察該連接/會話當前的內存分配情況:

greatsql> select * from sys.x$memory_by_thread_by_current_bytes where thread_id = 207\G
*************************** 1. row ***************************
         thread_id: 207
              user: root@localhost
current_count_used: 9
 current_allocated: 26266
 current_avg_alloc: 2918.4444
 current_max_alloc: 16464
   total_allocated: 30311

等到該SQL執行完了,再一次查詢內存分配情況:

greatsql> select * from sys.x$memory_by_thread_by_current_bytes where thread_id = 207\G
*************************** 1. row ***************************
         thread_id: 207
              user: root@localhost
current_count_used: 13
 current_allocated: 24430
 current_avg_alloc: 1879.2308
 current_max_alloc: 16456
   total_allocated: 95719

我們注意到幾個數據的變化情況,用下面表格來展示:

指標

運行前

運行后

total_allocated

30311

95719

也就是說,SQL運行時,需要分配的內存是:95719 - 30311 = 65408 字節。

3.2 觀測SQL運行時的其他開銷

通過觀察 performance_schema.status_by_thread 表,可以知道相應連接/會話中SQL運行的一些狀態指標。在SQL運行結束后,執行下面的SQL命令即可查看:

greatsql> select * from performance_schema.status_by_thread where thread_id = 207;
...
|       207 | Created_tmp_disk_tables             | 0                        |
|       207 | Created_tmp_tables                  | 0                        |
...
|       207 | Handler_read_first                  | 1                        |
|       207 | Handler_read_key                    | 1                        |
|       207 | Handler_read_last                   | 0                        |
|       207 | Handler_read_next                   | 2844047                  |
|       207 | Handler_read_prev                   | 0                        |
|       207 | Handler_read_rnd                    | 0                        |
|       207 | Handler_read_rnd_next               | 0                        |
|       207 | Handler_rollback                    | 0                        |
|       207 | Handler_savepoint                   | 0                        |
|       207 | Handler_savepoint_rollback          | 0                        |
|       207 | Handler_update                      | 0                        |
|       207 | Handler_write                       | 0                        |
|       207 | Last_query_cost                     | 286802.914893            |
|       207 | Last_query_partial_plans            | 1                        |
...
|       207 | Select_full_join                    | 0                        |
|       207 | Select_full_range_join              | 0                        |
|       207 | Select_range                        | 0                        |
|       207 | Select_range_check                  | 0                        |
|       207 | Select_scan                         | 1                        |
|       207 | Slow_launch_threads                 | 0                        |
|       207 | Slow_queries                        | 1                        |
|       207 | Sort_merge_passes                   | 0                        |
|       207 | Sort_range                          | 0                        |
|       207 | Sort_rows                           | 1                       |
|       207 | Sort_scan                           | 1                        |
...

上面我們只羅列了部分比較重要的狀態指標。從這個結果也可以佐證slow query log中的結果,確實沒創建臨時表。

作為參照,查看這條SQL對應的slow query log記錄:

# Query_time: 0.585593  Lock_time: 0.000002 Rows_sent: 10  Rows_examined: 2844057 Thread_id: 110 Errno: 0 Killed: 0 Bytes_received: 115 Bytes_sent: 313 Read_first: 1 Read_last: 0 Read_key: 1 Read_next: 2844047 Read_prev: 0 Read_rnd: 0 Read_rnd_next: 0 Sort_merge_passes: 0 Sort_range_count: 0 Sort_rows: 10 Sort_scan_count: 1 Created_tmp_disk_tables: 0 Created_tmp_tables: 0 Start: 2023-07-06T10:06:01.438376+08:00 End: 2023-07-06T10:06:02.023969+08:00 Schema: employees Rows_affected: 0
# Tmp_tables: 0  Tmp_disk_tables: 0  Tmp_table_sizes: 0
# InnoDB_trx_id: 0
# Full_scan: Yes  Full_join: No  Tmp_table: No  Tmp_table_on_disk: No
# Filesort: Yes  Filesort_on_disk: No  Merge_passes: 0
#   InnoDB_IO_r_ops: 0  InnoDB_IO_r_bytes: 0  InnoDB_IO_r_wait: 0.000000
#   InnoDB_rec_lock_wait: 0.000000  InnoDB_queue_wait: 0.000000
#   InnoDB_pages_distinct: 4281
use employees;
SET timestamp=1688609161;
select emp_no, sum(salary) as total_salary from salaries group by emp_no order by total_salary desc limit 10;

可以看到,Created_tmp_disk_tables, Created_tmp_tables, Handler_read_next, Select_full_join, Select_scan, Sort_rows, Sort_scan, 等幾個指標的數值是一樣的。

還可以查看該SQL運行時的I/O latency情況,SQL運行前后兩次查詢對比:

greatsql> select * from sys.io_by_thread_by_latency where thread_id = 207;
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+
| user           | total | total_latency | min_latency | avg_latency | max_latency | thread_id | processlist_id |
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+
| root@localhost |     7 | 75.39 us      | 5.84 us     | 10.77 us    | 22.12 us    |       207 |            110 |
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+

...

greatsql> select * from sys.io_by_thread_by_latency where thread_id = 207;
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+
| user           | total | total_latency | min_latency | avg_latency | max_latency | thread_id | processlist_id |
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+
| root@localhost |     8 | 85.29 us      | 5.84 us     | 10.66 us    | 22.12 us    |       207 |            110 |
+----------------+-------+---------------+-------------+-------------+-------------+-----------+----------------+

可以看到這個SQL運行時的I/O latency是:85.29 - 75.39 = 9.9us。

3.3 觀測SQL運行進度

我們知道,運行完一條SQL后,可以利用PROFLING功能查看它各個階段的耗時,但是在運行時如果也想查看各階段耗時該怎么辦呢?

從MySQL 5.7版本開始,可以通過 performance_schema.events_stages_% 相關表查看SQL運行過程以及各階段耗時,需要先修改相關設置:

# 確認是否對所有主機&用戶都啟用
greatsql> SELECT * FROM performance_schema.setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| %    | %    | %    | NO      | NO      |
+------+------+------+---------+---------+

# 修改成對所有主機&用戶都啟用
greatsql> UPDATE performance_schema.setup_actors
 SET ENABLED = 'YES', HISTORY = 'YES'
 WHERE HOST = '%' AND USER = '%';
 
# 修改 setup_instruments & setup_consumers 設置
greatsql> UPDATE performance_schema.setup_consumers
 SET ENABLED = 'YES'
 WHERE NAME LIKE '%events_statements_%';
 
greatsql> UPDATE performance_schema.setup_consumers
 SET ENABLED = 'YES'
 WHERE NAME LIKE '%events_stages_%';

這就實時可以觀測SQL運行過程中的狀態了。

在SQL運行過程中,從另外的窗口查看該SQL對應的 EVENT_ID:

greatsql> SELECT EVENT_ID, TRUNCATE(TIMER_WAIT/1000000000000,6) as Duration, SQL_TEXT        FROM performance_schema.events_statements_history WHERE thread_id = 85 order by event_id desc limit 5;
+----------+----------+-------------------------------------------------------------------------------------------------------------------------------+
| EVENT_ID | Duration | SQL_TEXT                                                                                                                      |
+----------+----------+-------------------------------------------------------------------------------------------------------------------------------+
|   149845 |   0.6420 | select emp_no, sum(salary) as total_salary, sleep(0.000001) from salaries group by emp_no order by total_salary desc limit 10 |
|   149803 |   0.6316 | select emp_no, sum(salary) as total_salary, sleep(0.000001) from salaries group by emp_no order by total_salary desc limit 10 |
|   149782 |   0.6245 | select emp_no, sum(salary) as total_salary, sleep(0.000001) from salaries group by emp_no order by total_salary desc limit 10 |
|   149761 |   0.6361 | select emp_no, sum(salary) as total_salary, sleep(0.000001) from salaries group by emp_no order by total_salary desc limit 10 |
|   149740 |   0.6245 | select emp_no, sum(salary) as total_salary, sleep(0.000001) from salaries group by emp_no order by total_salary desc limit 10 |
+----------+----------+-------------------------------------------------------------------------------------------------------------------------------+

# 再根據 EVENT_ID 值去查詢 events_stages_history_long
greatsql> SELECT thread_id ,event_Id, event_name AS Stage, TRUNCATE(TIMER_WAIT/1000000000000,6) AS Duration  FROM performance_schema.events_stages_history_long WHERE NESTING_EVENT_ID = 149845 order by event_id;
+-----------+----------+------------------------------------------------+----------+
| thread_id | event_Id | Stage                                          | Duration |
+-----------+----------+------------------------------------------------+----------+
|        85 |   149846 | stage/sql/starting                             |   0.0000 |
|        85 |   149847 | stage/sql/Executing hook on transaction begin. |   0.0000 |
|        85 |   149848 | stage/sql/starting                             |   0.0000 |
|        85 |   149849 | stage/sql/checking permissions                 |   0.0000 |
|        85 |   149850 | stage/sql/Opening tables                       |   0.0000 |
|        85 |   149851 | stage/sql/init                                 |   0.0000 |
|        85 |   149852 | stage/sql/System lock                          |   0.0000 |
|        85 |   149854 | stage/sql/optimizing                           |   0.0000 |
|        85 |   149855 | stage/sql/statistics                           |   0.0000 |
|        85 |   149856 | stage/sql/preparing                            |   0.0000 |
|        85 |   149857 | stage/sql/Creating tmp table                   |   0.0000 |
|        85 |   149858 | stage/sql/executing                            |   0.6257 |
|        85 |   149859 | stage/sql/end                                  |   0.0000 |
|        85 |   149860 | stage/sql/query end                            |   0.0000 |
|        85 |   149861 | stage/sql/waiting for handler commit           |   0.0000 |
|        85 |   149862 | stage/sql/closing tables                       |   0.0000 |
|        85 |   149863 | stage/sql/freeing items                        |   0.0000 |
|        85 |   149864 | stage/sql/logging slow query                   |   0.0000 |
|        85 |   149865 | stage/sql/cleaning up                          |   0.0000 |
+-----------+----------+------------------------------------------------+----------+

上面就是這條SQL的運行進度展示,以及各個階段的耗時,和PROFILING的輸出一樣,當我們了解一條SQL運行所需要經歷的各個階段時,從上面的輸出結果中也就能估算出該SQL大概還要多久能跑完,決定是否要提前kill它。

如果想要觀察DDL SQL的運行進度,可以參考這篇文章:不用MariaDB/Percona也能查看DDL的進度。

更多的觀測指標、維度還有待繼續挖掘,以后有機會再寫。

另外,也可以利用MySQL Workbench工具,或MySQL Enterprise Monitor,都已集成了很多可觀測性指標,相當不錯的體驗。

責任編輯:武曉燕 來源: GreatSQL社區
相關推薦

2023-05-18 22:44:09

2023-10-26 08:47:30

云原生數據采集

2023-10-13 13:40:29

2024-05-28 09:37:48

2023-09-20 16:11:32

云原生分布式系統

2023-03-09 08:00:22

2015-07-20 15:44:46

Swift框架MJExtension反射

2021-11-19 09:40:50

數據技術實踐

2023-07-11 16:47:58

2022-05-16 13:31:22

微服務架構云原生微服務

2024-03-21 09:15:58

JS運行的JavaScrip

2025-08-27 02:55:00

API監控調試性

2023-03-30 16:30:08

可觀測云原生

2023-11-01 06:55:05

人工智能可觀測性IT

2022-09-27 21:32:14

Dapr指標與日志

2024-01-15 05:55:33

2009-09-24 17:19:06

運行時多態性
點贊
收藏

51CTO技術棧公眾號

欧美日韩综合一区二区三区| 日韩视频一区二区| 亚洲人成在线一二| 日本三日本三级少妇三级66| 你懂的国产在线| 亚洲开心激情| 久久精品久久精品| 亚洲男人的天堂在线| 日韩黄色短视频| aaa国产视频| 欧美丰满老妇| 欧美日韩视频在线第一区 | 国产91丝袜在线播放九色| 一色桃子一区二区| 99免费视频观看| 日韩av成人| 激情视频极品美女日韩| 一区二区三区在线视频观看58| 国产精品综合久久久| 一级二级黄色片| 欧美影视资讯| 中文字幕巨乱亚洲| 国产精品一区久久久| 国产精品suv一区二区| jizz18欧美18| 亚洲国产色一区| 亚洲综合中文字幕68页| 一区二区成人免费视频| 亚洲日本va中文字幕| 欧洲日韩一区二区三区| 亚洲一区二区免费视频软件合集| 又污又黄的网站| 91日韩欧美| 亚洲人成77777在线观看网| 亚洲成a人无码| h片在线观看| 91丨porny丨户外露出| 日韩av电影院| eeuss中文字幕| 天天躁日日躁狠狠躁欧美巨大小说 | 日本一区二区视频在线播放| 在线观看精品| 国产精品国产成人国产三级| 亚洲aⅴ男人的天堂在线观看 | 日韩成人短视频| 欧美第一在线视频| 午夜亚洲福利老司机| 欧美日韩成人一区二区三区| 久草热在线观看| 亚洲h色精品| 精品国产亚洲在线| 日本wwww视频| 麻豆最新免费在线视频| 成人精品国产免费网站| 国产精品www色诱视频| 黄色一级大片在线免费观看| 日韩黄色大片网站| 精品国产人成亚洲区| 国产男女无遮挡猛进猛出| av成人 com a| 午夜久久久久久久久久一区二区| h无码动漫在线观看| 免费人成在线观看网站| 韩国女主播成人在线观看| 久久免费视频在线观看| 亚洲精品91在线| 青青草国产免费一区二区下载 | 国产suv精品一区二区| av黄色在线看| 午夜影院欧美| 精品国产视频在线| 中文精品在线观看| 欧美久久一区二区三区| 欧美成人激情免费网| 日本熟妇人妻中出| 黄色精品视频网站| 欧美丝袜第一区| 91九色国产ts另类人妖| 人交獸av完整版在线观看| 国产欧美一区二区三区沐欲| 国产一区二区三区黄| 91丨九色丨蝌蚪丨对白| 久久精品123| 91国内揄拍国内精品对白| 国产精品视频一区二区三 | 久久精品一二三| www.成人av| 国产又黄又粗又硬| 久久久久国产精品一区二区| 国产精品日韩电影| 蜜臀精品一区二区三区| 一区视频在线看| 欧美成人午夜影院| 免费成人深夜蜜桃视频| 夜色77av精品影院| 亚洲激情久久久| 麻豆av免费看| 日韩在线观看一区二区三区| 6080午夜不卡| 天堂av8在线| 国外成人福利视频| 精品99久久久久久| 亚洲精品天堂网| 国产精品啊v在线| 欧美国产精品人人做人人爱| 国精品无码一区二区三区| 亚洲啪啪91| 91精品国产91久久久久| 亚洲天堂免费av| 91亚洲午夜精品久久久久久| 国内视频一区| 麻豆影视在线观看_| 欧美日韩精品在线视频| 欧美老熟妇喷水| 日本在线影院| 色综合视频一区二区三区高清| 凹凸国产熟女精品视频| 国产精品日韩精品在线播放| 欧美一区二区三区在线观看 | 中文在线不卡视频| 亚洲国产日韩一区无码精品久久久| 亚洲精品国产偷自在线观看| 国产盗摄xxxx视频xxx69| 精产国品一区二区| 懂色av噜噜一区二区三区av| 97人人模人人爽人人喊38tv| 亚洲av无码一区二区三区性色| 成人一级片在线观看| 亚洲一区二区三区在线观看视频| 婷婷电影在线观看| 欧美吻胸吃奶大尺度电影| the porn av| 美女100%一区| 欧美性生交xxxxx久久久| 日本r级电影在线观看| 综合激情久久| 大香伊人久久| 99re这里只有精品视频首页| 免费成人深夜夜行网站视频| 国产精品久久久久77777丨| 欧美剧在线免费观看网站 | 久久精品国产一区二区三| 久久久com| 阿v免费在线观看| 亚洲天堂av一区| 成年人网站国产| 日韩精品三级| 欧美夫妻性生活xx| 精品美女www爽爽爽视频| 成人免费高清视频在线观看| 女同性恋一区二区| 999精品视频在线观看| 欧美精品一区二区三区蜜桃视频 | 中国精品18videos性欧美| 欧美大片第1页| 一区二区不卡视频在线观看| 国产精品国产自产拍高清av | 日本免费一区二区三区等视频| 欧美福利电影网| 欧美性生交大片| 激情都市一区二区| 特级西西人体www高清大胆| 丁香花在线观看完整版电影| 精品捆绑美女sm三区| 久久亚洲AV无码| 日本中文字幕一区二区视频| 3d蒂法精品啪啪一区二区免费| 日本在线www| 午夜视频在线观看一区二区| 黄色性生活一级片| 亚洲国产一区二区三区在线播放| 亚洲www视频| 青青青草视频在线| 亚洲成人黄色在线观看| 日韩av片在线免费观看| 精品在线一区二区三区| 欧美不卡福利| 97在线视频免费观看完整版| 亚洲精品在线一区二区| 可以免费看的av毛片| 久久精品免视看| 成 年 人 黄 色 大 片大 全| 欧美亚洲二区| 伦理中文字幕亚洲| 最近中文字幕在线观看| 自拍偷拍国产亚洲| 91看片在线免费观看| 久久久久久久久久久妇女| 成人动漫视频在线观看免费| 中文字幕在线直播| 日韩在线小视频| 男人天堂视频网| 久久这里只有精品首页| 成年人午夜视频在线观看| 韩日一区二区三区| 日韩暖暖在线视频| 国产cdts系列另类在线观看| 欧美视频完全免费看| 亚洲色婷婷一区二区三区| 国产一区欧美二区| 中文字幕一区二区三区乱码| 91大神在线观看线路一区| 欧美成人精品三级在线观看| 黄色av网站在线免费观看| 欧美三级xxx| 一区二区国产精品精华液| 91麻豆高清视频| 九色91porny| 日韩av一级片| 国自产拍偷拍精品啪啪一区二区| 欧美h版在线| 欧美性色黄大片人与善| 日本精品视频| 国产日韩欧美在线观看| 免费在线观看av| 亚洲老头老太hd| www国产一区| 欧美久久一二区| 中文字幕免费观看| 午夜精品福利在线| 欧美黑吊大战白妞| 亚洲欧洲99久久| 一区二区三区久久久久| 奇米影视一区二区三区小说| 国产深夜男女无套内射| 欧美一区精品| 国产乱码一区| 中文在线аv在线| 国模私拍视频一区| 色呦呦视频在线观看| 亚洲国产婷婷香蕉久久久久久| 国产精品嫩草影院精东| 欧美伊人久久久久久久久影院| 国产又色又爽又黄的| 久久综合国产精品| 国产黑丝一区二区| 日本欧美一区二区三区乱码| 浮妇高潮喷白浆视频| 国内精品久久久久久久影视麻豆 | 成人高清网站| 亚洲欧美日韩高清| 久热av在线| 亚洲日韩欧美视频| 国产一级片在线| 国产一区二区三区在线看| 美女做暖暖视频免费在线观看全部网址91| 精品国产欧美一区二区| 蜜桃视频污在线观看| 欧美日韩一区二区三区| 日本熟妇毛耸耸xxxxxx| 国产亚洲精品bt天堂精选| 不卡一区二区在线观看| 26uuu久久天堂性欧美| 成人精品999| 国产成人福利片| 日本中文字幕精品| 国产999精品久久久久久| 国产a√精品区二区三区四区| 国产91精品久久久久久久网曝门| 亚洲美女精品视频| av资源网一区| 黄色一级片免费播放| 国产亚洲永久域名| 国产精品88久久久久久妇女| 一区二区影视| bt天堂新版中文在线地址| 亚洲欧洲视频| 日本久久精品一区二区| 亚洲黄色在线| 18禁免费无码无遮挡不卡网站| 久久激情久久| 日本美女视频一区| 国产69精品一区二区亚洲孕妇| 99久久免费看精品国产一区| 久久久青草青青国产亚洲免观| 精品亚洲aⅴ无码一区二区三区| 成人高清免费观看| 国产三级国产精品| 国产精品入口麻豆原神| 成人免费av片| 国产精品蜜臀av| 久草国产在线观看| 亚洲欧美另类久久久精品| 91网站免费视频| 中文一区二区在线观看| 欧美成人综合色| 色婷婷综合中文久久一本| 91精品在线视频观看| 欧美一区二区三区日韩| 深夜视频在线免费| 亚洲电影免费观看高清完整版在线观看 | 国产精品亚洲一区二区三区在线观看| 国产精品久久久999| 麻豆久久一区| 日本视频一区在线观看| 欧美调教在线| 好吊色欧美一区二区三区视频 | 久久久福利视频| 日韩一级毛片| 大陆av在线播放| 美女视频黄久久| 9久久婷婷国产综合精品性色| 国产一区二区在线电影| 免费在线观看成年人视频| 国产精品久久久久久久久动漫| 日韩伦人妻无码| 51精品久久久久久久蜜臀| 亚洲AV成人无码一二三区在线| 亚洲成人国产精品| 日本在线免费| 国产成人97精品免费看片| 亚洲不卡视频| 一区二区在线观| 麻豆久久精品| 大尺度做爰床戏呻吟舒畅| 亚洲视频在线一区观看| 懂色av蜜臀av粉嫩av分享吧最新章节| 日韩精品在线看片z| 人人妻人人澡人人爽精品日本| 中文国产成人精品| 韩国美女久久| 久久草.com| 99精品福利视频| 国内外成人免费激情视频| 日韩中文欧美在线| www.久久久精品| 国产美女在线精品| 国产探花视频在线播放| 精品久久久久久中文字幕| 亚洲va在线观看| 亚洲国产精品999| 天天干在线视频论坛| 成人黄色免费网站在线观看| 一区二区在线免费播放| 亚洲一区二区在线看| 日日嗨av一区二区三区四区| 粉嫩av懂色av蜜臀av分享| 国产日韩欧美一区二区三区乱码 | 欧美日韩最好看的视频| 一本色道久久综合| 无码成人精品区在线观看| 久久嫩草精品久久久久| 日本一区二区三区免费视频| 亚洲成人久久电影| 波多野结衣乳巨码无在线观看| 国产a一区二区| 伊人春色精品| 国产美女无遮挡网站| 久久综合色婷婷| 久久夜色精品国产噜噜亚洲av| 日韩精品久久久久久久玫瑰园| 成人在线免费看| 国产精品久久久久久久久| 精品久久中文| 日韩av中文字幕第一页| 日本欧美久久久久免费播放网| 国产中年熟女高潮大集合| 在线观看不卡一区| 天天影视久久综合| 国产综合福利在线| 欧美在线播放| 中文在线观看免费视频| 粉嫩av一区二区三区免费野| 欧美男男同志| 国产一区二区丝袜| 午夜久久黄色| 精品夜夜澡人妻无码av | 国产91|九色| 日韩一级淫片| 久久久久久免费看| 久久伊99综合婷婷久久伊| 中文资源在线播放| 日韩成人av在线| 久久精品女人天堂av免费观看| 51国偷自产一区二区三区的来源| 欧美日韩福利| 香港日本韩国三级网站| 亚洲丝袜美腿综合| 神马午夜精品95| 九九热精品视频| 四虎国产精品免费久久5151| 污污污污污污www网站免费| 精品一区二区精品| 国产一卡二卡在线| 亚洲天堂久久av| 国产精品99久久免费| 波多野结衣之无限发射| 国产精品久久久久一区二区三区共| 国产日韩免费视频| 日韩中文字幕免费视频| 精品欧美视频| 色综合av综合无码综合网站| 中文字幕亚洲在| 午夜18视频在线观看| 国产精品一区专区欧美日韩| 亚洲人成毛片在线播放女女| 亚洲一二三精品| 亚洲成av人片在线观看香蕉| 成人日韩av| 国产一区二区三区精彩视频|