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

MySQL在刪除表時(shí)I/O錯(cuò)誤原因分析

數(shù)據(jù)庫 MySQL
最近使用sysbench測(cè)試MySQL,由于測(cè)試時(shí)間較長(zhǎng),寫了一個(gè)腳本按prepare->run->cleanup的順序在后臺(tái)跑著。跑完后察看日志發(fā)現(xiàn)一個(gè)問題,MySQL服務(wù)的錯(cuò)誤日志中出現(xiàn)多條類似以下信息的報(bào)錯(cuò)......看起來是I/O出現(xiàn)了錯(cuò)誤,但MySQL進(jìn)程并未崩潰,sysbench客戶端也沒有報(bào)錯(cuò)。

問題現(xiàn)象

最近使用sysbench測(cè)試MySQL,由于測(cè)試時(shí)間較長(zhǎng),寫了一個(gè)腳本按prepare->run->cleanup的順序在后臺(tái)跑著。跑完后察看日志發(fā)現(xiàn)一個(gè)問題,MySQL服務(wù)的錯(cuò)誤日志中出現(xiàn)多條類似以下信息的報(bào)錯(cuò):

 

  1. [ERROR] InnoDB: Trying to do I/O to a tablespace which does not exist. I/O type: read, page: [page id: space=32, page number=57890], I/O length: 16384 bytes。 

看起來是I/O出現(xiàn)了錯(cuò)誤,但MySQL進(jìn)程并未崩潰,sysbench客戶端也沒有報(bào)錯(cuò)。

發(fā)現(xiàn)問題過程

根據(jù)報(bào)錯(cuò)的時(shí)間記錄以及腳本輸出的各個(gè)階段的時(shí)間點(diǎn)對(duì)比,確定了當(dāng)時(shí)腳本正在執(zhí)行的命令為:

 

  1. sysbench --tables=100 --table-size=4000000 --threads=50 --mysql-db=sbtest --time=300 oltp_delete cleanup 

重新手動(dòng)執(zhí)行一遍這個(gè)用例,卻沒有再出現(xiàn)同樣的情況。但是用腳本執(zhí)行卻依然能夠發(fā)現(xiàn)這個(gè)錯(cuò)誤信息。初步懷疑是run和cleanup之間不能間隔太久才會(huì)觸發(fā)這個(gè)問題。由于執(zhí)行一遍100G數(shù)據(jù)量的時(shí)間較長(zhǎng),重現(xiàn)代價(jià)較大,先嘗試縮減用例數(shù)據(jù)量。將—table-size=4000000修改為2000000,此時(shí)執(zhí)行腳本,又不會(huì)觸發(fā)這個(gè)問題了,***將—table-size=3000000可以穩(wěn)定觸發(fā)又能減少部分重現(xiàn)時(shí)間。為了確認(rèn)是否間隔太長(zhǎng)會(huì)導(dǎo)致不能復(fù)現(xiàn),修改腳本在run和cleanup兩個(gè)階段之間sleep 10秒,果然不會(huì)觸發(fā)這個(gè)錯(cuò)誤信息。修改為sleep 5秒則還能觸發(fā),不過報(bào)錯(cuò)條數(shù)已有所減少。

問題調(diào)查

察看對(duì)應(yīng)版本mysql5.7.22的代碼,發(fā)現(xiàn)這個(gè)報(bào)錯(cuò)只有一個(gè)位置:fil0fil.cc文件的第5578行fil_io()函數(shù)內(nèi)。 直接使用gdb調(diào)試,在這個(gè)位置加上斷點(diǎn),并執(zhí)行可復(fù)現(xiàn)的腳本,得到以下堆棧:

 

  1. (gdb) bt  
  2. #0  fil_io (type=..., sync=sync@entry=false, page_id=..., page_size=..., byte_offset=byte_offset@entry=0, len=16384, buf=0x7f9ead544000, message=message@entry=0x7f9ea8ce9c78) at mysql-5.7.22/storage/innobase/fil/fil0fil.cc:5580 
  3. #1  0x00000000010f99fa in buf_read_page_low (err=0x7f9ddaffc72c, sync=<optimized out>, type=0, mode=<optimized out>, page_id=..., page_size=..., unzip=trueat mysql-5.7.22/storage/innobase/buf/buf0rea.cc:195 
  4. #2  0x00000000010fc5fa in buf_read_ibuf_merge_pages (sync=sync@entry=false, space_ids=space_ids@entry=0x7f9ddaffc7e0, page_nos=page_nos@entry=0x7f9ddaffc7a0, n_stored=2) at mysql-5.7.22/storage/innobase/buf/buf0rea.cc:834 
  5. #3  0x0000000000f3a86c in ibuf_merge_pages (n_pages=n_pages@entry=0x7f9ddaffce30, sync=sync@entry=falseat mysql-5.7.22/storage/innobase/ibuf/ibuf0ibuf.cc:2552 
  6. #4  0x0000000000f3a94a in ibuf_merge (sync=false, sync=false, n_pages=0x7f9ddaffce30) at mysql-5.7.22/storage/innobase/ibuf/ibuf0ibuf.cc:2656 
  7. #5  ibuf_merge_in_background (full=full@entry=falseat mysql-5.7.22/storage/innobase/ibuf/ibuf0ibuf.cc:2721 
  8. #6  0x000000000102bcf4 in srv_master_do_active_tasks () at mysql-5.7.22/storage/innobase/srv/srv0srv.cc:2132 
  9. #7  srv_master_thread (arg=<optimized out>) at mysql-5.7.22/storage/innobase/srv/srv0srv.cc:2383 
  10. #8  0x00007fa003eeddc5 in start_thread () from /lib64/libpthread.so.0 
  11. #9  0x00007fa002aab74d in clone () from /lib64/libc.so.6 

 

很明顯這是后臺(tái)線程在做insert buffer merge操作。此時(shí)發(fā)現(xiàn)space->stop_new_ops為true,也就是要處理的頁面所屬的space正在被刪除。為什么會(huì)去操作正在被刪除的space呢?這需要調(diào)查下insert buffer功能、insert buffer merge的流程以及刪除表的流程。

insert buffer背景知識(shí)

insert buffer是一種特殊的數(shù)據(jù)結(jié)構(gòu)(B+ tree),當(dāng)輔助索引頁面不在緩沖池中時(shí),它會(huì)將更改緩存起來,稍后在頁面被其他讀取操作加載到緩沖池中時(shí)合并。MySQL最初引進(jìn)這個(gè)功能的時(shí)候只能緩存insert操作,所以叫做insert buffer,現(xiàn)在這些操作可以是 INSERT, UPDATE, or DELETE(DML),所以改叫做change buffer了(本文依然以insert buffer描述),但源碼中依然以ibuf作為標(biāo)識(shí)。這個(gè)功能把若干對(duì)同一頁面的更新緩存起來,合并為一次性更新操作,減少了IO,并轉(zhuǎn)化隨機(jī)IO為順序IO,這樣可以避免隨機(jī)IO帶來性能損耗,提高數(shù)據(jù)庫的寫性能。

相關(guān)insert buffer merge邏輯

當(dāng)buffer page讀入buffer pool時(shí),就會(huì)進(jìn)行insert buffer merge。主要有幾個(gè)場(chǎng)景會(huì)出現(xiàn)merge過程:

  1. 當(dāng)頁面被讀入緩沖池時(shí),讀取完成后先進(jìn)行ibuf的merge,然后頁面才可用;
  2. merge操作作為后臺(tái)任務(wù)執(zhí)行。 innodb_io_capacity參數(shù)可設(shè)置InnoDB后臺(tái)任務(wù)每次merge過程的頁面數(shù)上限;
  3. 在崩潰恢復(fù)期間,當(dāng)索引頁被讀入緩沖池時(shí),將執(zhí)行對(duì)應(yīng)頁的insert buffer merge;
  4. insert buffer具有持久性,系統(tǒng)崩潰不會(huì)導(dǎo)致它失效。重啟后,insert buffer merge操作將恢復(fù)正常;
  5. 服務(wù)器關(guān)閉時(shí)可使用—innodb-fast-shutdown = 0強(qiáng)制進(jìn)行ibuf的完全合并。

我們這次的問題很明顯屬于第二種情況。innodb主線程(svr_master_thread)會(huì)每隔一秒主動(dòng)進(jìn)行一次insert buffer的merge操作。先判斷過去1s之內(nèi)服務(wù)器是否發(fā)生過活動(dòng)(插入元組到頁面、undo表上的行操作等),如果發(fā)生過,則merge的***頁面數(shù)為innodb_io_capacity設(shè)定的5%。如果沒有則merge的***頁面數(shù)為innodb_io_capacity設(shè)定的值。

innodb主線程(svr_master_thread)merge的主流程如下:

  1. 主線程從ibuf樹的葉子節(jié)點(diǎn)讀取頁號(hào)和space號(hào),并記錄到一個(gè)二元數(shù)組中(未加鎖);
  2. 主線程對(duì)二元組中space進(jìn)行檢測(cè)是否在表空間緩存中,如不在,說明已經(jīng)被刪除了,刪除對(duì)應(yīng)ibuf的記錄;
  3. 主線程判斷是否對(duì)一個(gè)正在刪除的space進(jìn)行異步讀取操作,如果是,報(bào)錯(cuò),并刪除對(duì)應(yīng)ibuf的記錄,轉(zhuǎn)到過程2繼續(xù)下一個(gè)數(shù)組元素的判斷;
  4. 如果一切判斷正常,主線程發(fā)出async io請(qǐng)求,async讀取需要被merge的索引頁面;
  5. I/O handler 線程,在接受到完成的async I/O之后,進(jìn)行merge操作;
  6. 進(jìn)行merge的時(shí)候調(diào)用fil_space_acquire對(duì)space->n_pending_ops進(jìn)行自增。避免刪除操作并發(fā);
  7. 執(zhí)行完畢后調(diào)用fil_space_release對(duì)space->n_pending_ops進(jìn)行自減。

相關(guān)刪除表的邏輯

  1. 對(duì)fil_system->mutex加鎖,設(shè)置sp->stop_new_ops = true,標(biāo)記space正在刪除,不允許對(duì)它進(jìn)行新操作,然后對(duì)fil_system->mutex解鎖;
  2. 對(duì)fil_system->mutex加鎖,檢測(cè)space->n_pending_ops,對(duì)fil_system->mutex解鎖。如果檢測(cè)到大于0,意味著還有依賴的操作未完成,睡眠20ms后重試;
  3. 對(duì)fil_system->mutex加鎖,檢測(cè)space->n_pending_flushes和(*node)->n_pending ,對(duì)fil_system->mutex解鎖。如果檢測(cè)到大于0,意味著還有依賴的I/O未完成,睡眠20ms后重試;
  4. 此時(shí)認(rèn)為已經(jīng)沒有沖突的操作了,刷出所有臟頁面或刪除所有給定的表空間的頁面;
  5. 從表空間緩存刪除指定space的記錄;
  6. 刪除對(duì)應(yīng)數(shù)據(jù)文件。

問題結(jié)論

情況很明確了,主線程獲取ibuf的(space,page)的過程與刪除操作執(zhí)行的過程并沒有鎖保證互斥,只有async I/O完成之后的merge操作與刪除操作才有互斥。如果后臺(tái)線程開始ibuf merge并已經(jīng)執(zhí)行過了第2步的檢測(cè),但還沒有執(zhí)行到第3步檢測(cè),此時(shí)用戶線程開始做刪除表的操作,并設(shè)置好stop_new_ops標(biāo)記但還沒有執(zhí)行到第5步刪除表空間緩存,就會(huì)出現(xiàn)這個(gè)錯(cuò)誤信息。兩線程的交互如下圖所示:

MySQL在刪除表時(shí)I/O錯(cuò)誤原因分析

不出意外的話,在打中斷點(diǎn)時(shí)必然有線程在執(zhí)行對(duì)應(yīng)表的刪除操作。果然我們可以發(fā)現(xiàn)如下堆棧:

 

  1. Thread 118 (Thread 0x7f9de0111700 (LWP 5234)):  
  2. #0  0x00007fa003ef1e8e in pthread_cond_broadcast@@GLIBC_2.3.2 () from /lib64/libpthread.so.0  
  3. #1  0x0000000000f82f41 in broadcast (this=0xd452ef8) at mysql-5.7.22/storage/innobase/os/os0event.cc:184  
  4. #2  set (this=0xd452ef8) at mysql-5.7.22/storage/innobase/os/os0event.cc:75  
  5. #3  os_event_set (event=0xd452ef8) at mysql-5.7.22/storage/innobase/os/os0event.cc:483  
  6. #4  0x00000000010ec8a4 in signal (this=<optimized out>) at mysql-5.7.22/storage/innobase/include/ut0mutex.ic:105  
  7. #5  exit (this=<optimized out>) at mysql-5.7.22/storage/innobase/include/ib0mutex.h:690  
  8. #6  exit (this=<optimized out>) at mysql-5.7.22/storage/innobase/include/ib0mutex.h:961  
  9. #7  buf_flush_yield (bpage=<optimized out>, buf_pool=<optimized out>) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:405  
  10. #8  buf_flush_try_yield (processed=<optimized out>, bpage=<optimized out>, buf_pool=<optimized out>) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:449  
  11. #9  buf_flush_or_remove_pages (trx=<optimized out>, flush=<optimized out>, observer=<optimized out>, id=<optimized out>, buf_pool=<optimized out>) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:632  
  12. #10 buf_flush_dirty_pages (buf_pool=<optimized out>, id=<optimized out>, observer=<optimized out>, flush=<optimized out>, trx=<optimized out>) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:693  
  13. #11 0x00000000010f6de7 in buf_LRU_remove_pages (trx=0x0, buf_remove=BUF_REMOVE_FLUSH_NO_WRITE, id=55, buf_pool=0x31e55e8) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:893  
  14. #12 buf_LRU_flush_or_remove_pages (id=id@entry=55, buf_remove=buf_remove@entry=BUF_REMOVE_FLUSH_NO_WRITE, trx=trx@entry=0x0) at mysql-5.7.22/storage/innobase/buf/buf0lru.cc:951  
  15. #13 0x000000000114e488 in fil_delete_tablespace (id=id@entry=55, buf_remove=buf_remove@entry=BUF_REMOVE_FLUSH_NO_WRITE) at mysql-5.7.22/storage/innobase/fil/fil0fil.cc:2800  
  16. #14 0x0000000000fe77bd in row_drop_single_table_tablespace (trx=0x0, is_encrypted=false, is_temp=false, filepath=0x7f9d7c209f38 "./sbtest/sbtest25.ibd", tablename=0x7f9d7c209dc8 "sbtest/sbtest25", space_id=55) at mysql-5.7.22/storage/innobase/row/row0mysql.cc:4189 
  17. #15 row_drop_table_for_mysql (name=name@entry=0x7f9de010e020 "sbtest/sbtest25", trx=trx@entry=0x7f9ff9515750, drop_db=<optimized out>, nonatomic=<optimized out>, nonatomic@entry=true, handler=handler@entry=0x0) at mysql-5.7.22/storage/innobase/row/row0mysql.cc:4741 
  18. #16 0x0000000000f092f3 in ha_innobase::delete_table (this=<optimized out>, name=0x7f9de010f5e0 "./sbtest/sbtest25"at mysql-5.7.22/storage/innobase/handler/ha_innodb.cc:12539 
  19. #17 0x0000000000801a30 in ha_delete_table (thd=thd@entry=0x7f9d7c1f6910, table_type=table_type@entry=0x2ebd100, path=path@entry=0x7f9de010f5e0 "./sbtest/sbtest25", db=db@entry=0x7f9d7c00e560 "sbtest", alias=0x7f9d7c00df98 "sbtest25", generate_warning=generate_warning@entry=trueat mysql-5.7.22/sql/handler.cc:2586 
  20. #18 0x0000000000d0a6af in mysql_rm_table_no_locks (thd=thd@entry=0x7f9d7c1f6910, tables=tables@entry=0x7f9d7c00dfe0, if_exists=true, drop_temporary=false, drop_view=drop_view@entry=false, dont_log_query=dont_log_query@entry=falseat mysql-5.7.22/sql/sql_table.cc:2546 
  21. #19 0x0000000000d0ba58 in mysql_rm_table (thd=thd@entry=0x7f9d7c1f6910, tables=tables@entry=0x7f9d7c00dfe0, if_exists=<optimized out>, drop_temporary=<optimized out>) at mysql-5.7.22/sql/sql_table.cc:2196 
  22. #20 0x0000000000c9d90b in mysql_execute_command (thd=thd@entry=0x7f9d7c1f6910, first_level=first_level@entry=trueat mysql-5.7.22/sql/sql_parse.cc:3589 
  23. #21 0x0000000000ca1edd in mysql_parse (thd=thd@entry=0x7f9d7c1f6910, parser_state=parser_state@entry=0x7f9de01107a0) at mysql-5.7.22/sql/sql_parse.cc:5582 
  24. #22 0x0000000000ca2a20 in dispatch_command (thd=thd@entry=0x7f9d7c1f6910, com_data=com_data@entry=0x7f9de0110e00, command=COM_QUERY) at mysql-5.7.22/sql/sql_parse.cc:1458 
  25. #23 0x0000000000ca4377 in do_command (thd=thd@entry=0x7f9d7c1f6910) at mysql-5.7.22/sql/sql_parse.cc:999 
  26. #24 0x0000000000d5ed00 in handle_connection (arg=arg@entry=0x10b8e910) at mysql-5.7.22/sql/conn_handler/connection_handler_per_thread.cc:300 
  27. #25 0x0000000001223d74 in pfs_spawn_thread (arg=0x10c48f40) at mysql-5.7.22/storage/perfschema/pfs.cc:2190 
  28. #26 0x00007fa003eeddc5 in start_thread () from /lib64/libpthread.so.0 
  29. #27 0x00007fa002aab74d in clone () from /lib64/libc.so.6 

 

解決辦法

為buf_read_ibuf_merge_pages、buf_read_page_low、fil_io新增一個(gè)參數(shù)ignore_missing_space。表示忽略正在刪除的space,默認(rèn)為false,當(dāng)ibuf_merge_pages調(diào)用的時(shí)候置為true。在fil_io報(bào)錯(cuò)處額外判斷該參數(shù)是否為true,是則不報(bào)錯(cuò),繼續(xù)其他流程。

或者直接在buf_read_ibuf_merge_pages調(diào)用buf_read_page_low時(shí)傳入IORequest::IGNORE_MISSING參數(shù)。

具體代碼參考MariaDB commit:8edbb1117a9e1fd81fbd08b8f1d06c72efe38f44

影響版本

察看相關(guān)信息,這個(gè)問題是修改Bug#19710564時(shí)刪除表空間版本引入的。

  • MySQL Community Server 5.7.6引入,版本5.7.22尚未修復(fù),版本8.0.0已修復(fù)。
  • MariaDB Server 10.2受影響。MariaDB Server 10.2.9, 10.3.2已修復(fù)

優(yōu)化建議

 

可優(yōu)化一下性能:在buf_read_ibuf_merge_pages中記錄下出錯(cuò)的space id,循環(huán)的時(shí)候判斷下一個(gè)page的space id,如果space id是相同的,直接刪除對(duì)應(yīng)ibuf的記錄(當(dāng)前分配的***space id記錄在系統(tǒng)表空間,space id占4個(gè)字節(jié),低于0xFFFFFFF0UL,分配時(shí)讀取系統(tǒng)表空間保存的值,然后加一,具有唯一性)。 

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2013-09-17 15:13:28

IO

2014-06-30 10:12:02

移動(dòng)安全密碼Google

2018-11-05 11:20:54

緩沖IO

2013-05-28 10:08:41

IO輸出

2011-04-11 11:32:29

Oracle分區(qū)表磁盤IO沖突

2012-08-28 09:35:15

存儲(chǔ)虛擬化

2011-01-14 09:25:28

LinuxIO機(jī)制

2020-06-03 17:30:42

LinuxIO

2020-12-11 11:04:07

NettyIO

2012-11-14 11:18:29

Mysql

2015-05-08 11:23:41

谷歌IO大會(huì)

2019-05-05 15:20:32

Linuxiotop磁盤

2019-09-12 08:58:26

LinuxUNIX操作系統(tǒng)

2017-01-19 19:14:20

Linux重定向命令

2021-10-13 06:49:15

網(wǎng)絡(luò) IO

2013-09-16 16:07:38

Java基礎(chǔ)IO

2015-08-10 14:39:46

Java 操作建議

2020-06-10 08:28:51

Kata容器I

2021-02-10 08:09:48

Netty網(wǎng)絡(luò)多路復(fù)用

2015-05-11 17:21:33

Google IO2015
點(diǎn)贊
收藏

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

手机看片福利日韩| 久久国产精品一区二区三区| 五月婷婷一区二区| 欧美福利在线播放网址导航| 91福利视频在线| 欧美日韩国产123区| 久久久99爱| 91成年人视频| 久久国产99| 欧美成人h版在线观看| 国产老熟女伦老熟妇露脸| 欧美日韩国产网站| 亚洲国产精品一区二区尤物区| 欧美一区二区三区四区夜夜大片| 国产富婆一级全黄大片| 日韩激情视频网站| 2021国产精品视频| 加勒比av在线播放| 久久综合成人| 亚洲美女福利视频网站| 韩国三级hd中文字幕有哪些| 电影久久久久久| 亚洲成人综合网站| 韩国黄色一级大片| 色哟哟免费在线观看| 99久久99久久精品免费观看| 91免费精品视频| 国产九色91回来了| 鲁大师成人一区二区三区| 麻豆成人在线看| 丰满的亚洲女人毛茸茸| 色吊丝一区二区| 精品国产第一区二区三区观看体验| mm131亚洲精品| 黑人巨大精品| 精品国产成人av| 日韩黄色片在线| 最近高清中文在线字幕在线观看| 91视频免费观看| 国产综合动作在线观看| 精品人妻伦一区二区三区久久| 奇米影视在线99精品| 538国产精品一区二区免费视频| 免费视频一二三区| 欧美视频官网| 欧美丰满老妇厨房牲生活 | 国产欧美一区二区三区沐欲| 精品一区二区三区日本| 免费观看国产视频| 成人网在线免费视频| 成人三级在线| 高清毛片aaaaaaaaa片| 国产成人在线看| 波多野结衣精品久久| 丰满岳乱妇国产精品一区| 国产成人综合网| 国产精品12| 色一情一乱一区二区三区| 99热精品国产| 欧美精品一区在线发布| 精品三级久久久久久久电影聊斋| 久久蜜桃av一区二区天堂| 欧美日韩在线精品一区二区三区| 台湾av在线二三区观看| 久久色在线观看| 欧美视频1区| 亚洲s色大片| 国产精品国产三级国产普通话蜜臀 | 亚洲国产精品成人综合 | 色综合色综合色综合| 国产免费毛卡片| 日韩成人亚洲| 制服丝袜中文字幕一区| 中文字幕乱妇无码av在线| 国产suv精品一区| 亚洲精品动漫100p| 久久久久久久毛片| 欧美r级电影| 色综合久久88色综合天天看泰| 久久久久久福利| 先锋影音久久久| 国产综合久久久久| 国产18精品乱码免费看| 久久久久亚洲蜜桃| 中文字幕一区综合| 国产白丝在线观看| 日本久久精品电影| 天堂av2020| 欧美做受69| 中文字幕在线视频日韩| 麻豆changesxxx国产| 亚洲视频成人| 国产自产女人91一区在线观看| 亚洲精品久久久蜜桃动漫| 99这里只有久久精品视频| 日本高清不卡一区二区三| 搞黄网站在线观看| 欧美午夜精品久久久久久人妖| 在线观看亚洲色图| 欧美日韩看看2015永久免费 | 擼擼色在线看观看免费| 在线免费av一区| 中文字幕 欧美 日韩| 国产成人手机高清在线观看网站| 成人444kkkk在线观看| 在线观看亚洲天堂| 国产真实乱偷精品视频免| 黑人另类av| 欧美jizzhd69巨大| 日韩欧美成人精品| 精品人妻一区二区乱码| 欧美一区2区| 欧美精品video| 91影院在线播放| 久久先锋影音av| 国产精品视频一二三四区| 超碰这里只有精品| 日韩av在线免费观看| 国产盗摄一区二区三区在线| 日日夜夜免费精品| 久久偷看各类wc女厕嘘嘘偷窃| 黄色网址视频在线观看| 91福利视频在线| 国产精品无码一区二区三区免费| 亚洲在线久久| 国产成人91久久精品| 亚洲av无码片一区二区三区| 中文无字幕一区二区三区| 看av免费毛片手机播放| av日韩在线播放| 久久天天躁狠狠躁夜夜爽蜜月| 无码人妻丰满熟妇精品区| av一区二区三区四区| 日本一区二区三区四区五区六区| 欧美123区| 亚洲欧美日韩国产中文专区| 日韩成人av毛片| 高清视频一区二区| 400部精品国偷自产在线观看| 国产电影一区二区三区爱妃记| 精品一区二区三区四区| 国产又大又黑又粗免费视频| 成人性生交大合| 成人免费看片'免费看| av一级亚洲| 久久久久久午夜| 亚洲国产精品久久久久久久| 一区二区三区欧美久久| 在线视频一二区| 亚洲一区在线| 国产成人av一区二区三区| 26uuu亚洲电影在线观看| 91麻豆精品国产91久久久资源速度 | 国产欧美日韩成人| 亚洲色图在线播放| 国产探花在线观看视频| 欧美aⅴ99久久黑人专区| 99久久伊人精品影院| 午夜小视频在线观看| 精品国产成人在线影院| av大片免费在线观看| 91在线观看视频| 亚洲国产精品毛片av不卡在线| 视频一区欧美| 国产精品爽黄69| 成人日批视频| 精品国产乱码久久久久久1区2区| 日本一级一片免费视频| 久久精品一区二区三区不卡 | 亚洲免费人成在线视频观看| 蜜臀99久久精品久久久久小说| 中文字幕免费一区| www.色就是色.com| 欧美精品啪啪| 久久久久免费网| av有声小说一区二区三区| 中文字幕日韩免费视频| 国产黄色美女视频| 岛国av一区二区三区| 国产ts在线播放| 美女在线视频一区| 轻点好疼好大好爽视频| 亚洲视频分类| 91精品久久久久久久久久久| 国产高清在线a视频大全| 亚洲视频视频在线| 国产一区二区小视频| 夜夜嗨av一区二区三区网页| 国产熟妇搡bbbb搡bbbb| 精品一区二区三区的国产在线播放| 中文精品无码中文字幕无码专区 | 性欧美.com| 日本亚州欧洲精品不卡| 国产91在线播放九色快色| 国产精品刘玥久久一区| 日韩精品在线视频| 国产又粗又猛又爽又黄的| 亚洲成人自拍网| 人妻无码一区二区三区免费| 成人激情校园春色| 亚洲天堂2018av| 国产一区二区三区成人欧美日韩在线观看| 视频二区一区| 亚洲a级精品| 91久久精品www人人做人人爽| 欧美动物xxx| 久久久久久久一区二区| 欧美人xxx| 亚洲精品一区二区在线| www.天天干.com| 欧美性大战久久| 特黄视频免费看| 一区二区三区中文字幕在线观看| 亚洲综合欧美综合| 91麻豆123| 2025中文字幕| 国产尤物一区二区| 在线观看免费视频高清游戏推荐| 亚洲综合三区| 免费网站在线观看视频| 97精品国产| 日韩三级电影| 天海翼亚洲一区二区三区| yy111111少妇影院日韩夜片| 国产三级一区| 国产精品极品在线| 男人皇宫亚洲男人2020| 91a在线视频| 国内在线免费视频| 久久99精品视频一区97| 老司机99精品99| 中文字幕欧美在线| 福利视频在线看| 亚洲欧美日韩在线高清直播| 日韩中文字幕免费在线观看| 欧美大片一区二区三区| 精品国产18久久久久久| 欧美gayvideo| 欧美在线视频a| 丰满诱人av在线播放| 美女av一区二区三区| caopen在线视频| 美女福利视频一区| 26uuu亚洲电影在线观看| 久久亚洲精品视频| 麻豆网站在线| 中文字幕久久亚洲| 五月婷婷在线视频| 中文字幕亚洲情99在线| 99riav在线| 久久精品99国产精品酒店日本| 中文日本在线观看| 日韩在线免费高清视频| 欧美激情视频在线播放| yw.139尤物在线精品视频| 欧美尤物美女在线| 中文字幕精品网| 免费黄色电影在线观看| 久久亚洲精品成人| 乱插在线www| 欧美性受xxxx黑人猛交| 色豆豆成人网| 91精品国产综合久久香蕉最新版 | 欧美一卡在线观看| 成人久久久精品国产乱码一区二区| 日韩视频免费观看高清完整版在线观看| 国产精品久久欧美久久一区| 欧美一区二区精美| 欧美 中文字幕| 日韩成人在线播放| 91大神xh98hx在线播放| 久久精品青青大伊人av| 欧美草逼视频| 欧美在线不卡区| 国内欧美日韩| 超碰国产精品久久国产精品99| 精品精品国产毛片在线看 | 99热国内精品| 欧美高清中文字幕| 久久先锋影音| 日韩成人av免费| a在线欧美一区| 精品手机在线视频| 亚洲国产一区二区在线播放| 天天爽夜夜爽夜夜爽精品| 欧美亚州韩日在线看免费版国语版| 91丨porny丨在线中文| 欧美mv日韩mv亚洲| 精品推荐蜜桃传媒| 九色精品美女在线| 亚洲承认视频| av资源站久久亚洲| blacked蜜桃精品一区| 成人在线免费高清视频| 丝袜诱惑制服诱惑色一区在线观看| 在线a免费观看| 91蝌蚪porny| 黄色a级片在线观看| 欧美午夜电影在线| 国产国语亲子伦亲子| 国产亚洲美女精品久久久| 色图在线观看| 国产视频观看一区| 香蕉久久精品日日躁夜夜躁| 国产精品美女在线播放| 香蕉视频成人在线观看| 日韩精品xxx| 国产精品视频免费| 成人毛片18女人毛片| 日韩欧美你懂的| 麻豆tv入口在线看| 日韩免费不卡av| 99这里只有精品视频| 一级日韩一区在线观看| 国产精品夜夜夜| 美女伦理水蜜桃4| 中文字幕亚洲在| 男人天堂视频在线| 亚洲精品99久久久久中文字幕| 大片免费在线看视频| 国产精品视频公开费视频| 亚洲裸色大胆大尺寸艺术写真| 久久久久久av无码免费网站下载| 日韩av在线发布| www.免费av| 偷窥国产亚洲免费视频 | 亚洲色图五月天| 黄色软件视频在线观看| 成人av蜜桃| 欧美视频四区| 国产精品欧美性爱| 亚洲色图19p| 国产精品无码在线播放| 中文字幕欧美视频在线| 天堂久久午夜av| 青青草成人激情在线| 久久精品道一区二区三区| 亚洲国产综合视频| 婷婷综合久久一区二区三区| 日本高清视频在线| 久久久久久有精品国产| 亚洲天堂中文字幕在线观看| 国产精品视频网站在线观看| 国产成人免费视频网站高清观看视频| 69夜色精品国产69乱| 欧美精品 国产精品| 男人影院在线观看| 国产拍精品一二三| 久久精品免费一区二区三区| 国产一级片自拍| 日韩毛片在线免费观看| 国产农村妇女毛片精品久久| 久久久精品一区二区| 日韩成人视屏| 久无码久无码av无码| 成人国产在线观看| 国产精品7777777| 日韩精品免费看| 亚洲www啪成人一区二区| 亚洲精品人成| 国产一区三区三区| 国产亚洲精品久久777777| 国产视频精品xxxx| 影音成人av| 国内外成人激情免费视频| 国产91在线看| 天堂中文在线网| 色偷偷av亚洲男人的天堂| 日韩免费一级| 啊啊啊一区二区| 国产精品日韩精品欧美在线| 国产精品呻吟久久| 久久久久久久久久久免费精品| 亚洲都市激情| 亚洲综合激情视频| 亚洲专区一二三| 免费理论片在线观看播放老| 国产精品普通话| 黄色精品免费| 中文字幕欧美激情极品| 日韩欧美电影在线| 周于希免费高清在线观看| 亚洲免费久久| 粉嫩嫩av羞羞动漫久久久| 欧美一区免费看| 欧美大片欧美激情性色a∨久久| 亚洲a级精品| 麻豆网站免费观看| 欧美性色xo影院| а√天堂官网中文在线| 欧美成人一区二区在线| 国产制服丝袜一区| 日本中文字幕久久| 欧美理论电影在线观看| 亚洲宅男网av| 伊人久久久久久久久| 欧美亚一区二区| 欧美巨大丰满猛性社交| 欧美日韩一区二区三区电影| 久久久高清一区二区三区|