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

BUG解析:InnoDB兩次寫與多實例buffer pool

運維 數據庫運維 MySQL
BUG還原:我實現了一個MYSQL多線程復制的patch,是按照表名來劃分的,相同的表會分到同一個線程中做,實現的是BINLOG_FORMAT為STATEMENT的,那么這樣就實現了并發。

在我測試過程中,使用的是自動提交,一條語句為一個事務,開8個線程的話大概是單線程復制的5倍(共有20個表),性能應該還是不錯的,多線程下QPS可以達到32000,單線程差不多6500,但是這是把double write關了的情況,如果打開了double write,那么一開始的QPS也差不多是32000,但做幾分鐘之后,這個數字一直在減小,那個感覺啊真是不好,怎么老是一直減少呢,等到跟上來了,一直看著它減少到15000,這個很不好,相當于是2倍的提升,這個看上去完全是因為double write的影響,因為只是修改了這么一個參數而出現的兩個不同的結果,但是查遍了網上也都說double write的影響只會是5-10%,那么就奇怪了,我這個的影響明顯是50%以上啊,難道是兩次寫就是50%?不對的,因為double write本來就是連續寫的。肯定是哪里有其它的問題。

然后在無奈之下,在測試時,通過pstack工具看MYSQL運行時慢到底是什么樣的堆棧,到底是在等啥?什么影響了它的性能,然后看到很多時候堆棧都是這樣的:

  1. Thread 4 (Thread 0x7fdadd357700 (LWP 9800)): 
  2. #1  0x00000000008d3007 in os_event_wait_low () 
  3. #2  0x00000000008230ae in sync_array_wait_event () 
  4. #3  0x0000000000823f46 in mutex_spin_wait () 
  5. #4  0x00000000008674df in buf_flush_buffered_writes () 
  6. #5  0x0000000000868b97 in buf_flush_batch () 
  7. #6  0x000000000086a6df in buf_flush_list () 
  8. #7  0x00000000008c31b2 in log_check_margins () 
  9. #8  0x00000000008eba6a in row_ins_index_entry_low () 
  10. #9  0x00000000008efd9e in row_ins_step () 
  11. #10 0x0000000000803be9 in row_insert_for_mysql () 
  12. #11 0x00000000007f2d6c in ha_innobase::write_row(unsigned char*) () 
  13. #12 0x000000000068c760 in handler::ha_write_row(unsigned char*) () 
  14. #13 0x000000000055a2ed in write_record(THD*, TABLE*, st_copy_info*) () 
  15. Thread 3 (Thread 0x7fdadd316700 (LWP 9801)): 
  16. #1  0x00000000008d3007 in os_event_wait_low () 
  17. #2  0x00000000008230ae in sync_array_wait_event () 
  18. #3  0x0000000000823f46 in mutex_spin_wait () 
  19. #4  0x00000000008674df in buf_flush_buffered_writes () 
  20. #5  0x0000000000868b97 in buf_flush_batch () 
  21. #6  0x000000000086a6df in buf_flush_list () 
  22. #7  0x00000000008c31b2 in log_check_margins () 
  23. #8  0x00000000008eba6a in row_ins_index_entry_low () 
  24. #9  0x00000000008efd9e in row_ins_step () 
  25. #10 0x0000000000803be9 in row_insert_for_mysql () 
  26. #11 0x00000000007f2d6c in ha_innobase::write_row(unsigned char*) () 
  27. #12 0x000000000068c760 in handler::ha_write_row(unsigned char*) () 
  28. #13 0x000000000055a2ed in write_record(THD*, TABLE*, st_copy_info*) () 

從上面的堆棧中可以看出,SQL線程很多都是在buf_flush_buffered_writes函數中等待,而這個函數正好是處理double write的函數,所以我重點看了這里,然后一進去就明白了是為什么了,看到這個函數一開始有一行mutex_enter(&(trx_doublewrite->mutex)),而在函數退出前有一行mutex_exit(&(trx_doublewrite->mutex)),里面是處理所有double write緩存起來的頁面,也就是前面要刷的頁面,因為INNODB支持多個BUFFER POOL實例,這樣可以增大并發度,頁面可以放在不同的BUFFER POOL中,這樣兩個BUFFER POOL中的頁面在同時訪問時可以互不干擾,那么可想而知,double write緩存的頁面就是來自多個SQL線程并發收集起來的,那么很容易想到,問題其實就里在這里,由多個線程做檢查點,但只有一個線程會做double write,這樣產生了瓶頸,導致等待一段時間后就會越來越慢,也許就是這個問題,那后面就看了一下代碼,它的實現是否允許多個線程做檢查點呢,主要是看函數log_free_check(log_check_margins)的實現,因為這個函數才是用戶線程調用的,代碼是這樣的:

  1.  log_free_check(void
  2.        if (log_sys->check_flush_or_checkpoint) 
  3.               log_check_margins(); 

那就主要是log_sys->check_flush_or_checkpoint有沒有可能多個線程進來了,最后發現在里面直接就調log_checkpoint_margin函數了,而再進去里面,就是對buffer pool中的臟頁面進行刷盤了,同時這里刷盤是刷每一個buffer pool instance的,而不是分開自己刷自己的,當然對于某一個buffer pool instance,只會有一個線程做,進來之后會找到沒有任何一個線程在做刷盤的buffer pool instance來做,所以其實是并發處理這多個buffer pool instance的,那么現在得到的結論就是經常性的多個線程一起做刷盤操作,而做完刷盤之后,如果打開了double write,則要將所有的buffer pool instance要刷的頁面做double write,上面也看到了,它是一個mutex,多個線程一起搶這一個臨界區,導致系統的并發度大大的降低,那么現在問題已經很明顯,原因也已經很明顯,這個其實與DOUBLEWRITE沒關系,那個5-10%我還是承認的,這里只不過是代碼實現有問題而已。

那么結論就里說,這其實是INNODB的一個BUG,就是多BUFFERPOOL實例下,DOUBLEWRITE會導致系統并發性能大大降低的問題。

那如何解決呢?

首先我已經向bugs.mysql.com報了BUG,鏈接http://bugs.mysql.com/bug.php?id=67808&edit=2,本人英語不好,寫得挺費勁。

難道就這樣等它解決嗎?不對,我已經等不上了,即使出來了也不是在5.5.27上啊,所以自己解決吧。

這里歸根結底的問題就是做檢查點函數log_checkpoint_margin中存在并發,導致DOUBLEWRITE的瓶頸出現了,因為在INNODB的增刪改操作的一開始,都會直接先調用log_free_check這個函數,出現這樣的問題的概率太高了。

想想,這個做檢查點需要多個線程嗎?如果是一個線程在做是不是就沒有問題了?DOUBLEWRITE的瓶頸也不存在了?確實是這樣的。

再想想,做檢查點需要多個線程嗎?只有一個線程做是不是就夠了?因為檢查點歸根結底是為了給日志讓空間出來,日志一直往2個(默認)日志文件中循環添加,第一個寫完寫第二個,寫完第二個再寫第一個,其實就里一個圈,不斷的循環,那么這里就必須要保證,向里面寫的數據的位置不能走到檢查點的位置的前面去(因為數據的LSN是新產生的日志的LSN,肯定是要小于檢查點的LSN的,也可以表示為,數據的LSN必須要小于檢查點的LSN加上整個日志組的日志容量),因為檢查點LSN前面的日志表明,所有數據已經都寫入磁盤了,可以扔掉了,那如果大于了,就會把沒有做檢查點的日志覆蓋掉,這樣會導致數據錯誤或者更嚴重的一些問題。

有了這樣的想法,則這個問題應該不難解決,先在log_sys中加入一個成員checkpoint_doing,用來表示現在是否有線程正在做檢查點,再修改函數log_check_margins,最前面加上代碼段:

  1. mutex_enter(&(log_sys->mutex)); 
  2. if (log_sys->checkpoint_doing > 0) { 
  3.        mutex_exit(&(log_sys->mutex)); 
  4.       return
  5. log_sys->checkpoint_doing++; 
  6. mutex_exit(&(log_sys->mutex)); 

上面這表示如果有線程已經做了,那這里不會再進去,直接就出去了,如果沒有線程在做,那么當前線程才做,同時將標志置為正在做。這樣保證了只有一個用戶線程會做檢查點。當然在修改及判斷這個checkpoint_doing的時候必須要對其進行保護,上面代碼中也已經有所體現。那么這樣就好了嗎?如果當前系統的壓力非常大,那么出去了,而沒有做檢查點檢查,繼續做寫操作,這樣有可能會導致新的日志寫的超過了檢查點的位置,導致數據覆蓋,所以還需要做一個修改操作。

因為在INNODB中寫日志的函數只有log_write_up_to,并且這只會有一個線程寫,那么為了防止這個問題的話是不是在它寫日志的時候檢查一下,如果空間不夠了等待或者做一次檢查點后再繼續做,是不是就沒有問題了?我認為確實是這樣的,那么繼續修改:

  1. if (!log_sys->checkpoint_waiting && log_sys->lsn - log_sys->last_checkpoint_lsn > log_sys->max_checkpoint_age) 
  2.      mutex_exit(&(log_sys->mutex)); 
  3.        log_sys->checkpoint_waiting = 1; 
  4.        log_check_margins(); 
  5.        log_sys->checkpoint_waiting = 0; 
  6.        goto loop; 

這段代碼就加在log_write_up_to函數中五個判斷條件之后,能走到這里說明這次的日志要寫入日志文件了,那么這里檢查是最合適的,上面的代碼有一個條件判斷,最主要是的log_sys->lsn - log_sys->last_checkpoint_lsn > log_sys->max_checkpoint_age,這個表示的是如果當前的最新LSN超過檢查點LSN的數目已經大于最大的做檢查點差值數,則就等待或者做一次檢查點,這個條件與log_checkpoint_margin函數中判斷是不是要做檢查點的條件是一樣的,這樣的話就保證了這段代碼中調用了log_check_margins時要么里面已經有人正在做,要么自己肯定能做一次檢查點,不然在這里會產生死循環。做了之后從而使的log_sys->last_checkpoint_lsn變大,向前走,讓出空間,這樣這次日志就可以寫入進去了,那么goto loop可以起到循環等待的作用。

上面還看到一個新的成員checkpoint_waiting,這個是為了防止進入死循環而設置的,因為log_check_margins里面還會再調用log_write_up_to。

那么到現在為止,這個問題應該算是可以了的,接下來就是測試了,把多線程的SLAVE復制跑起來,我發現這個是一個非常好的并發測試工具,不需要專門寫應用來設置并發環境。

測試的結果表明,那么問題不復存在,平均的QPS在打開DOUBLEWRITE時都是31000,這個數字挺好的。問題解決,同時發現那個分支就從來沒有進去過,說明用戶線程做了已經足夠了,那里只是一個機率很小的問題預防而已。

但是這個修改現在還沒有辦法去驗證,只能由各位先從理論上看看是不是正確吧,我本人認為應該還是沒什么大問題的,請各位大俠指點!

這里要感謝一下我的好朋友好戰友陳福榮同學,在MYSQL學習及實現方面一直不斷的討論,研究,我們共同進步。

原文鏈接:http://www.cnblogs.com/bamboos/archive/2012/12/05/2802997.html

【編輯推薦】

  1. 適合初學者的MySQL學習筆記之庫操作示例
  2. 適合初學者的MySQL學習筆記之表操作示例
  3. 適合初學者的MySQL學習筆記之MySQL管理心得
  4. 適合初學者的MySQL學習筆記之MySQL查詢示例
  5. 適合初學者的MySQL學習筆記之管理員常用操作總結

 

責任編輯:彭凡 來源: 博客園
相關推薦

2024-10-23 08:47:46

2023-05-03 21:34:34

MySQL狀態變量

2024-07-15 00:00:00

POST瀏覽器網絡

2025-04-08 08:20:00

2015-11-03 11:39:18

清華大學OpenStackEasyStack

2022-10-12 08:52:00

內存緩沖管理

2013-12-18 09:36:33

Fedora 20

2019-06-24 05:05:40

緩沖池查詢數據InnoDB

2021-03-01 18:37:15

MySQL存儲數據

2022-03-22 15:05:15

MySQL緩沖池

2022-03-26 08:49:13

MySQL數據存儲

2013-05-21 11:22:15

Google+UI設計

2025-11-07 01:45:00

2024-10-16 08:38:37

TCP編號信息

2021-10-21 11:29:06

勒索軟件攻擊數據泄露

2010-05-07 19:15:18

Oracle flas

2021-11-01 23:36:24

連續區間面試

2021-10-08 11:05:00

Go 切片內存

2023-02-08 15:32:16

云服務中斷微軟

2021-07-26 08:08:56

TCPIP網絡協議
點贊
收藏

51CTO技術棧公眾號

国产三级欧美三级日产三级99| 一区二区视频免费观看| 国产精品国产亚洲精品| 亚洲综合在线观看视频| 国产精品手机视频| 免费看污视频的网站| 亚洲国产一成人久久精品| 亚洲第一男人天堂| 亚洲另类第一页| www欧美xxxx| 国产日韩欧美精品一区| 99久久伊人精品影院| 无码人妻丰满熟妇奶水区码| 欧美精品一卡| 中文国产成人精品久久一| 国产精品日日摸夜夜爽| 欧美成人家庭影院| 午夜视频一区二区三区| 中文字幕制服丝袜在线| 亚洲色图欧美视频| 国产一区二区三区综合| 日本a级片电影一区二区| 欧美三级黄色大片| 精品国产一区二区三区| 亚洲国产精彩中文乱码av| 特黄视频免费观看| 国产日韩另类视频一区| 午夜免费久久看| 手机成人av在线| 黄色av免费在线看| 99精品偷自拍| 国产精品一区二区免费看| 99草在线视频| 精品夜夜嗨av一区二区三区| 青青久久av北条麻妃海外网| 日韩av片在线播放| 欧美日韩视频一区二区三区| 激情五月播播久久久精品| 亚洲免费电影一区| 日韩少妇一区二区| 亚洲欧美日本国产| 正在播放亚洲一区| 天天操狠狠操夜夜操| 欧美日韩精品免费观看视完整| 亚洲一区二区免费视频| 影音先锋成人资源网站| 国产精品实拍| 亚洲男人的天堂av| 最新视频 - x88av| 日本中文字幕在线看| 性欧美暴力猛交另类hd| 欧美国产中文字幕| 久久久无码一区二区三区| 综合天堂av久久久久久久| 久久亚洲精品一区二区| 北条麻妃在线观看视频| 91成人影院| 超碰97人人做人人爱少妇| www欧美com| 欧美日韩岛国| 久久免费少妇高潮久久精品99| 国产一级中文字幕| 夜久久久久久| 国产a∨精品一区二区三区不卡| 黄色av一级片| 男女视频一区二区| 国产一区二区丝袜高跟鞋图片| 怡红院男人天堂| 免播放器亚洲一区| 91免费视频国产| 亚洲a视频在线| www.av精品| 日韩久久久久久久久久久久久| jizz亚洲| 樱花影视一区二区| www.99热这里只有精品| 天堂av在线| 欧美日本高清视频在线观看| 青娱乐国产精品视频| www.豆豆成人网.com| 国产视频精品自拍| 超碰人人干人人| 欧美日韩视频| 国产精品扒开腿做| 国产色综合视频| 91在线观看下载| 亚洲春色综合另类校园电影| 在线视频国产区| 狠狠躁夜夜躁人人爽超碰91| 黄色高清无遮挡| 国产一区二区三区精品在线观看| 欧美mv日韩mv| 精品无码人妻一区二区免费蜜桃| 我不卡影院28| 欧美资源在线观看| 国产精品欧美综合亚洲| 99久久国产综合精品女不卡 | 老司机在线精品视频| 亚洲天堂免费观看| 久草视频手机在线观看| 久久男女视频| 99久久精品免费看国产一区二区三区 | 国产剧情一区在线| 欧美一级二级三级九九九| 国产在线看片| 日本二三区不卡| 午夜影院福利社| 99久久综合| 国产99久久精品一区二区| 国产高清免费av| 欧美激情在线观看视频免费| 国产在线播放观看| 伊人久久大香伊蕉在人线观看热v| 亚洲国产天堂久久国产91| 欧美福利在线视频| 翔田千里一区二区| 国产91亚洲精品一区二区三区| 五月婷婷丁香在线| 成人性视频免费网站| 一区二区免费在线视频| 亚洲美女炮图| 亚洲成人亚洲激情| 欧美黄片一区二区三区| 久久成人免费日本黄色| 久久这里精品国产99丫e6| 日本乱理伦在线| 欧美男同性恋视频网站| 欧美熟妇激情一区二区三区| 国产欧美日韩一级| 国产伦理一区二区三区| av电影免费在线观看| 欧美日韩视频在线一区二区| 51妺嘿嘿午夜福利| 久久男女视频| 欧美精品一区三区在线观看| 桃色av一区二区| 亚洲国产欧美一区二区三区同亚洲| 91在线播放观看| 精品一区二区三区免费观看| 亚洲a∨一区二区三区| 成人啊v在线| 亚洲人成网站999久久久综合| 日本一级淫片色费放| 成人丝袜高跟foot| 17c丨国产丨精品视频| 深夜福利一区二区三区| 欧美成人一区二区三区电影| 国产视频aaa| 亚洲精品大片www| 国偷自产av一区二区三区麻豆| 亚洲草久电影| 91久久精品www人人做人人爽| a免费在线观看| 日韩欧美在线综合网| 欧美日韩激情在线观看| 成人一区二区三区在线观看| 日韩网站在线免费观看| 鲁大师精品99久久久| 欧美中文字幕第一页| 国产永久免费高清在线观看| 欧美性猛片aaaaaaa做受| 五月婷婷婷婷婷| 国产一区二区三区久久久| 超薄肉色丝袜足j调教99| 一区二区三区在线免费看| 欧美精品久久久久久久免费观看| 三级在线观看网站| 亚洲成人黄色影院| 性欧美13一14内谢| 老司机免费视频一区二区三区| 国产一区一区三区| 亚洲码欧美码一区二区三区| 2018国产精品视频| www.亚洲免费| 欧美一级爆毛片| 一区二区三区视频免费看| 久久久九九九九| 欧美视频国产视频| 亚洲黄网站黄| 亚洲精品永久www嫩草| 九九九九九九精品任你躁| 国内精品久久久久久中文字幕| 免费一级在线观看播放网址| 欧美高清一级片在线| 国产亚洲欧美久久久久| 国产亚洲婷婷免费| 久久久精品视频国产| 国产欧美大片| eeuss中文| 夜夜躁狠狠躁日日躁2021日韩| 国产精品视频资源| 黄页网站大全在线免费观看| 国产亚洲精品久久久| 精品国产99久久久久久宅男i| 精品久久久久久中文字幕大豆网| 亚洲一二三四视频| 成人动漫一区二区在线| 国产精品v日韩精品v在线观看| 亚洲午夜在线| 亚洲三区在线观看| 国产香蕉精品| 成人h视频在线观看播放| 极品在线视频| 欧美成人精品xxx| 韩国中文免费在线视频| 欧美精品一区二区精品网| 中文字幕在线观看免费| 天天爽夜夜爽夜夜爽精品视频| 99热在线观看精品| 久久久精品日韩欧美| 白丝校花扒腿让我c| 麻豆国产精品官网| 激情五月开心婷婷| 红桃视频亚洲| 精品一区二区成人免费视频| 精品产国自在拍| 精品久久蜜桃| 成人爽a毛片免费啪啪红桃视频| 国产欧美一区二区三区久久| 欧美日韩电影免费看| 国语自产在线不卡| 青草视频在线免费直播| www.日韩欧美| eeuss影院在线观看| 亚洲免费精彩视频| 天天操天天干天天干| 欧美xxxxx牲另类人与| 国产欧美一级片| 欧美精品久久一区| 亚洲天堂网在线视频| 在线一区二区视频| 岛国av中文字幕| 日韩欧美精品网址| 五月天婷婷久久| 午夜视频在线观看一区二区三区| 久久久一二三区| 亚洲另类在线制服丝袜| 中文字幕av播放| 亚洲美女淫视频| 精品一区在线观看视频| 亚洲人一二三区| 日韩黄色免费观看| 亚洲乱码国产乱码精品精的特点| 国产色无码精品视频国产| 亚洲欧洲精品一区二区三区不卡| 婷婷综合在线视频| 国产精品午夜电影| 黄色裸体一级片| 中文字幕一区二区三区乱码在线| 亚洲色图100p| 亚洲欧美日韩在线不卡| 极品久久久久久| 亚洲制服欧美中文字幕中文字幕| 国产亚洲小视频| 天天综合网 天天综合色| 日本熟伦人妇xxxx| 欧美日韩激情小视频| 黄色片网站在线免费观看| 欧美性猛xxx| 成人黄色片在线观看| 欧美日韩二区三区| 国产高清在线观看视频| 亚洲成人av片在线观看| 婷婷婷国产在线视频| 在线免费一区三区| 性高潮视频在线观看| 欧美精品vⅰdeose4hd| 亚洲第一页综合| 亚洲免费视频网站| 日韩伦理在线观看| 九九热这里只有在线精品视| av免费不卡| 国产精品18久久久久久麻辣| 欧美一级做一级爱a做片性| 成人激情在线播放| 国产欧美三级电影| 午夜精品亚洲一区二区三区嫩草 | 少妇高潮久久77777| 顶级网黄在线播放| 性金发美女69hd大尺寸| 国产精品久久亚洲不卡| 亚洲综合在线小说| 一区二区三区视频免费观看| 影音先锋亚洲视频| 亚洲三级影院| 伊人色在线观看| 97精品视频在线观看自产线路二| 国产123在线| 亚洲午夜在线视频| 在线观看国产区| 欧美mv和日韩mv国产网站| 成年人在线看| 亚洲**2019国产| 亚洲高清影院| 久久久久久久久久码影片| 亚洲a在线视频| 男人女人黄一级| 成人午夜短视频| 肉色超薄丝袜脚交69xx图片| 精品女厕一区二区三区| 国产免费av电影| 一级做a爰片久久毛片美女图片| 亚洲无线看天堂av| 国产精品99久久久久久人| 97久久超碰| 国产卡一卡二在线| 日日噜噜夜夜狠狠视频欧美人| 亚洲精品成人无码毛片| 中文字幕制服丝袜一区二区三区 | 欧美日本在线播放| 天堂av中文在线资源库| 欧美成人免费观看| 国产电影一区二区三区爱妃记| 国产一区二区免费电影| 天天射—综合中文网| 中文字幕一区二区三区四区在线视频| 成人午夜短视频| 欧美人妻精品一区二区三区| 欧美日韩不卡在线| 激情小说 在线视频| 91国在线精品国内播放| 一区二区网站| avove在线观看| 捆绑调教一区二区三区| 无码少妇一区二区| 色偷偷一区二区三区| 天堂在线视频免费| 久久免费成人精品视频| 亚洲精品观看| www.亚洲成人网| 国产精品一区二区你懂的| 精品国产国产综合精品| 欧美亚洲动漫制服丝袜| 国产毛片在线看| 国产成人97精品免费看片| 亚洲激情77| 少妇性饥渴无码a区免费| 99国产精品久久久| 日韩乱码一区二区| 日韩成人在线播放| 韩国精品一区| 久久精品第九区免费观看 | 黄色一级免费大片| 久久精品一二三| 人妻中文字幕一区二区三区| 中文字幕日韩精品在线| 欧美成人一二区| 日本精品免费视频| 国产精品99久久久久| 黄色一级视频免费观看| 精品成人一区二区| 人人草在线视频| 欧美亚州在线观看| 日韩av一区二区在线影视| 无码人中文字幕| 91超碰这里只有精品国产| av网站大全在线| 国产一区二区中文字幕免费看| 中文精品视频| 欧美熟妇激情一区二区三区| 欧美日韩aaaaaa| 欧美性爽视频| 免费日韩av电影| 蜜臀久久99精品久久久画质超高清| 免费黄色国产视频| 日韩一区二区三区视频| 97天天综合网| 日产精品高清视频免费| 激情五月婷婷综合| 国产大片中文字幕| 亚洲三级av在线| 成人av在线播放| 国产不卡一区二区视频| 久久久亚洲国产美女国产盗摄| 中文字幕在线视频免费| 欧美激情精品久久久久久蜜臀| 久久动漫网址| 亚洲欧美国产日韩综合| 亚洲激情成人在线| 天堂国产一区二区三区| 国产精品视频一区二区三区四| 国产精品久久久久无码av| 中文字幕乱视频| 欧美视频日韩视频在线观看| 肉肉视频在线观看| 免费日韩电影在线观看| 国产一区999| 亚洲欧美偷拍视频| 久久久99免费视频| 亚洲区小说区| 一级片免费在线观看视频| 欧美色道久久88综合亚洲精品| yourporn在线观看视频| 国产精品国色综合久久| 奇米一区二区三区| 日韩黄色精品视频| 久久亚洲影音av资源网| 日韩丝袜视频| 波多野结衣中文字幕在线播放| 91久久精品日日躁夜夜躁欧美|