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

一篇帶你了解接口突然超時十宗罪

數據庫 其他數據庫
今天跟大家一起聊聊接口突然超時的10個原因,希望對你會有所幫助。?

前言

不知道你有沒有遇到過這樣的場景:我們提供的某個API接口,響應時間?原本一直都很快,但在某個不經意的時間點,突然出現了接口超時。

也許你會有點懵,到底是為什么呢?

今天跟大家一起聊聊接口突然超時的10個原因,希望對你會有所幫助。?

1、網絡異常

接口原本好好的,突然出現超時,最常見的原因,可能是網絡出現異常了。比如:偶然的網絡抖動,或者是帶寬被占滿了。

(1)網絡抖動

經常上網的我們,肯定遇到過這樣的場景:大多數情況下我們訪問某個網站很快,但偶爾會出現網頁一直轉圈,加載不出來的情況。

有可能是你的網絡出現了抖動,丟包了。

網頁請求API接口,或者接口返回數據給網頁,都有可能會出現網絡丟包的情況。

網絡丟包可能會導致接口超時。

(2)帶寬被占滿

有時候,由于頁面或者接口設計不合理,用戶請求量突增的時候,可能會導致服務器的網絡帶寬被占滿的情況。

服務器帶寬?指的是在一定時間內傳輸?數據的大小,比如:1秒傳輸了10M的數據。

如果用戶請求量突然增多,超出了1秒10M的上限,比如:1秒100M,而服務器帶寬本身1秒就只能傳輸10M,這樣會導致在這1秒內,90M數據就會延遲傳輸的情況,從而導致接口超時的發生。

所以對于有些高并發請求場景,需要評估一下是否需要增加服務器帶寬。

2、線程池滿了

我們調用的API接口,有時候為了性能考慮,可能會使用線程池異步查詢數據,最后把查詢結果進行匯總,然后返回。

如下圖所示:調用遠程接口總耗時 200ms = 200ms(即耗時最長的那次遠程接口調用)

在java8之前可以通過實現Callable接口,獲取線程返回結果。

java8以后通過CompleteFuture類實現該功能。我們這里以CompleteFuture為例:

public UserInfo getUserInfo(Long id) throws InterruptedException, ExecutionException {
final UserInfo userInfo = new UserInfo();
CompletableFuture userFuture = CompletableFuture.supplyAsync(() -> {
getRemoteUserAndFill(id, userInfo);
return Boolean.TRUE;
}, executor);

CompletableFuture bonusFuture = CompletableFuture.supplyAsync(() -> {
getRemoteBonusAndFill(id, userInfo);
return Boolean.TRUE;
}, executor);

CompletableFuture growthFuture = CompletableFuture.supplyAsync(() -> {
getRemoteGrowthAndFill(id, userInfo);
return Boolean.TRUE;
}, executor);
CompletableFuture.allOf(userFuture, bonusFuture, growthFuture).join();

userFuture.get();
bonusFuture.get();
growthFuture.get();

return userInfo;
}

這里我用到了executor,表示自定義的線程池?,為了防止高并發場景下,出現線程過多的問題。

但如果用戶請求太多,線程池中已有的線程處理不過來,線程池會把多余的請求,放到隊列?中排隊?,等待空閑線程的去處理。

如果隊列中排隊的任務非常多,某次API請求一直在等待,沒辦法得到及時處理,就會出現接口超時問題。

這時候,我們可以考慮是否核心線程數設置太小了,或者有多種業務場景共用了同一個線程池。

如果是因為核心線程池設置太小,可以將其調大一些。

如果是因為多種業務場景共用了同一個線程池?,可以拆分成多個線程池。

3、數據庫死鎖

有時候接口超時得有點莫名其妙,特別是遇到數據庫出現死鎖的時候。

你提供的API接口中通過某個id更新某條數據,此時,正好線上在手動執行一個批量更新數據的sql語句。

該sql語句在一個事務當中,并且剛好也在更新那條數據,可能會出現死鎖的情況。

由于該sql語句執行時間很長,會導致API接口的那次更新數據操作,長時間被數據庫鎖住,沒法即使返回數據,而出現接口超時問題。

你說坑不坑?

所以建議在執行數據庫批量操作前,一定要評估數據的影響范圍,不要一次性更新太多的數據,不然可能會導致很多意想不到的問題。

此外,批量更新操作建議在用戶訪問少的時段執行,比如:凌晨。

4、傳入參數太多

有時候,偶爾的一次接口超時,是由于參數傳入太多導致的。

例如:根據id集合批量查詢分類接口,如果傳入的id集合數據量不多,傳入幾十個或上百個id,不會出現性能問題。畢竟id是分類表的主鍵?,可以走主鍵索引,數據庫的查找速度是非常快的。

但如果接口調用方,一次性傳入幾千個,甚至幾萬個id,批量查詢分類,也可能會出現接口超時問題。

因為數據庫在執行sql語句之前,會評估一下耗時情況,查詢條件太多,有可能走全表掃描更快。

所以這種情況下sql語句可能會丟失索引,讓執行時間變慢,出現接口超時問題。

因此我們在設計批量接口的時候,建議要限制傳入的集合的大小,比如:500。

如果超過我們設置最大的集合大小,則接口直接返回失敗,并提示給用戶:一次性傳入參數過多。

該限制一定要寫到接口文檔中,避免接口調用方,在生產環境調用接口失敗而踩坑。要在接口開發階段通知到位。

此外,如果接口調用方要傳入的參數就是很多怎么辦?

答:可能是需求不合理,或者系統設計有問題,我們要盡量在系統設計階段就規避這個問題。

如果我們重新進行系統設計改動比較大的話,有個臨時的解決方案:在接口調用方中多線程分批調用該接口,最后將結果進行匯總。

5、超時時間設置過短

通常情況下,建議我們在調用遠程API接口時,要設置連接超時時間和讀超時時間這兩個參數,并且可以動態配置。

這樣做的好處是,可以防止調用遠程API接口萬一出現了性能問題,響應時間很長,把我們自己的服務拖掛的情況發生。

比如:你調用的遠程API接口,要100秒才返回數據,而你設置的超時時間是100秒。這時1000個請求過來,去請求該API接口,這樣會導致tomcat線程池很快被占滿,導致整個服務暫時不可用,至少新的請求過來,是沒法即使響應的。

所以我們需要設置超時時間,并且超時時間還不能設置太長。

并發量不大的業務場景,可以將這兩個超時時間設置稍微長一點,比如:連接超時時間?為10秒,讀超時時間為20秒。

并發量大的業務場景,可以設置成秒級?或者毫秒級。

有些小伙伴為了開發方便,在多種業務場景共用這兩個超時時間。

某一天,在并發量大的業務場景中,你將該超時時間改短了。

但直接導致并發量不大的業務場景中,出現調用API接口超時的問題。

因此,不建議多種業務場景共用同一個超時時間,最好根據并發量的不同,單獨設置不同的超時時間。

6、一次性返回數據太多

不知道你有沒有遇到過這樣的需求:我們有個job,每天定時調用第三方API查詢接口,獲取昨天更新的數據,然后更新到我們自己的數據庫表中。

由于第三方每天更新的數據不多,所以該API接口響應時間還是比較快的。

但突然有一天,該API接口卻出現了接口超時問題。

查看日志發現,該API接口一次性返回的數據太多,而且該數據的更新時間相同。

這就可以斷定,該API接口提供方進行了批量更新操作,修改了大量的數據,導致該問題的發生。

即使我們在job中加了失敗重試機制,但由于該API一次性返回數據實在太多太多,重試也很有可能會接口超時,這樣會導致一直獲取不到第三方前一天最新的數據。

所以第三方這種根據日期查詢增量數據的接口,建議做成分頁查詢的,不然后面沒準哪一天,遇到批量更新的操作,就可能出現接口超時的問題。

7、死循環

死循環也會導致接口超時?

死循環不應該在接口測試階段?就發現了,為什么要到生產環境才發現?

確實,絕大部分死循環問題,在測試階段可以發現。

但有些無限遞歸隱藏的比較深,比如下面的情況。

死循環其實有兩種:

  1. 普通死循環
  2. 無限遞歸

(1)普通死循環

有時候死循環是我們自己寫的,例如下面這段代碼:

while(true) {
if(condition) {
break;
}
System.out.println("do samething");
}

這里使用了while(true)?的循環調用,這種寫法在CAS自旋鎖中使用比較多。

當滿足condition等于true的時候,則自動退出該循環。

如果condition條件非常復雜,一旦出現判斷不正確,或者少寫了一些邏輯判斷,就可能在某些場景下出現死循環的問題。

出現死循環,大概率是開發人員人為的bug導致的,不過這種情況很容易被測出來。

還有一種隱藏的比較深的死循環,是由于代碼寫的不太嚴謹導致的。如果用正常數據,可能測不出問題,但一旦出現異常數據,就會立即出現死循環。

(2)無限遞歸

如果想要打印某個分類的所有父分類,可以用類似這樣的遞歸方法實現:

public void printCategory(Category category){
if(category == null
|| category.getParentId() == null) {
return;
}
System.out.println("父分類名稱:"+ category.getName());
Category parent = categoryMapper.getCategoryById(category.getParentId());
printCategory(parent);
}

正常情況下,這段代碼是沒有問題的。

但如果某次有人誤操作,把某個分類的parentId指向了它自己,這樣就會出現無限遞歸?的情況。導致接口一直不能返回數據,最終會發生堆棧溢出。

建議寫遞歸方法時,設定一個遞歸的深度,比如:分類最大等級有4級,則深度可以設置為4。然后在遞歸方法中做判斷,如果深度大于4時,則自動返回,這樣就能避免無限遞歸的情況。

8、sql語句沒走索引

你有沒有遇到過這樣一種情況:明明是同一條sql,只有入參不同而已。有的時候走的索引a,有的時候卻走的索引b?

沒錯,有時候mysql會選錯索引,甚至有時會不走索引。

mysql在執行某條sql語句之前,會通過抽樣統計來估算掃描行數,根據影響行數、區分度、基數、數據頁等信息,最后綜合評估走哪個索引。

有時候傳入參數1,sql語句走了索引a,執行時間很快。但有時候傳入參數2,sql語句走了索引b,執行時間明顯慢了很多。

這樣有可能會導致API接口出現超時問題。

必要時可以使用force index來強制查詢sql走某個索引。

9、服務OOM

我之前遇到過這樣一種場景:一個根據id查詢分類的接口,該id是主鍵,sql語句可以走主鍵索引,竟然也出現了接口超時問題。

我當時覺得有點不可思議,因為這個接口平均耗時只有十幾毫秒,怎么可能會出現超時呢?

但從當時的日志看,接口響應時間有5秒,的確出現了接口超時問題。

最后從Prometheus的服務內存監控中,查到了OOM問題。

其實該API接口部署的服務當時由于OOM內存溢出,其實掛了一段時間。

當時所有的接口都出現了請求超時問題。

但由于K8S?集群有監控?,它自動會將掛掉的服務節點kill?掉,并且在容器中重新部署了一個新的服務節點,幸好對用戶沒造成太大的影響。

10、在debug

我們有時候需要在本地開發工具,比如:idea中,直接連接測試環境的數據庫,調試某個API接口的業務邏輯。

因為在開發環境,某些問題不太好復現。

為了排查某個bug,你在請求某個本地接口時,開啟了debug模式,一行行的跟蹤代碼,排查問題。

走到某一行代碼的時候,停留了很長一段時間,該行代碼主要是更新某條數據。

此時,測試同學在相關的業務頁面中,操作更新了相同的數據。

這種也可能會出現數據庫死鎖的問題。

由于你在idea的debug模式中,一直都沒有提交事務,會導致死鎖的時間變得很長,從而導致業務頁面請求的API接口出現超時問題。

責任編輯:姜華 來源: 蘇三說技術
相關推薦

2021-09-27 09:18:30

ListIterato接口方法

2021-05-20 06:57:16

RabbitMQ開源消息

2011-06-17 14:24:28

Java

2021-08-06 07:51:48

JavaScriptStorage接口

2024-08-06 14:44:48

JavaScriptStorage 接口

2024-10-08 15:51:09

JavaScriptStorage 接口

2024-05-23 15:32:33

StorageJavaScript

2021-06-29 10:00:02

JavaScriptStorage接口

2021-06-30 00:20:12

Hangfire.NET平臺

2021-07-14 08:24:23

TCPIP 通信協議

2021-07-28 10:02:54

建造者模式代碼

2023-05-12 08:19:12

Netty程序框架

2021-08-11 07:02:21

npm包管理器工具

2021-11-08 08:42:44

CentOS Supervisor運維

2021-11-24 08:51:32

Node.js監聽函數

2021-08-02 06:34:55

Redis刪除策略開源

2021-12-15 11:52:34

GPLLinuxGNU

2022-02-16 10:03:06

對象接口代碼

2021-02-02 18:39:05

JavaScript

2021-01-29 18:41:16

JavaScript函數語法
點贊
收藏

51CTO技術棧公眾號

精品成人久久久| 免费黄频在线观看| 国产一级网站视频在线| 蜜桃精品在线观看| 欧美激情国内偷拍| 成人片黄网站色大片免费毛片| 在线日本欧美| 悠悠色在线精品| 久久av一区二区| 又污又黄的网站| 亚洲一本视频| 亚洲最新中文字幕| 日本黄色大片在线观看| 欧美精品日日操| 亚洲欧洲综合另类| 青青成人在线| 国产91绿帽单男绿奴| 丝袜亚洲另类欧美| 欧美黑人一级爽快片淫片高清| 日本一级免费视频| 成人香蕉社区| 制服丝袜亚洲色图| 精品久久久久久久无码| 国产乱码在线| 国产精品久久久久7777按摩| 精品亚洲一区二区三区四区五区高| 亚洲在线视频播放| 久久不射中文字幕| 欧美激情一区二区久久久| 久久精品—区二区三区舞蹈| 国产伦精品一区二区三区在线播放| 色又黄又爽网站www久久| 人人妻人人澡人人爽欧美一区| 二区在线观看| 91在线看国产| 国产二区一区| 国产偷拍一区二区| 九九在线精品视频| 国产精品欧美在线| 亚洲欧美一二三区| 国产精品久久久久久久久久妞妞| 欧美成人精品xxx| 91无套直看片红桃在线观看| 国产精品一区2区3区| 亚洲精品动漫100p| 国产精品成人99一区无码| 欧美高清hd| 日韩亚洲欧美一区| 古装做爰无遮挡三级聊斋艳谭| 日韩黄色三级| 欧美午夜电影网| 久久综合久久色| 美女福利一区二区| 色综合中文综合网| 熟妇人妻va精品中文字幕| 天堂√8在线中文| 精品毛片网大全| 日韩精品 欧美| 高清精品在线| 欧美日韩中文字幕在线视频| 黄色动漫网站入口| 美女av在线免费看| 色综合婷婷久久| 国产无套粉嫩白浆内谢的出处| 韩漫成人漫画| 欧美吻胸吃奶大尺度电影 | 99久久一区三区四区免费| 国产aⅴ一区二区三区| 国产成人精品www牛牛影视| 成人午夜影院在线观看| 欧美一区二区三区成人片在线| 国产iv一区二区三区| 肥熟一91porny丨九色丨| 欧美熟妇乱码在线一区| 久久综合丝袜日本网| 日韩精品欧美一区二区三区| 在线观看二区| 亚洲精选视频在线| 欧美黑人经典片免费观看| 欧美aaaaa性bbbbb小妇| 色av成人天堂桃色av| 香港日本韩国三级网站| 久久在线观看| 亚洲精品国精品久久99热| 欧美特级黄色录像| 97色伦图片97综合影院| 久久99亚洲热视| 欧美日韩乱国产| 美国三级日本三级久久99| 亚洲qvod图片区电影| 人妻一区二区三区四区| 久久精品免费在线观看| av不卡在线免费观看| a'aaa级片在线观看| 一本久道久久综合中文字幕| 久久久精品高清| 国产毛片久久久| 色婷婷综合久久久久中文字幕1| 曰本女人与公拘交酡| 1024成人| 国产噜噜噜噜噜久久久久久久久| 亚洲精选一区二区三区| 久久免费午夜影院| 大陆极品少妇内射aaaaaa| 在线免费看h| 欧美一级生活片| 欧美狂猛xxxxx乱大交3| 亚洲字幕久久| 青青久久aⅴ北条麻妃| 99久久久久成人国产免费| www一区二区| 99精品一区二区三区的区别| 亚洲天堂资源| 精品日产卡一卡二卡麻豆| 永久免费毛片在线观看| 亚洲国产精品第一区二区| 国产日韩欧美电影在线观看| 欧性猛交ⅹxxx乱大交| 国产精品不卡一区二区三区| 黄色动漫在线免费看| 久久中文字幕一区二区| 自拍视频国产精品| 黑人精品无码一区二区三区AV| 狠狠色伊人亚洲综合成人| 欧美在线播放一区二区| h片在线观看下载| 五月激情六月综合| 超碰在线超碰在线| 欧美第一精品| 国产精品xxxxx| 天堂v在线观看| 一区二区三区高清| 91 视频免费观看| 青青草91久久久久久久久| 91sa在线看| 黄色一级大片在线免费看国产一| 亚洲色图在线看| 日韩一区二区三区久久| 精品视频免费在线观看| 青草青草久热精品视频在线网站| 日本精品久久久久| 一区二区三区免费网站| 香蕉视频色在线观看| 四虎成人精品永久免费av九九| 国产精品成人一区二区| 国产中文字幕在线观看| 欧美色另类天堂2015| 亚洲 欧美 日韩在线| 在线日韩中文| 精品国产_亚洲人成在线| xxx.xxx欧美| 精品日韩欧美在线| 国产精品第一页在线观看| 国产成人在线观看| 菠萝蜜视频在线观看入口| 国产亚洲字幕| 欧美xxxx18性欧美| 精品人妻一区二区三区换脸明星| 亚洲三级在线免费| 日日干日日操日日射| 亚洲国产一区二区三区在线播放| 国产一区视频在线| 黄色成年人视频在线观看| 欧美一区二区三区在线看| 一区视频免费观看| 国产一区二区伦理片| 美女av免费观看| 国产伦精品一区二区三区免费优势| 亚洲97在线观看| 天堂v视频永久在线播放| 色婷婷激情综合| 中国美女黄色一级片| 国产在线观看免费一区| 国产精品自拍合集| 欧美日日夜夜| 国产精品欧美亚洲777777| aa在线视频| 日韩av网站电影| 国产美女www爽爽爽| 亚洲欧美日韩精品久久久久| 老熟女高潮一区二区三区| 性色一区二区| 一区二区三区不卡在线| a级日韩大片| 国产成人高清激情视频在线观看| 亚洲国产一区二区三区四区| 欧美成人一区二区三区四区| 国产精品久久精品日日| 波多野结衣办公室双飞| 久久精品导航| 免费看污污视频| 欧美黄色网视频| 国产精品一区二区在线| 成人福利影视| 中文字幕综合在线| 全国男人的天堂网| 在线观看亚洲专区| 久久精品这里只有精品| 久久久久99精品国产片| 久久精品一卡二卡| 亚洲欧美成人| 三年中国中文在线观看免费播放| 免费看久久久| 91热福利电影| 欧美性xxx| 色综合久久悠悠| 国产粉嫩一区二区三区在线观看| 日韩欧美国产综合| 中文字幕福利视频| 激情亚洲一区二区三区四区| 免费中文字幕日韩| 国产亚洲一区二区在线观看| 在线观看免费视频国产| 久久精品99国产精品| aⅴ在线免费观看| 狠狠入ady亚洲精品| 亚洲一区二区在| 免费成人网www| 国产一区免费在线观看| 久久久久久爱| 国产在线999| 浪潮色综合久久天堂| 97免费视频在线播放| 神马午夜伦理不卡| 日韩中文字幕在线看| 五月婷婷免费视频| 精品va天堂亚洲国产| 国产视频在线免费观看| 91福利视频久久久久| 欧美激情亚洲综合| 亚洲国产成人porn| 久久久久久天堂| 亚洲欧美成人一区二区三区| 蜜桃av免费在线观看| 中文字幕精品综合| 久久精品—区二区三区舞蹈| 久久综合一区二区| 人人妻人人澡人人爽人人精品| 成人晚上爱看视频| 国产精品久久久久久在线观看| 国产丶欧美丶日本不卡视频| 中文字幕55页| 国产一区欧美二区| 999热精品视频| 国产真实乱子伦精品视频| 蜜臀一区二区三区精品免费视频| 青椒成人免费视频| 亚洲中文字幕久久精品无码喷水| 美女久久网站| 蜜臀视频一区二区三区| 日本午夜一区二区| jizz18女人| 激情综合网av| 中文字幕人妻无码系列第三区| 国产一区二区导航在线播放| 一级 黄 色 片一| 国产成人免费视频| 折磨小男生性器羞耻的故事| 成人福利在线看| 国产男男chinese网站| 国产午夜精品一区二区三区视频| 日本少妇xxxxx| 国产精品国产精品国产专区不蜜| 黑鬼狂亚洲人videos| 亚洲一区二区综合| 国产又大又黄视频| 色吊一区二区三区| 中文字幕在线观看精品| 欧美一区二区免费视频| 亚洲精品久久久久avwww潮水| 亚洲精品在线电影| 你懂得网站在线| 日韩在线免费观看视频| 91最新在线视频| 性金发美女69hd大尺寸| www成人在线视频| 91久久精品美女高潮| 国产精品视频3p| 日韩精品久久一区二区三区| 91精品国产自产在线观看永久∴ | 中文字幕一区三区久久女搜查官| 91在线免费视频观看| 国产又粗又长又硬| 一区二区成人在线| www.国产高清| 欧美色窝79yyyycom| 亚洲国产www| 亚洲视频在线免费看| 成人免费看片| 欧美一级大片视频| 亚洲人成网站在线在线观看| 精品国产一区二区三区麻豆免费观看完整版 | 成人a级免费视频| 超碰成人97| 午夜精品短视频| 在线日韩视频| 91小视频在线播放| 91免费版在线| 91日韩中文字幕| 91精品91久久久中77777| av网站免费大全| 亚洲欧美日韩天堂| 激情av在线| 成人激情综合网| 九热爱视频精品视频| 成人国产一区二区三区| 老司机亚洲精品| 91传媒理伦片在线观看| 亚洲欧洲三级电影| 色av性av丰满av| 精品国产乱码久久久久久免费| 在线观看麻豆蜜桃| 欧美亚洲在线视频| 综合成人在线| 在线观看亚洲视频啊啊啊啊| 久久国产欧美| 日韩av无码一区二区三区不卡 | 亚洲国产精品成人精品| 久草中文在线| 国产精品美女www爽爽爽视频| 久久久久影视| 国产一二三四区在线观看| 日韩影院免费视频| 久久偷拍免费视频| 午夜精品久久久久影视| 亚洲av无码乱码国产精品| www国产精品com| 97欧美成人| 日韩av高清| 日日欢夜夜爽一区| 国产ts丝袜人妖系列视频| 亚洲国产综合视频在线观看| 国产三级第一页| www.亚洲人.com| 9999在线精品视频| 中文字幕免费在线不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费污网站在线观看| 一本到不卡免费一区二区| 香蕉久久国产av一区二区| 久久人91精品久久久久久不卡| 亚洲小说春色综合另类电影| 亚洲区成人777777精品| 国产综合成人久久大片91| 国产精品精品软件男同| 欧美久久久久中文字幕| 免费a在线看| 成人看片人aa| 亚洲自拍偷拍网| xxxx国产视频| 亚洲国产成人高清精品| 熟妇人妻一区二区三区四区| 国内免费久久久久久久久久久 | 日韩免费三级| 免费人成精品欧美精品 | 一区二区三区在线影院| 亚洲国产日韩在线观看| 欧美激情xxxx| 激情亚洲另类图片区小说区| 鲁一鲁一鲁一鲁一色| 久久综合色婷婷| 中文字幕久久熟女蜜桃| 久久五月天色综合| 成人av资源网址| 国产aaa一级片| 国产精品天干天干在线综合| 一本色道久久综合熟妇| 欧美巨猛xxxx猛交黑人97人| 99精品国产一区二区三区2021| 欧美 日韩 亚洲 一区| 日本在线视频www鲁啊鲁| 亚洲欧美日韩天堂一区二区| а√天堂资源国产精品| 欧美少妇一级片| 大胆亚洲人体视频| 99超碰在线观看| 色yeye香蕉凹凸一区二区av| 欧一区二区三区| 国产成人黄色片| 国产精品毛片大码女人| 性一交一乱一精一晶| 欧美在线视频导航| 久久国产成人精品| 成人做爰www看视频软件| 色婷婷久久综合| √天堂8在线网| 免费在线国产精品| 狠狠v欧美v日韩v亚洲ⅴ| 日韩三级免费看| 最近的2019中文字幕免费一页| 亚洲福利合集| 免费国产成人av| 亚洲综合av网| 超碰国产在线| 国产精品制服诱惑| 久久激情综合网| 久久亚洲精品国产| 欧美精品免费在线| 欧美日韩国产免费观看视频| 中文字幕人妻熟女在线|