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

美腿丝袜亚洲图片| www.日本在线观看| 色综合久久一区二区三区| 欧美三级中文字幕在线观看| 在线观看视频黄色| 可以免费观看的毛片| 欧美一级播放| 蜜臀久久99精品久久久无需会员 | 欧美第一页在线观看| 国产一级成人av| 欧美日韩一区小说| 高清欧美精品xxxxx| 91官网在线| 9久草视频在线视频精品| 国产精品久久久久久av| 久久一区二区三| 成人情趣视频网站| 日韩成人中文字幕| 色偷偷中文字幕| 99久久er| 色先锋资源久久综合| 伊人再见免费在线观看高清版| 国产中文字幕在线看| 国产 日韩 欧美大片| 国产精品天天狠天天看| 色婷婷av国产精品| 欧美日韩午夜| 精品激情国产视频| 国产精品久久久久无码av色戒| 免费观看性欧美大片无片| 在线视频一区二区三| 18禁网站免费无遮挡无码中文| 成人福利在线观看视频| 日本一区二区三区四区在线视频| 精品久久久久久一区二区里番| 国产成人精品在线视频| 日日摸日日碰夜夜爽av| 人妖欧美1区| 成人免费小视频| 欧洲精品一区色| 日韩精品福利| 99精品视频一区| 国产精品永久入口久久久| 国产福利小视频| 激情综合一区二区三区| 国产欧美精品一区二区| 老熟妇一区二区三区| 亚洲一区网站| 日本在线观看天堂男亚洲| 国产香蕉视频在线| 亚洲欧洲另类| 97在线精品视频| 成人免费区一区二区三区| 亚洲网站在线| 久久久免费高清电视剧观看| 欧美日韩国产精品综合| 欧美日韩p片| 欧美激情精品久久久久久| 色在线观看视频| 国产精品v一区二区三区| 欧美成aaa人片免费看| 国内偷拍精品视频| 欧美三级特黄| 欧美激情久久久久| 久久网中文字幕| 亚洲美女网站| 欧美在线性爱视频| 成年人av网站| 久久国产精品72免费观看| 国产欧美在线播放| 999免费视频| 成人精品鲁一区一区二区| 国产女主播一区二区| 亚洲人视频在线观看| 久久久精品黄色| 一本久道久久综合| 在线观看免费视频你懂的| 亚洲亚洲人成综合网络| a√天堂在线观看| 国产一区二区三区影视| 91麻豆精品国产自产在线 | 国产乱码精品一区二区三区av| 成人午夜在线观看| 免费看黄色一级视频| 99久久综合狠狠综合久久| 日本精品一区| 怡红院在线播放| 黑人巨大精品欧美一区二区| 国产精品久久久毛片| 欧美久久亚洲| 国产视频久久网| 国产高清视频免费在线观看| 国产中文一区| 国产精品国产三级国产专播精品人| 一区不卡在线观看| 成人av第一页| 中文视频一区视频二区视频三区| 国产精品—色呦呦| 一本久道久久综合中文字幕 | 国产成人免费av一区二区午夜| 精品1区2区在线观看| 精品人妻一区二区三区蜜桃视频| 一本精品一区二区三区| 欧美一区二区三区免费观看| 国产精品视频无码| 91首页免费视频| 欧美性受xxxx黑人猛交88| 极品av在线| 91精品国产91综合久久蜜臀| 欧美熟妇一区二区| 国产一区日韩一区| 国产精品一区二区三区免费视频| 国产刺激高潮av| 亚洲三级在线免费观看| 熟妇人妻va精品中文字幕| 91精品久久久久久综合五月天| 中文字幕日韩欧美在线| 国产成人无码精品| 国产成人免费在线观看不卡| 亚洲最大免费| 成人不卡视频| 亚洲欧美一区二区三区在线| 一区二区三区免费高清视频| 久88久久88久久久| 婷婷久久青草热一区二区| 色是在线视频| 欧美精品一区二区三区在线| caoporn91| 另类调教123区| 日韩一区国产在线观看| 另类专区亚洲| 国产视频精品xxxx| 久久露脸国语精品国产91| 国产精一品亚洲二区在线视频| 一区二区三视频| 成人精品一区二区三区电影| 亚洲人成电影在线观看天堂色| 国产精品视频久久久久久久| 丁香婷婷综合激情五月色| 国产内射老熟女aaaa| 9999精品| 欧美不卡视频一区发布| 国产视频一区二区三| 日韩毛片在线免费观看| 亚洲欧洲日本精品| 成人女性视频| 成人在线小视频| 老司机在线永久免费观看| 欧美视频完全免费看| 538精品视频| 免费高清在线视频一区·| 日日夜夜精品网站| 国产精品美女午夜爽爽| 在线看日韩欧美| 一级黄在线观看| 亚洲日本va在线观看| 国产裸体视频网站| 伊人久久亚洲影院| 久久久免费看| 成人免费毛片嘿嘿连载视频…| 中文字幕久热精品视频在线| 一本一道精品欧美中文字幕| 亚洲视频在线观看一区| 搡的我好爽在线观看免费视频| 一区二区三区午夜视频| 成人在线观看网址| 日本三级一区| 色偷偷91综合久久噜噜| av中文字幕观看| 性感美女极品91精品| 麻豆国产精品一区| 日韩电影在线一区二区三区| 中文字幕乱码一区二区三区| 视频欧美一区| 日本一区二区不卡| 蜜桃视频网站在线| 欧美大胆一级视频| 日本视频在线观看免费| 国产精品国产三级国产aⅴ原创| 久久久福利影院| 亚洲三级网站| 亚洲人体一区| 欧美日韩一区二区三区在线电影 | 久久久精品在线视频| 欧美系列电影免费观看| 亚洲自拍偷拍网址| 永久免费毛片在线播放| 久久精品视频在线观看| 秋霞av鲁丝片一区二区| 欧美撒尿777hd撒尿| 精品小视频在线观看| 国产无一区二区| www.欧美com| 日韩黄色免费网站| 男人天堂av片| 日本精品三区| 国产一区二区三区奇米久涩| 欧美美女被草| 欧美在线激情网| av中文字幕在线播放| 日韩精品中文字| av高清一区二区| 欧美性猛交xxxxxxxx| 国产成年人免费视频| 国产精品久99| 国产毛片久久久久久久| 国产91高潮流白浆在线麻豆| 国产男女激情视频| 在线视频观看日韩| 四虎影院一区二区| 色棕色天天综合网| 国产精品区一区| 日韩电影精品| 国产精品劲爆视频| 蜜桃视频在线网站| 欧美精品激情在线| av激情在线| 久久久久www| 99青草视频在线播放视| 亚洲国产欧美一区| 北条麻妃一二三区| 日韩亚洲欧美在线观看| 亚洲资源在线播放| 91国产成人在线| 精品91久久久| 亚洲国产色一区| 欧美三级 欧美一级| 中文字幕亚洲不卡| 亚洲色图日韩精品| 国产日产精品一区| 亚洲国产日韩一区无码精品久久久| 99视频有精品| 亚洲av人人澡人人爽人人夜夜| 国产麻豆成人精品| 欧美一级免费在线| 国产综合一区二区| 天堂av2020| 久久精品国产一区二区三| 尤蜜粉嫩av国产一区二区三区| 美女被久久久| 毛片一区二区三区四区| 亚洲一区自拍| 欧美 国产 小说 另类| 国产日本精品| 黑鬼大战白妞高潮喷白浆| 欧美一级专区| 不卡av免费在线| 奇米影视一区二区三区| 亚洲色图 在线视频| 麻豆精品蜜桃视频网站| 天天干天天av| 国产成人精品免费视频网站| 国产精品一级无码| gogo大胆日本视频一区| 一出一进一爽一粗一大视频| 久久嫩草精品久久久精品一| www.av欧美| 中文字幕一区二区在线播放| 成人免费黄色小视频| 亚洲国产视频a| 亚洲精品中文字幕乱码三区91| 一本一本久久a久久精品综合麻豆| 在线观看亚洲黄色| 欧美美女bb生活片| 亚洲av色香蕉一区二区三区| 亚洲成人aaa| 男同在线观看| www.欧美三级电影.com| 天堂av在线电影| 欧美亚洲国产日韩2020| 91p九色成人| 91精品国产高清久久久久久91裸体| av不卡一区二区| 日本a级片久久久| 天天色综合色| 青青青青草视频| 男女性色大片免费观看一区二区 | 一区二区视频免费| 日韩亚洲欧美成人一区| 天天操天天干天天操| 一本色道久久88精品综合| 国产黄大片在线观看画质优化| 欧美大片免费看| 成人看片网页| 国产精品二区在线观看| 精品国产一区二区三区久久久蜜臀| 久久精品国产精品亚洲精品色| 日韩午夜av| 91视频这里只有精品| 国产在线欧美在线| 久久久www免费人成精品| 69夜色精品国产69乱| 婷婷夜色潮精品综合在线| 在线免费观看一级片| 亚洲国产高清高潮精品美女| 在线播放毛片| 91爱爱小视频k| 国产午夜亚洲精品一级在线| 欧美一区二区三区精美影视| 欧美三级黄美女| 亚洲天堂2018av| 91麻豆国产福利精品| 欧美精品成人久久| 在线亚洲一区二区| 婷婷在线免费观看| 久久久精品国产网站| 性感美女一区二区在线观看| 国产精品一区二区av| 国产精品久久久乱弄| 国产精品无码一本二本三本色| 国产成人精品免费视频网站| 少妇视频一区二区| 色婷婷综合久久久久中文| 开心激情综合网| 欧美成人激情在线| 久久精品国产福利| 麻豆一区区三区四区产品精品蜜桃| 欧美激情自拍| 欧美视频国产视频| 中文子幕无线码一区tr| 亚洲GV成人无码久久精品| 欧美不卡一区二区| 18视频在线观看网站| 成人精品久久久| 97欧美在线视频| 国产成人黄色网址| 国产日韩精品一区二区三区| 天堂网中文字幕| 亚洲欧美中文在线视频| 男人天堂视频在线观看| 国产欧美在线一区二区| 狠狠久久婷婷| 第一页在线视频| 一区二区三区不卡在线观看| 国产男男gay网站| 久久久国产在线视频| 高清不卡一区| 久久久久久久久影视| 国产乱妇无码大片在线观看| 欧美激情精品久久久| 欧美色视频免费| 欧美一级片免费在线| 日韩免费电影在线观看| 99爱视频在线| 91蜜桃在线免费视频| 久久精品久久久久久久| 亚洲视频在线观看免费| 草莓视频成人appios| 亚洲国产精品一区二区第四页av| 日韩精品电影在线| 少妇视频在线播放| 欧美日韩在线不卡| 成码无人av片在线观看网站| 99re资源| 一本久久综合| 制服 丝袜 综合 日韩 欧美| 欧洲另类一二三四区| 男人在线资源站| av蓝导航精品导航| 亚洲美女少妇无套啪啪呻吟| 黄色短视频在线观看| 91精品福利在线| 欧美激情二区| 国产精品v欧美精品v日韩精品| 99精品视频免费全部在线| 日韩乱码人妻无码中文字幕久久| 在线观看日韩国产| 嫩草在线视频| 国产精品一区二区三区免费观看| 亚洲精品麻豆| 极品人妻videosss人妻| 欧美电影在线免费观看| 4438x成人网全国最大| 精品视频一区二区| 丝袜美腿亚洲一区| jizzjizz日本少妇| 精品美女一区二区| 亚洲播播91| 91免费版看片| 国产午夜精品一区二区三区四区 | 欧美一级电影网站| 精品极品在线| 正义之心1992免费观看全集完整版| 高清国产一区二区| 无码人妻熟妇av又粗又大| 欧美成人一区二区三区电影| 天海翼精品一区二区三区| 国产3p在线播放| 欧美性xxxx极品高清hd直播| 免费a级毛片在线播放| 国内视频一区二区| 六月丁香综合在线视频| 青青草av在线播放| 久久最新资源网| 一本色道久久综合亚洲精品酒店| 欧美又黄又嫩大片a级| 欧美特级www| 2020国产在线视频| 午夜精品视频在线观看一区二区| 成人网在线播放|