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

半夜數據庫突發宕機,竟是Redis惹的鍋?

數據庫 新聞
今天跟大家一起來分析下如何確定 Redis 有性能問題和解決方案。

?誰曾想,凌晨 12 點之后,用戶量暴增,出現了一個技術故障,用戶無法下單,當時老大火冒三丈!

經過查找發現 Redis 報 Could not get a resource from the pool。

獲取不到連接資源,并且集群中的單臺 Redis 連接量很高。

大量的流量沒了 Redis 的緩存響應,直接打到了 MySQL,最后數據庫也宕機了……

于是各種更改最大連接數、連接等待數,雖然報錯信息頻率有所緩解,但還是持續報錯。

后來經過線下測試,發現存放 Redis 中的字符數據很大,平均 1s 返回數據。

可以發現,一旦 Redis 延遲過高,會引發各種問題。

今天跟大家一起來分析下如何確定 Redis 有性能問題和解決方案。

目錄:

1、延遲基線測量

2、慢指令監控

  • 慢日志功能
  • Latency Monitoring

3、網絡通信導致的延遲

4、慢指令導致的延遲

5、Fork 生成 RDB 導致的延遲

6、內存大頁(transparent huge pages)

7、swap:操作系統分頁

  • 獲取 Redis 實例 pid
  • 解決方案

8、AOF 和磁盤 I/O 導致的延遲

9、expires 淘汰過期數據

  • 解決方案

10、bigkey

  • 查找 bigkey
  • 解決方案

Redis 性能出問題了么?

最大延遲是客戶端發出命令到客戶端收到命令的響應的時間,正常情況下 Redis 處理的時間極短,在微秒級別。

當 Redis 出現性能波動的時候,比如達到幾秒到十幾秒,這個很明顯我們可以認定 Redis 性能變慢了。

有的硬件配置比較高,當延遲 0.6ms,我們可能就認定變慢了。硬件比較差的可能 3 ms 我們才認為出現問題。

那我們該如何定義 Redis 真的變慢了呢?

所以,我們需要對當前環境的 Redis 基線性能做測量,也就是在一個系統在低壓力、無干擾情況下的基本性能。

當你發現 Redis 運行時時的延遲是基線性能的 2 倍以上,就可以判定 Redis 性能變慢了。

1、延遲基線測量

redis-cli 命令提供了–intrinsic-latency 選項,用來監測和統計測試期間內的最大延遲(以毫秒為單位),這個延遲可以作為 Redis 的基線性能。

redis-cli --latency -h `host` -p `port`

比如執行如下指令:


redis-cli --intrinsic-latency 100
Max latency so far: 4 microseconds.
Max latency so far: 18 microseconds.
Max latency so far: 41 microseconds.
Max latency so far: 57 microseconds.
Max latency so far: 78 microseconds.
Max latency so far: 170 microseconds.
Max latency so far: 342 microseconds.
Max latency so far: 3079 microseconds.

45026981 total runs (avg latency: 2.2209 microseconds / 2220.89 nanoseconds per run).
Worst run took 1386x longer than the average latency.

注意:參數100是測試將執行的秒數。我們運行測試的時間越長,我們就越有可能發現延遲峰值。

通常運行 100 秒通常是合適的,足以發現延遲問題了,當然我們可以選擇不同時間運行幾次,避免誤差。

運行的最大延遲是 3079 微秒,所以基線性能是 3079 (3 毫秒)微秒。

需要注意的是,我們要在 Redis 的服務端運行,而不是客戶端。這樣,可以避免網絡對基線性能的影響。

可以通過 -h host -p port 來連接服務端,如果想監測網絡對 Redis 的性能影響,可以使用 Iperf 測量客戶端到服務端的網絡延遲。

如果網絡延遲幾百毫秒,說明網絡可能有其他大流量的程序在運行導致網絡擁塞,需要找運維協調網絡的流量分配。

2、慢指令監控

如何判斷是否是慢指令呢?

看操作復雜度是否是O(N)。官方文檔對每個命令的復雜度都有介紹,盡可能使用O(1) 和 O(log N)命令。

涉及到集合操作的復雜度一般為O(N),比如集合全量查詢HGETALL、SMEMBERS,以及集合的聚合操作:SORT、LREM、 SUNION等。

有監控數據可以觀測呢?代碼不是我寫的,不知道有沒有人用了慢指令。

有兩種方式可以排查到:

  • 使用 Redis 慢日志功能查出慢命令;
  • latency-monitor(延遲監控)工具。

此外,可以使用自己(top、htop、prstat 等)快速檢查 Redis 主進程的 CPU 消耗。如果 CPU 使用率很高而流量不高,通常表明使用了慢速命令。

1)慢日志功能

Redis 中的 slowlog 命令可以讓我們快速定位到那些超出指定執行時間的慢命令,默認情況下命令若是執行時間超過 10ms 就會被記錄到日志。

slowlog 只會記錄其命令執行的時間,不包含 io 往返操作,也不記錄單由網絡延遲引起的響應慢。

我們可以根據基線性能來自定義慢命令的標準(配置成基線性能最大延遲的 2 倍),調整觸發記錄慢命令的閾值。

可以在 redis-cli 中輸入以下命令配置記錄 6 毫秒以上的指令:

redis-cli CONFIG SET slowlog-log-slower-than 6000

也可以在 Redis.config 配置文件中設置,以微秒為單位。

想要查看所有執行時間比較慢的命令,可以通過使用 Redis-cli 工具,輸入 slowlog get 命令查看,返回結果的第三個字段以微秒位單位顯示命令的執行時間。

假如只需要查看最后 2 個慢命令,輸入 slowlog get 2 即可。

示例:獲取最近2個慢查詢命令
127.0.0.1:6381> SLOWLOG get 2
1) 1) (integer) 6
2) (integer) 1458734263
3) (integer) 74372
4) 1) "hgetall"
2) "max.dsp.blacklist"
2) 1) (integer) 5
2) (integer) 1458734258
3) (integer) 5411075
4) 1) "keys"
2) "max.dsp.blacklist"

以第一個 HGET 命令為例分析,每個 slowlog 實體共 4 個字段:

  • 字段 1:1 個整數,表示這個 slowlog 出現的序號,server 啟動后遞增,當前為 6。
  • 字段 2:表示查詢執行時的 Unix 時間戳。
  • 字段 3:表示查詢執行微秒數,當前是 74372 微秒,約 74ms。
  • 字段 4: 表示查詢的命令和參數,如果參數很多或很大,只會顯示部分參數個數。當前命令是hgetall max.dsp.blacklist。

2)Latency Monitoring

Redis 在 2.8.13 版本引入了 Latency Monitoring 功能,用于以秒為粒度監控各種事件的發生頻率。

啟用延遲監視器的第一步是設置延遲閾值(單位毫秒)。只有超過該閾值的時間才會被記錄,比如我們根據基線性能(3ms)的 3 倍設置閾值為 9 ms。

可以用 redis-cli 設置也可以在 Redis.config 中設置;

CONFIG SET latency-monitor-threshold 9

工具記錄的相關事件的詳情可查看官方文檔:https://redis.io/topics/latency-monitor

如獲取最近的 latency

127.0.0.1:6379> debug sleep 2
OK
(2.00s)
127.0.0.1:6379> latency latest
1) 1) "command"
2) (integer) 1645330616
3) (integer) 2003
4) (integer) 2003

  • 事件的名稱;
  • 事件發生的最新延遲的 Unix 時間戳;
  • 毫秒為單位的時間延遲;
  • 該事件的最大延遲。

如何解決 Redis 變慢?

Redis 的數據讀寫由單線程執行,如果主線程執行的操作時間太長,就會導致主線程阻塞。

一起分析下都有哪些操作會阻塞主線程,我們又該如何解決?

3、網絡通信導致的延遲

客戶端使用 TCP/IP 連接或 Unix 域連接連接到 Redis。1 Gbit/s 網絡的典型延遲約為 200 us。

redis 客戶端執行一條命令分 4 個過程:

發送命令-〉 命令排隊 -〉 命令執行-〉 返回結果

這個過程稱為 Round trip time(簡稱 RTT, 往返時間),mget mset 有效節約了 RTT,但大部分命令(如 hgetall,并沒有 mhgetall)不支持批量操作,需要消耗 N 次 RTT ,這個時候需要 pipeline 來解決這個問題。

Redis pipeline 將多個命令連接在一起來減少網絡響應往返次數。

圖片

redis-pipeline

4、慢指令導致的延遲

根據上文的慢指令監控查詢文檔,查詢到慢查詢指令。可以通過以下兩種方式解決:

  • 比如在 Cluster 集群中,將聚合運算等 O(N) 操作運行在 slave 上,或者在客戶端完成。
  • 使用高效的命令代替。使用增量迭代的方式,避免一次查詢大量數據,具體請查看SCAN、SSCAN、HSCAN和ZSCAN命令。

除此之外,生產中禁用KEYS 命令,它只適用于調試。因為它會遍歷所有的鍵值對,所以操作延時高。

5、Fork 生成 RDB 導致的延遲

生成 RDB 快照,Redis 必須 fork 后臺進程。fork 操作(在主線程中運行)本身會導致延遲。

Redis 使用操作系統的多進程寫時復制技術 COW(Copy On Write) 來實現快照持久化,減少內存占用。

圖片?

寫時復制技術保證快照期間數據可修改

但 fork 會涉及到復制大量鏈接對象,一個 24 GB 的大型 Redis 實例需要 24 GB / 4 kB * 8 = 48 MB 的頁表。

執行 bgsave 時,這將涉及分配和復制 48 MB 內存。

此外,從庫加載 RDB 期間無法提供讀寫服務,所以主庫的數據量大小控制在 2~4G 左右,讓從庫快速的加載完成。?

6、內存大頁(transparent huge pages)

常規的內存頁是按照 4 KB 來分配,Linux 內核從 2.6.38 開始支持內存大頁機制,該機制支持 2MB 大小的內存頁分配。

Redis 使用了 fork 生成 RDB 做持久化提供了數據可靠性保證。

當生成 RDB 快照的過程中,Redis 采用**寫時復制**技術使得主線程依然可以接收客戶端的寫請求。

也就是當數據被修改的時候,Redis 會復制一份這個數據,再進行修改。

采用了內存大頁,生成 RDB 期間,即使客戶端修改的數據只有 50B 的數據,Redis 需要復制 2MB 的大頁。當寫的指令比較多的時候就會導致大量的拷貝,導致性能變慢。

使用以下指令禁用 Linux 內存大頁即可:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

7、swap:操作系統分頁

當物理內存(內存條)不夠用的時候,將部分內存上的數據交換到 swap 空間上,以便讓系統不會因內存不夠用而導致 oom 或者更致命的情況出現。

當某進程向 OS 請求內存發現不足時,OS 會把內存中暫時不用的數據交換出去,放在 SWAP 分區中,這個過程稱為 SWAP OUT。

當某進程又需要這些數據且 OS 發現還有空閑物理內存時,又會把 SWAP 分區中的數據交換回物理內存中,這個過程稱為 SWAP IN。

內存 swap 是操作系統里將內存數據在內存和磁盤間來回換入和換出的機制,涉及到磁盤的讀寫。?

觸發 swap 的情況有哪些呢?

對于 Redis 而言,有兩種常見的情況:

  • Redis 使用了比可用內存更多的內存;
  • 與 Redis 在同一機器運行的其他進程在執行大量的文件讀寫 I/O 操作(包括生成大文件的 RDB 文件和 AOF 后臺線程),文件讀寫占用內存,導致 Redis 獲得的內存減少,觸發了 swap。

我要如何排查是否因為 swap 導致的性能變慢呢?

Linux 提供了很好的工具來排查這個問題,所以當懷疑由于交換導致的延遲時,只需按照以下步驟排查。

1)獲取 Redis 實例 pid

$ redis-cli info | grep process_id
process_id:13160

進入此進程的 /proc 文件系統目錄:

cd /proc/13160

在這里有一個 smaps 的文件,該文件描述了 Redis 進程的內存布局,運行以下指令,用 grep 查找所有文件中的 Swap 字段。

$ cat smaps | egrep '^(Swap|Size)'
Size: 316 kB
Swap: 0 kB
Size: 4 kB
Swap: 0 kB
Size: 8 kB
Swap: 0 kB
Size: 40 kB
Swap: 0 kB
Size: 132 kB
Swap: 0 kB
Size: 720896 kB
Swap: 12 kB

每行 Size 表示 Redis 實例所用的一塊內存大小,和 Size 下方的 Swap 對應這塊 Size 大小的內存區域有多少數據已經被換出到磁盤上了。

如果 Size == Swap 則說明數據被完全換出了。

可以看到有一個 720896 kB 的內存大小有 12 kb 被換出到了磁盤上(僅交換了 12 kB),這就沒什么問題。

Redis 本身會使用很多大小不一的內存塊,所以,你可以看到有很多 Size 行,有的很小,就是 4KB,而有的很大,例如 720896KB。不同內存塊被換出到磁盤上的大小也不一樣。

敲重點了!

如果 Swap 一切都是 0 kb,或者零星的 4k ,那么一切正常。

當出現百 MB,甚至 GB 級別的 swap 大小時,就表明,此時,Redis 實例的內存壓力很大,很有可能會變慢。

2)解決方案

  • 增加機器內存;
  • 將 Redis 放在單獨的機器上運行,避免在同一機器上運行需要大量內存的進程,從而滿足 Redis 的內存需求;
  • 增加 Cluster 集群的數量分擔數據量,減少每個實例所需的內存。

8、AOF 和磁盤 I/O 導致的延遲

為了保證數據可靠性,Redis 使用 AOF 和 RDB 快照實現快速恢復和持久化。

可以使用 appendfsync 配置將 AOF 配置為以三種不同的方式在磁盤上執行 write 或者 fsync (可以在運行時使用 CONFIG SET命令修改此設置,比如:redis-cli CONFIG SET appendfsync no)。

  • no:Redis 不執行 fsync,唯一的延遲來自于 write 調用,write 只需要把日志記錄寫到內核緩沖區就可以返回。
  • everysec:Redis 每秒執行一次 fsync。使用后臺子線程異步完成 fsync 操作。最多丟失 1s 的數據。
  • always:每次寫入操作都會執行 fsync,然后用 OK 代碼回復客戶端(實際上 Redis 會嘗試將同時執行的許多命令聚集到單個 fsync 中),沒有數據丟失。在這種模式下,性能通常非常低,強烈建議使用快速磁盤和可以在短時間內執行 fsync 的文件系統實現。

我們通常將 Redis 用于緩存,數據丟失完全惡意從數據獲取,并不需要很高的數據可靠性,建議設置成 no 或者 everysec。

除此之外,避免 AOF 文件過大, Redis 會進行 AOF 重寫,生成縮小的 AOF 文件。

可以把配置項 no-appendfsync-on-rewrite設置為 yes,表示在 AOF 重寫時,不進行 fsync 操作。

也就是說,Redis 實例把寫命令寫到內存后,不調用后臺線程進行 fsync 操作,就直接返回了。

9、expires 淘汰過期數據

Redis 有兩種方式淘汰過期數據:

  • 惰性刪除:當接收請求的時候發現 key 已經過期,才執行刪除;
  • 定時刪除:每 100 毫秒刪除一些過期的 key。

定時刪除的算法如下:

  • 隨機采樣 A CTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP個數的 key,刪除所有過期的 key;

  • 如果發現還有超過 25% 的 key 已過期,則執行步驟一。

ACTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP默認設置為 20,每秒執行 10 次,刪除 200 個 key 問題不大。

如果觸發了第二條,就會導致 Redis 一致在刪除過期數據去釋放內存。而刪除是阻塞的。

碼哥,觸發條件是什么呀?

也就是大量的 key 設置了相同的時間參數。同一秒內,大量 key 過期,需要重復刪除多次才能降低到 25% 以下。

簡而言之:大量同時到期的 key 可能會導致性能波動。

1)解決方案

如果一批 key 的確是同時過期,可以在 EXPIREAT 和 EXPIRE 的過期時間參數上,加上一個一定大小范圍內的隨機數,這樣,既保證了 key 在一個鄰近時間范圍內被刪除,又避免了同時過期造成的壓力。

10、bigkey

通常我們會將含有較大數據或含有大量成員、列表數的 Key 稱之為大 Key,下面我們將用幾個實際的例子對大 Key 的特征進行描述:

  • 一個 STRING 類型的 Key,它的值為 5MB(數據過大)
  • 一個 LIST 類型的 Key,它的列表數量為 10000 個(列表數量過多)
  • 一個 ZSET 類型的 Key,它的成員數量為 10000 個(成員數量過多)
  • 一個 HASH 格式的 Key,它的成員數量雖然只有 1000 個但這些成員的 value 總大小為 10MB(成員體積過大)

bigkey 帶來問題如下:

  • Redis 內存不斷變大引發 OOM,或者達到 maxmemory 設 置值引發寫阻塞或重要 Key 被逐出;
  • Redis Cluster 中的某個 node 內存遠超其余 node,但因 Redis Cluster 的數據遷移最小粒度為 Key 而無法將 node 上的內存均衡化;
  • bigkey 的讀請求占用過大帶寬,自身變慢的同時影響到該服務器上的其它服務;
  • 刪除一個 bigkey 造成主庫較長時間的阻塞并引發同步中斷或主從切換;

1)查找 bigkey

使用 redis-rdb-tools 工具以定制化方式找出大 Key。

2)解決方案

  • 對大 key 拆分

如將一個含有數萬成員的 HASH Key 拆分為多個 HASH Key,并確保每個 Key 的成員數量在合理范圍,在 Redis Cluster 結構中,大 Key 的拆分對 node 間的內存平衡能夠起到顯著作用。

  • 異步清理大 key

Redis 自 4.0 起提供了 UNLINK 命令,該命令能夠以非阻塞的方式緩慢逐步的清理傳入的 Key,通過 UNLINK,你可以安全的刪除大 Key 甚至特大 Key。

總結

如下檢查清單,幫助你在遇到 Redis 性能變慢的時候能高效解決問題:

  • 獲取當前 Redis 的基線性能;
  • 開啟慢指令監控,定位慢指令導致的問題;
  • 找到慢指令,使用 scan 的方式;
  • 將實例的數據大小控制在 2-4GB,避免主從復制加載過大 RDB 文件而阻塞;
  • 禁用內存大頁,采用了內存大頁,生成 RDB 期間,即使客戶端修改的數據只有 50B 的數據,Redis 需要復制 2MB 的大頁。當寫的指令比較多的時候就會導致大量的拷貝,導致性能變慢。
  • Redis 使用的內存是否過大導致 swap;
  • AOF 配置是否合理,可以將配置項 no-appendfsync-on-rewrite 設置為 yes,避免 AOF 重寫和 fsync 競爭磁盤 IO 資源,導致 Redis 延遲增加。
  • bigkey 會帶來一系列問題,我們需要進行拆分防止出現 bigkey,并通過 UNLINK 異步刪除。?
責任編輯:張燕妮 來源: 碼哥字節
相關推薦

2025-03-02 11:19:52

2020-02-25 17:15:33

微盟運維數據修復

2011-03-14 14:07:38

數據庫

2019-03-13 09:27:57

宕機Kafka數據

2024-03-15 12:49:23

模型訓練

2023-12-24 22:33:32

宕機Twitter馬斯克

2022-08-09 14:23:30

谷歌宕機

2009-03-12 17:51:08

日志宕機SQL Server

2011-04-18 10:00:32

SQL Server數據庫遷移

2011-03-31 14:33:57

SQL Server最小宕機遷移

2017-07-25 14:32:55

PC開機電源

2023-08-23 08:58:43

USB 3.0機械硬盤芯片

2019-09-11 15:10:01

NoSQLSQL數據庫

2018-06-25 17:26:05

2022-05-01 10:00:23

數據庫MySQL

2023-10-23 11:22:06

Redis數據持久化

2019-06-03 14:23:59

AWS宕機光纖

2024-08-02 16:25:10

2010-09-25 15:42:26

數據庫集群Facebook

2018-11-15 12:13:46

宕機網絡服務谷歌
點贊
收藏

51CTO技術棧公眾號

国产精品第十页| 久久中文字幕一区二区| 国产日韩欧美精品电影三级在线| 国产91在线播放精品91| 九九热久久免费视频| 玖玖玖视频精品| 欧美性猛交xxxx富婆| 亚洲精品无人区| 免费av一级片| 久久精品国产亚洲高清剧情介绍 | 欧美日韩精品三区| 97av中文字幕| 北岛玲一区二区三区| 国产精品自产自拍| 国产精品久久久久高潮| 日韩av电影网址| 欧美伦理在线视频| 亚洲黄页网在线观看| 日本一二区免费| 日本蜜桃在线观看视频| 亚洲精品高清在线| 亚洲v欧美v另类v综合v日韩v| а√天堂资源在线| 蜜桃传媒麻豆第一区在线观看| 高清欧美一区二区三区| 国产精品综合激情| 亚洲瘦老头同性70tv| 日韩精品自拍偷拍| 99九九99九九九99九他书对| 欧美特黄aaaaaaaa大片| 亚洲电影第三页| 91精品国产毛片武则天| 色多多视频在线观看| 久久精品无码一区二区三区| 国产91精品一区二区绿帽| 91久久久久久久久久久久| 久久精品日产第一区二区| 国内精品久久久| 久久久精品视频免费观看| 99久久久久国产精品| 中文字幕无线精品亚洲乱码一区 | 国产精品久久久久久久av福利| 亚洲美女久久精品| 亚洲成av人**亚洲成av**| 在线观看av的网址| av免费在线观| 亚洲欧美日韩国产综合在线| 一区二区av| 午夜影院黄色片| 在线日本制服中文欧美| 日韩精品在线观看视频| 一级做a爰片毛片| 国产精品久久久网站| 亚洲成人精品av| 美女扒开腿免费视频| 中文字幕av一区二区三区四区| 91精品在线免费观看| 亚洲精品国产一区二区三区| 91国产一区| 91精品国产综合久久精品| 婷婷激情小说网| 久草在线资源站资源站| 亚洲精品高清在线| 日韩人妻无码精品久久久不卡| 青草在线视频| 午夜视频一区二区| 国产91对白刺激露脸在线观看| 亚洲优女在线| 在线视频国内自拍亚洲视频| 538任你躁在线精品免费| 四虎国产精品永久在线国在线| 欧美日韩综合不卡| 一级做a爱视频| 国产+成+人+亚洲欧洲在线| 亚洲国产精品国自产拍av秋霞| av鲁丝一区鲁丝二区鲁丝三区| 岳的好大精品一区二区三区| 亚洲天堂影视av| 秋霞网一区二区三区| 香蕉av一区二区| 九九精品在线视频| 亚洲日本视频在线观看| 免费在线观看一区二区三区| 91美女片黄在线观| 蜜臀久久久久久999| 国产日韩欧美精品综合| 精品日韩在线播放| 高清精品在线| 欧美偷拍一区二区| 女同性αv亚洲女同志| 欧美一区自拍| 色七七影院综合| 久久午夜鲁丝片午夜精品| aa国产精品| 国产日韩精品综合网站| 手机av在线免费观看| 欧美激情一区二区三区四区| 穿情趣内衣被c到高潮视频| 国产高潮在线| 欧美电影一区二区| 一区二区三区少妇| 亚洲最新av| 日韩美女免费视频| 亚洲va天堂va欧美ⅴa在线| 久久蜜桃av一区二区天堂| 最新中文字幕久久| 天堂在线中文网官网| 91精品国产福利| 成年人免费观看视频网站| 欧美激情一区| 国产精品视频一区二区三区四| 欧美一区二区三区黄片| 亚洲欧洲无码一区二区三区| 波多野结衣50连登视频| 亚洲高清在线一区| 日韩在线欧美在线| 日韩视频在线观看一区| 国产91丝袜在线播放| 亚洲国产婷婷香蕉久久久久久99| 理论不卡电影大全神| 欧美日韩精品一二三区| 性少妇bbw张开| 亚洲精品裸体| 成人激情在线观看| 爱久久·www| 91激情五月电影| 亚洲狠狠婷婷综合久久久久图片| 欧美国内亚洲| 91香蕉嫩草影院入口| 成人在线视频成人| 色综合一区二区三区| 香蕉视频污视频| 午夜国产欧美理论在线播放 | 隔壁人妻偷人bd中字| 亚洲欧美综合久久久久久v动漫| 亚洲欧洲自拍偷拍| 一区二区三区福利视频| a级精品国产片在线观看| 久青草视频在线播放| 欧美久久一区二区三区| 波霸ol色综合久久| 亚洲特级黄色片| 国产精品免费网站在线观看| 欧美黄色一级片视频| 米奇777超碰欧美日韩亚洲| 97人人爽人人喊人人模波多 | www亚洲人| 精品人伦一区二区三区蜜桃免费| 亚洲一区二区三区四区av| 欧美视频成人| 97人人模人人爽视频一区二区| 中国av在线播放| 日韩欧美自拍偷拍| 欧美精品xxxxx| 国产a久久麻豆| 国产 日韩 欧美在线| 卡一精品卡二卡三网站乱码| 97在线免费视频| 青春有你2免费观看完整版在线播放高清 | free性欧美| 亚洲精品av在线| 久久久久久久久久久影院 | 日本一级特级毛片视频| 精品一区二区在线视频| 懂色av一区二区三区四区五区| www.久久草.com| 欧美风情在线观看| 亚洲av成人精品一区二区三区在线播放| 五月天亚洲婷婷| 美女洗澡无遮挡| 久久草av在线| 国产爆乳无码一区二区麻豆| 欧美sss在线视频| 国产精品扒开腿做爽爽爽视频| 2019中文字幕在线视频| 欧美一区二区三区日韩| 日韩av男人天堂| 中文字幕av在线一区二区三区| 中文字幕12页| 夜夜嗨一区二区三区| 日韩视频在线观看国产| 精品一区二区三区在线观看视频| 欧美高清videos高潮hd| 欧美性孕妇孕交| 8x8x8国产精品| 久久夜靖品2区| 国产精品美女一区二区在线观看| 麻豆tv在线观看| 天堂久久久久va久久久久| 在线视频不卡国产| 超碰成人福利| 国产精品日日做人人爱| 暧暧视频在线免费观看| 在线视频欧美性高潮| 亚洲国产福利视频| 91国偷自产一区二区三区观看| 亚洲成人生活片| 久久精品亚洲一区二区三区浴池| 久久久九九九热| 久久美女性网| av动漫免费观看| 校花撩起jk露出白色内裤国产精品 | 国产精品一品二品| 日韩精品免费播放| 九九热播视频在线精品6| 国产精品高潮呻吟久久av野狼| a在线免费观看| 亚洲欧洲视频在线| 黄色a在线观看| 欧美精品xxxxbbbb| 一级做a爰片久久毛片| 亚洲毛片av在线| 国产一区二区三区四区在线| 99久久精品国产一区二区三区| 日韩 国产 一区| 日本最新不卡在线| 日日橹狠狠爱欧美超碰| 欧美日韩网址| 在线免费观看成人网| 精品一级毛片| 欧美日韩电影一区二区| 好吊妞视频这里有精品 | 欧美激情综合色| 麻豆电影在线播放| 伊人久久久久久久久久久久久| 五月激情婷婷综合| 精品欧美乱码久久久久久1区2区| 一级片在线观看视频| 日本电影亚洲天堂一区| 日本中文在线播放| 午夜精品福利在线| 国产一级在线免费观看| 樱桃国产成人精品视频| 91精品一区二区三区蜜桃| 国产精品理论在线观看| 懂色av粉嫩av浪潮av| 国产亚洲欧美中文| www.中文字幕av | 国产极品国产极品| 国产精品久线在线观看| 国产日韩精品中文字无码| 国产免费久久精品| 欧美熟妇激情一区二区三区| 久久久精品综合| 成年人网站免费看| 久久久久综合网| 女人十八毛片嫩草av| 国产女主播视频一区二区| 日韩av片在线| 亚洲欧洲精品天堂一级| a在线视频播放观看免费观看| 亚洲天堂成人在线观看| 国产高潮国产高潮久久久91 | 日韩小视频在线观看| 青青影院在线观看| 久久色免费在线视频| 最新超碰在线| 欧美国产亚洲精品久久久8v| 福利小视频在线| 欧美一级bbbbb性bbbb喷潮片| 二区三区不卡| 国产精品视频26uuu| 欧美一级网址| 91九色对白| 免费看久久久| 日韩免费电影一区二区| 婷婷精品进入| 欧美大黑帍在线播放| 国产毛片久久| 在线免费视频一区| 国产精品小仙女| 成人精品在线观看视频| 国产精品嫩草影院av蜜臀| 青春草免费视频| 黑人与娇小精品av专区| 又色又爽又黄无遮挡的免费视频| 91精品黄色片免费大全| 人妻无码中文字幕| 国产一区二区三区视频在线观看 | 97在线视频免费观看| 都市激情亚洲一区| 91久久久国产精品| 欧美日韩大片免费观看| 亚洲精品美女久久7777777| 欧美精品三级| 91av俱乐部| 国产激情视频一区二区在线观看| 国产精品jizz| 亚洲欧美国产77777| 天天综合天天干| 欧美一区二区久久久| 欧美在线观看在线观看| 久久精品中文字幕电影| 手机av在线| 51精品国产人成在线观看 | www.久久草.com| 久久久影院一区二区三区| 久久中文字幕av| 日本日本19xxxⅹhd乱影响| 久久99久久99精品免视看婷婷| 中文字幕一区二区三区乱码不卡| 国产精品无圣光一区二区| 久久精品免费av| 欧美日韩mp4| 免费一级在线观看播放网址| 大胆欧美人体视频| 伊人久久高清| 激情伦成人综合小说| 亚洲色图插插| 高清一区在线观看| 久久亚洲春色中文字幕久久久| 欧美卡一卡二卡三| 欧美日韩一区二区三区四区五区| 午夜视频www| 欧美成人免费在线视频| 激情久久99| 青娱乐国产91| 国产精品三上| 日韩精品人妻中文字幕有码 | 久久久午夜影院| 日韩亚洲欧美在线| 色大18成网站www在线观看| 欧美一区二区三区图| 国产成人高清精品免费5388| 亚洲 欧洲 日韩| 久久精品99久久久| 丁香花五月婷婷| 色婷婷精品大在线视频| 天天干天天色天天| 国精产品一区一区三区有限在线| 韩国三级成人在线| 中文精品一区二区三区| 麻豆91精品视频| 超薄肉色丝袜一二三| 欧美在线不卡视频| 加勒比一区二区三区在线| 欧美自拍大量在线观看| 欧美a级网站| 九九九九免费视频| 91丨九色丨尤物| 国产精品美女久久久久av爽| 亚洲国产成人一区| 国产传媒在线观看| 六十路精品视频| 蜜桃视频一区| 无码 人妻 在线 视频| 日本道免费精品一区二区三区| 你懂的在线看| 国产精品高清免费在线观看| 欧美一区2区| 亚洲精品久久久中文字幕| 国产精品入口麻豆九色| 国产精品伦理一区| 欧美插天视频在线播放| 一本色道69色精品综合久久| 国产欧美久久久久| 99久久免费视频.com| 日韩手机在线视频| 亚洲无限av看| 欧美精品入口蜜桃| 后进极品白嫩翘臀在线播放| 奇米4444一区二区三区| 欧美日本成人| 亚洲一级免费观看| 亚洲精品大片www| 天堂网在线播放| 国产91精品最新在线播放| 欧美熟乱15p| 天天操天天干天天做| 亚洲一区二区欧美| 四虎精品在永久在线观看| 国产成人精品视频| 2023国产精品久久久精品双| 香蕉视频免费网站| 91传媒视频在线播放| 黄色av网站在线播放| 国产三级精品在线不卡| 三级欧美韩日大片在线看| 国产91在线播放九色| 精品国产一二三| 亚洲精品在线影院| 久久观看最新视频| 久久亚洲二区三区| 国产av无码专区亚洲a∨毛片| 欧美国产亚洲视频| 国产成人手机高清在线观看网站| 色啦啦av综合| 黑人精品xxx一区一二区| 免费在线观看黄| 精品一区日韩成人| 极品少妇xxxx精品少妇| 色婷婷av国产精品| 久久久久北条麻妃免费看| 亚洲成a人片77777在线播放| 欧美日韩中文不卡| 欧美日韩视频在线| a毛片在线观看| 日韩欧美三级电影| 成人免费视频caoporn| 中文字幕在线观看你懂的|