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

常見線上故障的最優解法,運維老司機也未必都懂

新聞 系統運維
很多人在面試時,會被問到這樣的問題: 遇到過什么系統故障? 怎么解決的? 下面是筆者根據自己15年互聯網研發經歷總結的多個線上故障真實案例。 本文圖不多,但內容很干!理解為主,學以致用!

 很多人在面試時,會被問到這樣的問題: 遇到過什么系統故障? 怎么解決的? 下面是筆者根據自己15年互聯網研發經歷總結的多個線上故障真實案例。

本文圖不多,但內容很干!理解為主,學以致用!

故障一:JVM頻繁FULL GC快速排查

在分享此案例前,先聊聊哪些場景會導致頻繁Full GC:

  1. 內存泄漏(代碼有問題,對象引用沒及時釋放,導致對象不能及時回收)。

  2. 死循環。

  3. 大對象。

尤其是大對象,80%以上的情況就是他。

那么大對象從哪里來的呢?

  1. 數據庫(包括MySQL和MongoDB等NoSQL數據庫),結果集太大。

  2. 第三方接口傳輸的大對象。

  3. 消息隊列,消息太大。

根據多年一線互聯網經驗,絕大部分情況是數據庫大結果集導致。

好,現在我們開始介紹這次線上故障:

在沒有任何發布的情況下,POP服務( 接入 第三方商家的服務)突然開始瘋狂Full GC,觀察堆內存監控沒內存泄漏,回滾到前一版本,問題仍然存在,尷尬了!!!

按照常規做法,一般先用jmap導出堆內存快照(jmap -dump:format=b,file=文件名 [pid]),然后用mat等工具分析出什么對象占用了大量空間,再查看相關引用找到問題代碼。這種方式定位問題周期會比較長,如果是關鍵服務,長時間不能定位解決問題,影響太大。

下面來看看我們的做法:

先按照常規做法分析堆內存快照,與此同時另外的同學去查看數據庫服務器網絡IO監控,如果 數據庫服務器 網絡IO有明顯上升,并且時間點吻合,基本可以確定是數據庫大結果集導致了Full GC,趕緊找DBA快速定位大SQL(對DBA來說很簡單,分分鐘搞定,如果DBA不知道怎么定位,那他要被開除了,哈哈),定位到SQL后再定位代碼就非常簡單了。

按照這種辦法,我們很快定位了問題。原來是一個接口必傳的參數沒傳進來,也沒加校驗,導致SQL語句where后面少了兩個條件,一次查幾萬條記錄出來,真坑啊! 這種方法是不是要快很多,哈哈,5分鐘搞定。

當時的DAO層是基于Mybatis實現的,出問題的SQL語句如下:

  1. <select id="selectOrders" resultType="com.***.Order" > 
  2. select * from user where 1=1 <if test=" orderID != null "> and order_id = #{orderID} </if > 
  3.  
  4. <if test="userID !=null"> and user_id=#{userID} </if > <if test="startTime !=null"> and create_time >= #{createTime} </if > <if test="endTime !=null"> and create_time <= #{userID} </if > </select> 

上面SQL語句意思是根據orderID查一個訂單,或者根據userID查一個用戶所有的訂單,兩個參數至少要傳一個。但是兩個參數都沒傳,只傳了startTime和endTime。所以一次Select就查出了幾萬條記錄。

所以我們在使用Mybatis的時候一定要慎用if test,一不小心就會帶來災難。后來我們將上面的SQL拆成了兩個:

根據訂單ID查詢訂單:

  1. <select id="selectOrderByID" resultType="com.***.Order" > 
  2. select * from user where 
  3.  
  4. order_id = #{orderID} </select> 

根據userID查詢訂單:

  1. <select id="selectOrdersByUserID" resultType="com.***.Order" > 
  2. select * from user where user_id=#{userID} 
  3.  
  4. <if test="startTime !=null"> and create_time >= #{createTime} </if > <if test="endTime !=null"> and create_time <= #{userID} </if > </select> 

故障二:內存泄漏

介紹案例前,先了解一下內存泄漏和內存溢出的區別。

內存溢出:程序沒有足夠的內存使用時,就會發生內存溢出。內存溢出后程序基本上就無法正常運行了。

內存泄漏:當程序不能及時釋放內存,導致占用內存逐漸增加,就是內存泄漏。內存泄漏一般不會導致程序無法運行。不過持續的內存泄漏,累積到內存上限時,就會發生內存溢出。在Java中,如果發生內存泄漏,會導致GC回收不徹底,每次GC后,堆內存使用率逐漸增高。

下圖是JVM發生內存泄漏的監控圖,我們可以看到每次GC后堆內存使用率都比以前提高了:

圖片來源于網絡

當時內存泄漏的場景是,用本地緩存(公司基礎架構組自己研發的框架)存放了商品數據,商品數量不算太多,幾十萬的樣子。如果只存熱點商品,內存占用不會太大,但是如果存放全量商品,內存就不夠了。

初期我們給每個緩存記錄都加了7天的過期時間,這樣就可以保證緩存中絕大部分都是熱點商品。不過后來本地緩存框架經過一次重構,過期時間被去掉了。沒有了過期時間,日積月累本地緩存越來越大,很多冷數據也被加載到了緩存。

直到有一天接到告警短信,提示堆內存過高。趕緊通過jmap( jmap -dump:format=b,file=文件名 [pid] )下載了堆內存快照,然后用eclipse的mat工具分析快照,發現了本地緩存中有大量的商品記錄。定位問題后趕緊讓架構組加上了過期時間,然后逐個節點重啟了服務。

虧了我們加了服務器內存和JVM堆內存監控,及時發現了內存泄漏的問題。否則隨著泄漏問題日積月累,如果哪天真的OOM就慘了。

所以技術團隊除了做好CPU,內存等運維監控,JVM監控也非常重要。

故障三:冪等問題

很多年前,筆者在一家大型電商公司做Java程序員,當時開發了積分服務。當時的業務邏輯是,用戶訂單完結后,訂單系統發送消息到消息隊列,積分服務接到消息后給用戶積分,在用戶現有的積分上加上新產生的積分。

由于網絡等原因會有消息重復發送的情況,這樣也就導致了消息的重復消費。當時筆者還是個初入職場的小菜鳥,并沒有考慮到這種情況。所以上線后偶爾會出現重復積分的情況,也就是一個訂單完結后會給用戶加兩次或多次積分。

后來我們加了一個積分記錄表,每次消費消息給用戶增加積分前,先根據訂單號查一遍積分記錄表,如果沒有積分記錄才給用戶增加積分。這也就是所謂的“冪等性”,即多次重復操作不影響最終的結果。

實際開發中很多需要重試或重復消費的場景都要實現冪等,以保證結果的正確性。例如,為了避免重復支付,支付接口也要實現冪等。

故障四:緩存雪崩

我們經常會遇到需要初始化緩存的情況。比如,我們曾經經歷過用戶系統重構,用戶系統表結構發生了變化,緩存信息也要變。重構完成后上線前,需要初始化緩存,將用戶信息批量存入Reids。

每條用戶信息緩存記錄過期時間是1天,記錄過期后再從數據庫查詢最新的數據并拉取到Redis中。灰度上線時一切正常,所以很快就全量發布了。整個上線過程非常順利,碼農們也很開心。

不過,第二天,災難發生了!到某一個時間點,各種報警紛至沓來。用戶系統響應突然變得非常慢,甚至一度沒有任何響應。查看監控,用戶服務 CPU突然飆高(IO wait很高),MySQL訪問量激增, MySQL 服務器壓力也隨之暴增,Reids緩存命中率也跌到了極點。

依賴于我們強大的監控系統(運維監控,數據庫監控,APM全鏈路性能監控),很快定位了問題。原因就是Reids中大量用戶記錄集中失效,獲取用戶信息的請求在Redis中查不到用戶記錄,導致大量的請求穿透到數據庫,瞬間給數據庫帶來巨大壓力。同時用戶服務和相關聯的其他服務也都受到了影響。

這種緩存集中失效,導致大量請求同時穿透到數據庫的情況,就是所謂的“緩存雪崩”。如果沒到緩存失效時間點,性能測試也測不出問題。所以一定要引起大家注意。

所以,需要初始化緩存數據時,一定 要保證每個緩存記錄過期時間的離散性。 例如,我們給這些用戶信息設置過期時間, 可以采用一個較大的固定值加上一個較小的隨機值。比如過期時間可以是:24小時 + 0到3600秒的隨機值。

故障五:磁盤IO導致線程阻塞

問題發生在2017年下半年,有一段時間地理網格服務時不常的會響應變慢,每次持續幾秒鐘到幾十秒鐘就自動恢復。

如果響應變慢是持續的還好辦,直接用jstack抓線程堆棧,基本可以很快定位問題。關鍵持續時間只有最多幾十秒鐘,而且是偶發的,一天只發生一兩次,有時幾天才發生一次,發生時間點也不確定,人盯著然后用jstack手工抓線程堆棧顯然不現實。

好吧,既然手工的辦法不現實,咱們就來自動的,寫一個shell腳本自動定時執行jstack,5秒執行一次jstack,每次執行結果放到不同日志文件中,只保存20000個日志文件。

Shell腳本如下:

 

  1. #!/bin/bash num=0 log="/tmp/jstack_thread_log/thread_info" 
  2.  
  3. cd /tmp if [ ! -d "jstack_thread_log" ]; then   mkdir jstack_thread_log fi 
  4.  
  5. while ((num <= 10000)); do    ID=`ps -ef | grep java | grep gaea | grep -v "grep" | awk '{print $2}'`    if [ -n "$ID" ]; then  jstack $ID >> ${log}   fi    num=$(( $num + 1 ))    mod=$(( $num%100 ))    if [ $mod -eq 0 ]; then  back=$log$num  mv $log $back fi          sleep 5 done 

下一次響應變慢的時候,我們找到對應時間點的jstack日志文件,發現里面有很多線程阻塞在logback輸出日志的過程,后來我們精簡了log,并且把log輸出改成異步,問題解決了,這個腳本果真好用!建議大家保留,以后遇到類似問題時,可以拿來用!

故障六:數據庫死鎖問題

在分析案例之前,我們先了解一下MySQL InnoDB。 在MySQL InnoDB 引擎中主鍵是采用聚簇索引的形式,即在B樹的葉子節點中既存儲了索引值也存儲了數據記錄,即數據記錄和主鍵索引是存在一起的。

而普通索引的葉子節點存儲的只是主鍵索引的值,一次查詢找到普通索引的葉子節點后,還要根據葉子節點中的主鍵索引去找到聚簇索引葉子節點并拿到其中的具體數據記錄,這個過程也叫“回表”。

故障發生的場景是關于我們商城的訂單系統。有一個定時任務,每一小時跑一次,每次把所有一小時前未支付訂單取消掉。而客服后臺也可以批量取消訂單。

訂單表t_order結構大至如下:

id

訂單id,主鍵

status

訂單狀態

created_time

訂單創建時間

id是表的主鍵,created_time字段上是普通索引。

聚簇索引(主鍵id)。

id (索引)

status

created_time

1

UNPAID

2020-01-01 07:30:00

2

UNPAID

2020-01-01 08:33:00

3

UNPAID

2020-01-01 09:30:00

4

UNPAID

2020-01-01 09:39:00

5

UNPAID

2020-01-01 09:50:00

普通索引(created_time字段)。

created_time (索引)

id(主鍵)

2020-01-01 09:50:00

5

2020-01-01 09:39:00

4

2020-01-01 09:30:00

3

2020-01-01 08:33:00

2

2020-01-01 07:30:00

1

定時任務每一小時跑一次,每次把所有一小時前兩小時內的未支付訂單取消掉,比如上午11點會取消8點到10點的未支付訂單。SQL語句如下:

  1. update t_order set status = 'CANCELLED' where created_time > '2020-01-01 08:00:00' and created_time < '2020-01-01 10:00:00' and status = 'UNPAID' 

客服批量取消訂單SQL如下:

  1. update t_order set status = 'CANCELLED' where id in (235) and status = 'UNPAID' 

上面的兩條語句同時執行就可能發生死鎖。我們來分析一下原因。

第一條定時任務的SQL,會先找到created_time普通索引并加鎖,然后再在找到主鍵索引并加鎖。

  第一步,created_time普通索引加鎖。

第二步,主鍵索引加鎖。

第二條客服批量取消訂單SQL,直接走主鍵索引,直接在主鍵索引上加鎖。

我們可以看到,定時任務SQL對主鍵加鎖順序是5,4,3,2。客服批量取消訂單SQL對主鍵加鎖順序是2,3,5。當第一個SQL對3加鎖后,正準備對2加鎖時,發現2已經被第二個SQL加鎖了,所以第一個SQL要等待2的鎖釋放。

而此時第二個SQL準備對3加鎖,卻發現3已經被第一個SQL加鎖了,就要等待3的鎖釋放。兩個SQL互相等待對方的鎖,也就發生了“死鎖”。

解決辦法就是從SQL語句上保證加鎖順序一致。或者把客服批量取消訂單SQL改成每次SQL操作只能取消一個訂單,然后在程序里多次循環執行SQL,如果批量操作的訂單數量不多,這種笨辦法也是可行的。

故障七:域名劫持

先看看DNS解析是怎么回事,當我們訪問www.baidu.com時,首先會根據www.baidu.com到DNS域名解析服務器去查詢百度服務器對應的IP地址,然后再通過http協議訪問該IP地址對應的網站。

而 DNS劫持是互聯網攻擊的一種方式,通過攻擊域名解析服務器(DNS)或者偽造域名解析服務器,把目標網站域名解析到其他的IP。從而導致請求無法訪問目標網站或者跳轉到其他網站。如下圖:

下面這張圖是我們曾經經歷過的DNS劫持的案例:

看圖中的紅框部分,本來上方的圖片應該是商品圖片,但是卻顯示成了廣告圖片。是不是圖片配錯了?不是,是域名(DNS)被劫持了。

原本應該顯示存儲在CDN上的商品圖片,但是被劫持之后卻顯示了其他網站的廣告鏈接圖片。由于當時的CDN圖片鏈接采用了不安全的http協議,所以很容易被劫持。后來改成了https,問題就解決了。

當然域名劫持有很多方式,https也不能規避所有問題。所以,除了一些安全防護措施,很多公司都有自己的備用域名,一旦發生域名劫持可以隨時切換到備用域名。

故障八:帶寬資源耗盡

帶寬資源耗盡導致系統無法訪問的情況,雖然不多見,但是也應該引起大家的注意。來看看,之前遇到的一起事故。

場景是這樣的。社交電商每個分享出去的商品圖片都有一個唯一的二維碼,用來區分商品和分享者。所以二維碼要用程序生成,最初我們在服務端用Java生成二維碼。

前期由于系統訪問量不大,系統一直沒什么問題。但是有一天運營突然搞了一次優惠力度空前的大促,系統瞬時訪問量翻了幾十倍。問題也就隨之而來了,網絡帶寬直接被打滿,由于帶寬資源被耗盡,導致很多頁面請求響應很慢甚至沒任何響應。

原因就是二維碼生成數量瞬間也翻了幾十倍,每個二維碼都是一張圖片,對帶寬帶來了巨大壓力。

怎么解決呢?如果服務端處理不了,就考慮一下客戶端。把生成二維碼放到客戶端APP處理,充分利用用戶終端手機,目前Andriod,IOS或者React都有相關生成二維碼的SDK。

這樣不但解決了帶寬問題,而且也釋放了服務端生成二維碼時消耗的CPU資源(生成二維碼過程需要一定的計算量,CPU消耗比較明顯)。

外網帶寬非常昂貴,我們還是要省著點用啊!

本文分享的案例都是筆者的親身經歷,希望對各位讀者有所幫助。

責任編輯:張燕妮 來源: 二馬讀書
相關推薦

2018-09-10 05:03:51

網絡故障故障排查運維

2019-07-18 14:17:25

運維命令網絡

2018-12-04 09:07:36

運維問題排查

2018-10-09 09:42:27

MySQL優化單表

2018-09-28 15:06:41

MySQL優化指南數據庫

2018-03-28 11:03:23

Nginx負載均衡運維

2018-06-01 16:37:05

果然是老司機,效率實在

2019-05-24 15:20:42

優化系統數據庫

2018-03-09 10:34:48

顯卡參數超頻

2019-11-12 09:53:32

Linux 系統 數據

2018-06-29 10:36:29

阿里云互聯網故障

2018-03-01 19:40:44

Linux運維常見問題

2021-06-08 08:11:47

數據中心UPS供電系統

2020-03-30 15:12:27

Python開發錯誤

2017-10-18 13:28:27

語言Python開發錯誤

2019-05-14 13:07:23

大數據平臺監控集群

2014-04-02 10:56:21

2019-08-22 08:51:39

RabbitMQ運維故障

2020-09-25 11:10:51

運維故障排查監控

2013-07-24 17:51:44

運維管理北塔軟件
點贊
收藏

51CTO技術棧公眾號

欧美日韩精品一区二区视频| 超碰在线资源| 久久国产三级精品| 欧美国产精品va在线观看| 一区二区三区四区影院| 午夜影院在线观看国产主播| 国产精品全国免费观看高清| 91九色偷拍| 波多野结衣视频网站| 91日韩在线| 日韩经典第一页| 成人性生交免费看| 午夜影院在线播放| 尤物av一区二区| 日本视频精品一区| 99久久久久久久| 亚洲一区视频| 久久久久久久爱| 91狠狠综合久久久久久| 好吊妞视频这里有精品| 欧美日韩国产一区| 国产视频一视频二| 51xtv成人影院| 欧美极品aⅴ影院| 国产在线精品一区| www.av黄色| 精品一区二区成人精品| 91av在线影院| 国产在线视频你懂的| 婷婷伊人综合| 尤物九九久久国产精品的分类| 午夜视频在线观看国产| 91成人app| 欧美性色黄大片手机版| 欧美日韩亚洲一| 17videosex性欧美| 亚洲影院在线观看| 99久久久无码国产精品性色戒| 福利片在线看| 国产亚洲精品中文字幕| 久久66热这里只有精品| 国产成人自拍一区| 国产成人av一区二区三区在线 | 日本在线高清视频一区| 人妻一区二区三区四区| 国产精品 日产精品 欧美精品| 国产精品专区一| www.av88| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧洲永久精品大片ww免费漫画| 在线看成人av| 亚洲人成免费| 97涩涩爰在线观看亚洲| 日韩免费av片| 午夜在线一区二区| 琪琪第一精品导航| 天天干,天天干| 日韩电影在线一区二区| 国产成人精品综合久久久| 波多野结衣在线观看视频| 久久久夜夜夜| 国产精品免费福利| 88av在线视频| 国产精品99久久久久久宅男| 亚洲xxx大片| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| jvid福利写真一区二区三区| 精品一区在线播放| 免费毛片在线| 国产精品福利一区二区三区| 久久99精品国产99久久6尤物| 无码少妇一区二区| 日韩欧美一区二区三区免费看| 在线免费看av不卡| 波多野结衣在线网址| 欧美日本一区| 18一19gay欧美视频网站| 久久精品无码av| 蜜臀av性久久久久蜜臀aⅴ流畅| 91在线看www| 蜜桃91麻豆精品一二三区| 99精品国产视频| 偷拍视频一区二区| √天堂8在线网| 欧美天堂在线观看| 青青草久久伊人| www.成人网| 一区二区三区回区在观看免费视频| 手机免费观看av| 国内精品久久久久国产盗摄免费观看完整版| 欧美二区乱c黑人| 日韩人妻精品中文字幕| 国产一区日韩二区欧美三区| 久久99精品久久久久久久青青日本| 美女欧美视频在线观看免费 | 亚洲天堂色网站| frxxee中国xxx麻豆hd| 激情成人亚洲| 国产一区二区在线播放| 色屁屁草草影院ccyycom| 亚洲国产精品精华液ab| 800av在线免费观看| 欧美精品资源| 亚洲精美色品网站| 欧美激情精品久久久久久免费| 亚洲精品影院在线观看| 国产日韩亚洲欧美| 亚洲av成人精品一区二区三区在线播放| 欧美激情一区二区| 青青草视频在线免费播放| 亚洲精品69| 亚洲天堂网在线观看| www.youjizz.com亚洲| 免费成人在线观看| 鲁片一区二区三区| 国产三级伦理在线| 91麻豆精品国产91久久久久久| 欧美一区二区三区成人精品| 激情欧美日韩| 亚洲一区二区三区视频播放| 成人综合影院| 日韩欧中文字幕| 扒开伸进免费视频| 久久久久蜜桃| 国产精品欧美亚洲777777| 日本在线丨区| 精品成人av一区| 黑人玩弄人妻一区二区三区| 亚洲澳门在线| 国产日韩欧美中文| 二区在线观看| 日本黄色一区二区| aa片在线观看视频在线播放| 亚洲精品女人| 国产精品v欧美精品v日韩| 成人在线视频亚洲| 91精品国产入口| 在线看的片片片免费| 久久精品国产亚洲aⅴ| 无遮挡亚洲一区| 成人影院大全| 亚洲欧洲视频在线| 黄色在线视频网址| 久久精品一区二区三区不卡牛牛| 欧洲黄色一级视频| 亚洲调教一区| 国产成人精品午夜| 啊v在线视频| 欧美日韩美女一区二区| 亚洲AV成人无码网站天堂久久| 久久精品国产精品亚洲精品| 亚洲国产一区二区三区在线播| 视频精品导航| www.欧美三级电影.com| 国产乱淫av免费| 亚洲精品国产一区二区精华液| 色黄视频免费看| 亚洲私拍自拍| 精品在线不卡| 先锋欧美三级| 日韩中文字幕在线精品| 国产黄色小视频在线观看| 一区二区三区高清| 亚洲精品乱码久久久久久久| 丝袜亚洲另类丝袜在线| 伊人色综合影院| 日本免费一区二区三区视频| 国内精品久久久久久久| 青青免费在线视频| 在线观看亚洲成人| www.黄色com| 粉嫩av一区二区三区粉嫩| 日韩a∨精品日韩在线观看| 亚洲老女人视频免费| 国产精品视频在线播放| 在线免费av导航| 亚洲精品网站在线播放gif| 亚洲欧美日韩一区二区三区四区| 国产精品久久久久影院亚瑟| 日本精品一二三| 久久综合图片| 黄色污污在线观看| 天堂网av成人| 成人免费看黄网站| 国产高清视频色在线www| 亚洲午夜激情免费视频| 国产熟女一区二区丰满| 精品久久久免费| 国产传媒免费在线观看| 99久久99久久精品免费看蜜桃| 国产高潮免费视频| 欧美午夜a级限制福利片| 欧美美乳视频网站在线观看| 精品国产不卡一区二区| 欧美在线视频网| aaa大片在线观看| 日韩精品中文字幕在线| 国产绳艺sm调教室论坛| 日韩欧美一区视频| 看片网站在线观看| 欧美高清在线一区二区| 欧美丰满熟妇bbb久久久| 美女视频黄 久久| 97国产精东麻豆人妻电影| 羞羞色午夜精品一区二区三区| 蜜桃精品久久久久久久免费影院 | 国产精品欧美久久| 国产欧美自拍| 日韩av电影中文字幕| 99视频免费在线观看| 在线播放日韩精品| 少妇人妻偷人精品一区二区| 91精品国产91热久久久做人人| 国产精品免费精品一区| 亚洲一区二区在线视频| 永久免费观看片现看| 91在线免费播放| 亚洲精品成人无码毛片| 久久精品二区亚洲w码| 日韩精品一区二区三区久久| 国产精品va| 国产一区一区三区| 欧美激情偷拍自拍| 欧美日韩在线一二三| 超碰cao国产精品一区二区| 91免费版网站入口| 另类一区二区三区| 国产精品电影观看| 日本在线精品| 热99精品里视频精品| 女人让男人操自己视频在线观看 | 高清av一区二区| 日韩一级免费片| 蜜臀av在线播放一区二区三区| 久久婷婷国产精品| 欧美亚洲专区| 自慰无码一区二区三区| 99精品久久久| 日韩一级性生活片| 亚洲精品激情| 播放灌醉水嫩大学生国内精品| 日韩视频一区| 久久久久久久久久网| 影音先锋中文字幕一区二区| 草b视频在线观看| 红桃视频国产精品| 成年人网站国产| 亚洲精品九九| 国产日韩一区二区在线观看| 久久一区二区三区超碰国产精品| 成人综合视频在线| 久久久精品午夜少妇| 最新中文字幕免费视频| 蜜臀av性久久久久蜜臀aⅴ | 深夜福利亚洲导航| 天天影视久久综合| 久久精品成人一区二区三区 | 精品精品99| 亚洲精品中字| 亚洲一级淫片| 成人黄色大片网站| 午夜亚洲精品| 免费涩涩18网站入口| 狠狠久久亚洲欧美| 国产麻豆剧传媒精品国产| 成人免费av在线| xxxwww国产| 久久久.com| 精品女人久久久| 亚洲精品写真福利| 狠狠躁夜夜躁人人爽天天高潮| 懂色av中文一区二区三区天美| 亚洲黄网在线观看| 欧美日韩国产乱码电影| 亚洲国产精品久久人人爱潘金莲| 亚洲成人网在线| 黄色软件在线观看| www.日韩欧美| 日韩精品极品| 国产精品久久久久久久久久久不卡| 亚洲精品aaa| www.成人av.com| 亚洲小说图片| 国产精品久久成人免费观看| 亚洲日产国产精品| 最新天堂中文在线| 国产1区2区3区精品美女| a级大片在线观看| 中文字幕亚洲视频| 国产无精乱码一区二区三区| 91成人网在线| www.五月婷| 最好看的2019的中文字幕视频| 手机在线免费看av| 国产精品国语对白| www.豆豆成人网.com| 亚洲日本精品一区| 最新亚洲激情| 色91精品久久久久久久久 | 任你操精品视频| 婷婷中文字幕综合| 国产高清免费观看| 一区二区三区视频观看| 免费在线看污片| 国产日韩在线看片| 亚洲色图丝袜| av网站大全免费| 美女视频黄免费的久久| 久久亚洲AV成人无码国产野外| 成人免费在线视频观看| 亚洲综合图片网| 亚洲国产精品电影| 黄色成人在线| 国产精品极品美女在线观看免费| 久久亚洲黄色| 国产一级大片免费看| 老色鬼精品视频在线观看播放| aa片在线观看视频在线播放| 一区二区三区产品免费精品久久75| 在线观看中文字幕码| 亚洲精品自在久久| 色在线中文字幕| 不卡一区二区三区四区五区| 91视频一区| 三级a三级三级三级a十八发禁止| 91色在线porny| 久久精品国产av一区二区三区| 日韩一区二区视频在线观看| 日本暖暖在线视频| 国产精品美女久久久免费| 国产亚洲电影| 免费在线观看毛片网站| 99国产麻豆精品| 国产精品theporn动漫| 精品日韩在线观看| 制服丝袜在线播放| 亚洲www永久成人夜色| 中文字幕一区二区三区欧美日韩| 亚洲综合色在线观看| 国产日产精品1区| 黄色av一区二区| 中文字幕日韩av| 国产精品字幕| 亚洲欧美久久234| 麻豆成人av在线| 久艹在线观看视频| 欧美一区二区三区系列电影| 中文字幕中文字幕在线十八区 | av女名字大全列表| 668精品在线视频| 亚洲深夜福利在线观看| av无码精品一区二区三区| 亚洲国产激情av| 国产一区二区三区中文字幕| 成人97在线观看视频| 美国十次综合久久| 久久久国内精品| k8久久久一区二区三区| 福利网址在线观看| 在线观看久久久久久| 国产精品一区二区精品视频观看| 黄色污污在线观看| av中文字幕一区| 中文字幕在线日本| www.国产精品一二区| 亚洲综合影院| 国产主播在线看| 国产精品美女久久久久av爽李琼 | 国产精品一区免费在线观看| 久久久综合久久| 日韩电影在线观看永久视频免费网站| 偷拍自拍在线看| 一区二区精品免费视频| 国产福利一区二区三区在线视频| 国产第一页在线播放| 亚洲视频视频在线| 高清一区二区中文字幕| 国产日韩av网站| 亚洲国产成人在线| 国产高清在线免费| 欧美性视频在线| 99久久激情| 韩国三级hd两男一女| 欧美综合一区二区| 日韩特级毛片| 青青草原亚洲| 国产精品18久久久久久久网站| 久久免费激情视频| 日韩小视频网址| 亚洲+小说+欧美+激情+另类| 日韩精品视频一二三| 亚洲电影一级黄| 888av在线| 激情伦成人综合小说| 久久成人羞羞网站| 日韩三级一区二区三区| 久久精品影视伊人网| 亚洲第一论坛sis| aaaaa黄色片| 欧美视频一区二区|