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

美女脱光内衣内裤视频久久网站| 好吊妞视频这里有精品| 中文字幕在线观看一区二区| 91在线中文字幕| 精品午夜福利在线观看| 婷婷成人综合| 欧美蜜桃一区二区三区| 蜜桃网站在线观看| 欧美美乳在线| 国产精品一区二区你懂的| 国模视频一区二区| 手机av在线不卡| 伊色综合久久之综合久久| 欧美视频裸体精品| 少妇高潮大叫好爽喷水| 九色视频在线播放| 成人一区在线看| 国产精品jizz在线观看麻豆| √天堂中文官网8在线| 日韩系列在线| 欧美一卡二卡三卡四卡| 亚洲成熟丰满熟妇高潮xxxxx| 国产剧情在线| 国产女同互慰高潮91漫画| 风间由美一区二区三区| 中文字幕在线一| 亚洲深夜福利| 操日韩av在线电影| 成人性生交大片免费看无遮挡aⅴ| 91夜夜蜜桃臀一区二区三区| 欧美日韩精品福利| 337p粉嫩大胆噜噜噜鲁| 午夜激情在线| 日韩毛片精品高清免费| 欧美极品视频一区二区三区| 韩国av免费在线| 国产一区二区三区国产| 国产精品久久久久福利| 成人公开免费视频| 国产精品主播| 97超碰国产精品女人人人爽| 精品少妇爆乳无码av无码专区| 久久国产电影| 日韩在线免费高清视频| 人妻少妇无码精品视频区| 欧美亚洲国产日韩| 精品999在线播放| 亚洲熟女一区二区三区| 日韩精品免费视频一区二区三区 | 欧美人妻精品一区二区三区| 人人狠狠综合久久亚洲婷| 亚洲美女动态图120秒| 漂亮人妻被黑人久久精品| 综合伊人久久| 精品国产一区二区国模嫣然| 国产av一区二区三区传媒| 日韩高清一区| 欧美草草影院在线视频| 亚洲图片欧美另类| 国产成人一二| 日韩av在线网页| 成人无码www在线看免费| 噜噜噜狠狠夜夜躁精品仙踪林| 亚洲第一级黄色片| 中国xxxx性xxxx产国| 麻豆成人入口| 亚洲欧美激情精品一区二区| 亚洲av综合一区二区| 狠狠色狠狠色综合婷婷tag| 亚洲偷熟乱区亚洲香蕉av| 国产精成人品免费观看| 日韩理论电影| 久久视频在线直播| 久久高清免费视频| 久久精品欧洲| 国产在线一区二区三区| 性色av蜜臀av| 99久久精品国产麻豆演员表| 日本一区二区三区视频免费看| 999国产在线视频| 亚洲精品国产高清久久伦理二区| 国产一二三区在线播放| 625成人欧美午夜电影| 欧美视频自拍偷拍| av不卡中文字幕| 亚洲瘦老头同性70tv| 在线视频日本亚洲性| 久久高清内射无套| 欧美三级视频| 国产精品久久久| 国产毛片一区二区三区va在线| 国产不卡在线一区| 日本在线免费观看一区| 97超碰资源站在线观看| 天天影视涩香欲综合网| 亚洲高清免费在线观看| 亚洲欧美日本国产| 亚洲人成啪啪网站| 国产福利视频网站| 亚洲一区二区三区高清不卡| 国产欧美一区二区三区在线看| 国产极品久久久| 久久精品一二三| 中文字幕色呦呦| 向日葵视频成人app网址| 91麻豆精品国产综合久久久久久 | 国产人久久人人人人爽| 亚洲乱码日产精品bd在线观看| 欧美××××黑人××性爽| 日韩写真欧美这视频| 谁有免费的黄色网址| 激情成人综合| 国产专区欧美专区| 日本国产在线| 一区二区三区精品| 免费看污黄网站| 蜜臀av一区| 日韩视频在线观看免费| 五月婷婷中文字幕| 国产精品一区一区三区| 五码日韩精品一区二区三区视频| 婷婷av在线| 欧美日韩精品一区二区三区蜜桃 | 97人人爽人人| av伊人久久| 538国产精品视频一区二区| 国产视频一区二区三区四区五区| 欧美激情一区二区三区全黄 | 日韩电影免费看| 日韩视频免费观看高清完整版| 俄罗斯毛片基地| 久久高清免费观看| 久久五月天婷婷| 超碰激情在线| 亚洲精品一区在线观看| 日本天堂中文字幕| 国产一区二区在线电影| 亚洲综合视频一区| 草莓视频成人appios| 亚洲美女中文字幕| 黄色片视频免费| 久久亚洲精精品中文字幕早川悠里 | 香蕉国产在线视频| 午夜电影久久久| 性农村xxxxx小树林| 欧美亚洲不卡| 国产成人精品日本亚洲11| 性欧美高清come| 日韩精品最新网址| 久久久久久久久毛片| 国产精品一区免费在线观看| 国产精品99久久久久久大便| 国产一区二区色噜噜| 色噜噜国产精品视频一区二区| 久久精品视频5| 国产日韩精品一区二区三区| 黑鬼大战白妞高潮喷白浆| 国产成人久久| 国产日韩精品在线| 久草资源在线观看| 日韩欧美中文字幕一区| 欧美日韩激情在线观看| 成人h版在线观看| 少妇无码av无码专区在线观看| 老司机精品视频在线播放| 欧美孕妇毛茸茸xxxx| 欧美一区二区视频| 精品视频一区二区不卡| 三级黄色在线观看| 国产91精品一区二区麻豆网站| 国产69精品久久久久999小说| 美女一区2区| 国产精品91免费在线| 国内外激情在线| 精品国产电影一区二区| 黄色大片网站在线观看| 欧美国产一区二区| www.亚洲自拍| 亚洲女同同性videoxma| 先锋影音网一区| 麻豆国产精品| 欧美亚洲国产另类| 日本在线天堂| 亚洲国产精品大全| 中文字幕一区二区人妻痴汉电车| 亚洲乱码国产乱码精品精98午夜 | 97国产精品视频人人做人人爱| 青青草在线播放| 欧美日韩免费一区二区三区| 久久黄色小视频| 久久久久国产精品麻豆| 超碰在线免费av| 国产一区二区你懂的| 亚洲激情一区二区| 国产成人澳门| 国产欧美精品在线播放| 一区二区三区回区在观看免费视频| 国产精品毛片一区视频播| 午夜欧美大尺度福利影院在线看| 萌白酱视频在线| 成人午夜碰碰视频| 亚洲a级黄色片| 亚洲综合三区| 国产爆乳无码一区二区麻豆 | 风流少妇一区二区| www.xxx亚洲| 亚洲国产日韩欧美一区二区三区| 午夜免费电影一区在线观看| 女人抽搐喷水高潮国产精品| 国产日韩在线播放| 悠悠资源网亚洲青| 欧美激情免费在线| 日日夜夜精品一区| 亚洲人成绝费网站色www| 刘玥91精选国产在线观看| 欧美猛男男办公室激情| 青青国产在线视频| 午夜亚洲福利老司机| 免费中文字幕在线| 国产精品超碰97尤物18| 国精产品一区二区三区| va亚洲va日韩不卡在线观看| 国产老头和老头xxxx×| 免费观看30秒视频久久| 国产免费人做人爱午夜视频| 国产精品jizz在线观看美国| 一区二区三区四区欧美日韩| 精品久久91| 日韩欧美一区二区在线观看 | 色综合久久久| 国产精品高潮呻吟久久av无限 | 国产又爽又黄的激情精品视频| av资源中文在线天堂| 色综合久综合久久综合久鬼88| 日本精品在线| 中文字幕一精品亚洲无线一区| 飘雪影院手机免费高清版在线观看| 亚洲国产成人精品电影| 亚洲精品久久久久avwww潮水| 欧美一区二视频| 国产毛片在线视频| 91精品国产91久久久久久最新毛片 | 亚洲人体大胆视频| 69sex久久精品国产麻豆| 亚洲天堂激情| 久久久久久久午夜| 国产一区二区三区的电影 | 国产精品高清乱码在线观看| 欧美亚洲一区在线| 亚洲精品一区| 国产成人久久久精品一区| 日韩大尺度黄色| 日韩美女在线观看| 国产精品毛片久久久久久久久久99999999 | 成年人视频软件| 亚洲人妖av一区二区| 久久精品黄色片| 亚洲午夜三级在线| 天天综合网久久综合网| 一本色道久久综合狠狠躁的推荐| 69国产精品视频免费观看| 日本高清不卡一区| 亚洲熟妇无码久久精品| 777精品伊人久久久久大香线蕉| 国产精品玖玖玖| 日韩免费视频线观看| 手机看片一区二区| 亚洲午夜精品久久久久久性色 | 五月激情五月婷婷| 国产精品一级在线| 中国一级特黄录像播放| 久久久精品国产99久久精品芒果| 国产免费嫩草影院| 亚洲精品v日韩精品| 日本天堂网在线观看| 色婷婷精品久久二区二区蜜臀av| 正在播放亚洲精品| 91精品国产91久久久久久最新毛片 | 另类人妖一区二区av| 国产人妻精品久久久久野外| 国产·精品毛片| 亚洲第一综合网| 亚洲另类一区二区| 丁香社区五月天| 日韩精品综合一本久道在线视频| 天堂а√在线8种子蜜桃视频| 视频在线观看99| bl视频在线免费观看| 日韩免费观看视频| 欧美经典影片视频网站| 九色91视频| 久久精品青草| 日韩av在线综合| 国产精品一区二区x88av| 亚洲一区二区三区蜜桃| 亚洲精品v日韩精品| av手机天堂网| 亚洲精品不卡在线| 免费在线观看av| 国产97在线|日韩| 亚洲高清999| 亚洲精品一区二区三区四区五区| 午夜性色一区二区三区免费视频| 无码人妻丰满熟妇区五十路百度| 国产剧情一区二区| 快灬快灬一下爽蜜桃在线观看| 亚洲一区av在线| 国产露脸无套对白在线播放| 亚洲美女免费精品视频在线观看| 污片视频在线免费观看| 国产精品视频自在线| 欧美18免费视频| 99久久99久久精品| 久久99国产精品久久99果冻传媒| 搡老熟女老女人一区二区| 亚洲免费在线观看视频| 99re热视频| 国产视频精品免费播放| 麻豆蜜桃在线| 亚洲综合在线做性| 91综合久久| 亚洲色精品三区二区一区| 成人免费视频视频| 一区视频免费观看 | 好吊视频一区二区三区| 久久精品福利视频| 日本综合视频| 日本在线观看一区| 久久成人免费| 日韩人妻一区二区三区| 精品久久久在线观看| 亚洲精品国产精品乱码不卡| 精品中文字幕在线2019| 国产一区二区久久久久| 国产成年人在线观看| 美女一区二区视频| 69xxx免费| 欧美日本韩国一区| av电影在线观看| 国产精品久久久久久久久久新婚 | 粉嫩av一区二区| 国产精品三级一区二区| 国产乱人伦精品一区二区在线观看 | 97人人爽人人喊人人模波多| 97se亚洲| 国产美女网站在线观看| 91网站在线播放| 黄色av一级片| 自拍视频国产精品| 国产精品xnxxcom| 人妻无码一区二区三区四区| 国产乱码精品一区二区三区五月婷| 成人涩涩小片视频日本| 51精品国自产在线| 精灵使的剑舞无删减版在线观看| 成人免费视频网站| 亚洲精一区二区三区| 中日韩精品一区二区三区| 色综合久久久久网| 成人免费视频| 川上优av一区二区线观看| 欧美在线影院| 亚洲制服丝袜在线播放| 色成人在线视频| 日本高清视频在线播放| av在线不卡观看| 99亚洲伊人久久精品影院红桃| 中国黄色a级片| 欧美午夜片在线观看| h网站久久久| 好吊妞www.84com只有这里才有精品| 国产一区导航| 免费成人深夜蜜桃视频| 欧美大胆人体bbbb| 国产高清不卡| 黄瓜视频免费观看在线观看www| 国产精品18久久久久久久久| 日韩黄色在线视频| 国产午夜精品美女视频明星a级| 999色成人| 日韩伦理在线免费观看| 欧美激情中文字幕| 亚洲精品久久久久avwww潮水| 日韩av片电影专区| 一区二区三区午夜探花| a天堂视频在线观看| 欧美色综合天天久久综合精品| √天堂8在线网| 日韩久久久久久久久久久久久| 国产一区二区视频在线播放| 五月天综合激情| 操日韩av在线电影| 九九精品在线| 久久久男人的天堂| 欧美色网一区二区| 77thz桃花论族在线观看| 亚欧洲精品在线视频免费观看| 成人国产精品免费| 亚洲视频一区二区三区四区| 97在线视频免费|