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

SQL Server資源管理之內存管理篇(上)

數據庫 SQL Server
今天我們將談到的是SQL Sever資源管理中的內存管理,這也是性能調優的一個重要手段。希望對大家有所幫助。

對SQL Server來說,最重要的資源是內存、Disk和CPU,其中內存又是重中之重,因為SQL Server為了性能要求,會將它所要訪問的數據全部(只要內存足夠)放到緩存中。這篇就來介紹SQL Server的內存管理體系。

SQL Server作為Windows上運行的應用程序,必須接受Windows的資源管理,利用Windows的API來申請和調度各類資源。但是,由于Windows的資源管理體系,是為了滿足大多數的應用程序所設計的,這對于SQL Server這種定位于企業級、支持多用戶和高并發性的數據庫應用程序來說不是很適合,為此SQL Server開發了自己的一套資源管理體系——SQLOS(SQL操作系統)。也就是說SQL Server的資源管理分兩層,第一層是在Windows上,通過Windows的API來申請資源。第二層是在SQL Server上,利用SQLOS來決定如何使用從Windows那里申請來的資源。

一、操作系統層面的SQL Server內存管理

由于SQL server的內存是通過Windows的API來申請的,如果Windows自己本身就缺少內存,SQL Server由于申請不到內存,性能自然受影響。因此做SQL Server的內存檢測,第一步就是查看系統層面的內存,以確保系統本身不缺內存,這一步簡單但是必不可少。這里先介紹Windows的一些內存管理理念,然后介紹如何檢查系統的內存情況。

1、Windows的一些內存術語

Virtual Address Space(虛擬地址空間):應用程序能夠申請訪問的最大地址空間。對于32位的服務器,地址尋址空間為2的32次方,也就是4GB,但是這4GB并不是都給SQL Server使用的,默認情況下是用戶態2GB,核心態2GB,所以說對于32位的系統SQL Server只有2GB的內存可供使用。不過可以通過設置/3GB boot.int參數,來調整系統的配置,使用戶態為3GB,核心態為1GB。或者開啟AWE(地址空間擴展),將尋址空間擴展為64GB,不過該設置有缺陷,下面會分析。

Physical Memory(物理內存):也就是通常所說的電腦的內存大小。

Reserved Memory(保留地址):應用程序訪問內存的方式之一,先保留(Reserve)一塊內存地址空間,留著將來使用(SQL Server中的數據頁面使用的內存就是通過這個方式申請  的)。被保留的地址空間,不能被其他程序訪問,不然會出現訪問越界的報錯提示。

Committed Memory(提交內存):將保留(Reserve)的內存頁面正式提交(Commit)使用。

Shared Memory(共享內存):對一個以上進程可見的內存。

Private Bytes(私有內存):某進程提交的地址空間中,非共享的部分。

Working Set:進程的地址空間中存放在物理內存中的部分。

 Page Fault(頁面訪問錯誤):訪問在虛擬地址空間,但不存在于Working Set中會發生Page Fault。這個又分兩種情況,第一種是目標頁面在硬盤上,這鐘訪問會帶來硬盤讀寫,這種稱為Hard Fault。另外一種是目標頁面在物理內存中,但是不是該進程的Working Set下,Windows只需要重新定向一下,成為Soft Fault。由于Soft Hard不帶來硬盤讀寫,對系統的性能影響很小,因此管理員關心的是Hard Fault。

 System Working Set:Windows系統的Working Set。

2、Windows的內存檢測

可以通過Windows的性能監視器來檢測Windows的內存使用情況,如何使用性能監視器,可以看這篇文章《使用“性能監視器”監視系統性能/運行情況》 。在檢測內存上,比較重要的計數器有下面一些:

分析Windows系統的內存總體使用情況的計數器:

Memory:Available MBytes:系統中空閑的物理內存數。

 

Memory:Pages/Sec:由于Hard Page的發生,每秒鐘從硬盤中讀取或者寫入的頁面數。該計數器等于Memory:Pages Input/Sec與Memory:Pages Output/Sec之和。
分析Windows系統自身的內存使用情況的計數器:

Memory:Cache Bytes:系統的Working Set,也就是Windows系統使用的物理內存數。

 

對于每個進程的內存使用情況的計數器:

Process:Private Bytes:進程提交的地址空間中非共享的部分。

 

Process:Working Set:進程的地址空間中存放在物理內存中的那部分。

從這些計數器中,我們可以看到系統中是否還有空閑內存,哪個進程使用的內存最多,在發生問題的時候是否有內存使用量突變等情況。這為接下來分析SQL Server的使用提供一個前提條件。

二、SQL Server內部的內存管理

1、內存使用分類

按用途分類

1)Database cache(數據頁面)。SQL Server中的頁面都是以8KB為一個頁面存儲的。當SQL Server需要用到某個頁面時,它會將該頁面讀到內存中,使用完后會緩存在內存中。在內存沒有壓力的情況下,SQL Server不會將頁面從內存中刪除。如果SQL Server感覺到內存的壓力時,會將最長時間沒有使用的頁面從內存中刪除來空出內存。

2)各類Consumer(功能組件)

 

Connection的連接信息

General:一組大雜燴。語句的編譯、范式化、每個鎖數據結構、事務上下文、表格和索引的元數據等

Query Plan:語句和存儲過程的執行計劃。和Database cache類似,SQL Server也會將執行計劃緩存以供將來使用,減少編譯時間。

 

Optimizer:生成執行計劃的過程中消耗的內存。

Utilities:像BCP、Log Manager、Backup等比較特殊的操作消耗的內存。

3)線程內存:存放進程內每個線程的數據結構和相關信息消耗的內存,每個線程需0.5MB的內存。

4)第三方代碼消耗的內存:SQL Server的進程里,會運行一些非SQL Server自身的代碼。例如:用戶定義的CLR或Extended Stored Procedure代碼。

按申請方式分類

 

1)預先Reserve一塊大的內存,然后在使用的時候一塊一塊的Commit。Database Page是按這種方式申請的。

2)直接用Commit方式申請的內存,成為Stolen方式。除了Database Page之外其他內存基本都是按這種方式申請的。

 

按申請內存的大小分類

1)申請小于等于8KB為一個單位的內存,這些內存稱為Buffer Pool

 

2)申請大于8KB為一個單位的內存,這些內存稱為Multi-Page(或MemToLeave)

 

SQL Server對于Database Page都是采用先Reserved后Commit的方式申請的,而數據頁都是以8KB為單位進行申請的。

對于Consumer中的內存申請,一般都是按Stolen方式申請的,且大多數的執行計劃的大小都是小于8KB的,少數特別復雜的存儲過程的執行計劃會超過8KB,默認的連接的數據包是4KB,除非客戶端特別設置了超過8KB(不建議)

第三方代碼的內存申請一般是按Stolen方式申請的,個別比如CLR中可能會用Reserved/Commit的方式申請。

線程的內存每個都以0.5MB的方式申請,自然是放在MemToLeave中。

之所以花了這么大篇幅來講SQL Server的內存分類,是因為SQL Server尤其是32位的SQL Server對不同種類的內存的申請大小是不一樣的,對Commit、Stolen和MemTOLeave等類型的內存是有限制的。因此會出現系統中還有空閑內存,但是SQL Server不會申請使用的現象。

2、各部分內存的大小限制

 

 1)32位的Windows

 

在SQL Server啟動時,會預先分配好MemToLeave區域的大小。默認大小為256MB+256(SQL Server配置的允許最大線程數)* 0.5MB=384MB,因此Buffer Pool中的最大值為2GB-384MB=1.664G。如果使用了AWE技術,可以將系統的擴展地址空間達到64GB,但由于AWE擴展出來的地址只能用Reserved/Commit方式申請,為此MemToLeave的內存還是384MB,Buffer Pool中的Stolen的最大內存為1.664G,剩余的內存都可以為Database Page頁面使用。

2)64位的Windows

32位的SQL Server。由于64位的操作系統,核心態不再占用32位進程的虛擬地址空間,因此MemToLeave的大小還是為384MB,Buffer Pool可以達到3.664G。如果還開啟了AWE,這3.664GB可以全部用于Buffer Pool中的Stolen,剩余的內存都可以給Database Page頁面使用。不過這種情況很少見,哪里用64位操作系統的機器裝32位的哦-_- 。

64位的SQL Server。所有的內存都無限申請的,有需要就申請。

 

3、SQL Server內存使用情況的分析

一般來說有兩種方式,第一種就是用來分析系統內存情況時使用的用性能計數器來分析,第二種是使用動態管理視圖(DMV,只適用于SQL Server2005和2008)

1)SQL Server性能計數器

 SQLServer:Memory Manager:Total Server Memory(KB):SQL Server緩沖區提交的內存。不是SQL Server總的使用內存,只是Buffer Pool中的大小。

 SQLServer:Memory Manager:Target Server Memory(KB):服務器可供SQL Server使用的內存量。一般是由SQL Server能訪問到的內存量和SQL Server的sp_Configure配置中的Max Server Memory值中的較小值算得。

 

 SQLServer:Memory Manger:Memory Grants Pending:等待內存授權的進程總數。如果該值不為0,說明當前有用戶的內存申請由于內存壓力被延遲,這意味著比較嚴重的內存瓶頸。

 SQLServer:Buffer Manager:Buffer Cache Hit Ratio:數據從緩沖區中找到而不需要從硬盤中去取的百分比。SQL Server在運行一段時間后,該比率的變化應該很小,而且都應該在98%以上,如果在95%以下,說明有內存不足的問題。

 SQLServer:Buffer Manager:Lazy Writes/Sec:每秒鐘被惰性編輯器(Lazy writer)寫入的緩沖數。當SQL Server感覺到內存壓力的時候,會將最久沒有使用的數據頁面和執行計劃從緩沖池中清理掉,做這個動作的就是Lazy Writer。
 Page Life Expectancy:頁面不被引用后,在緩沖池中停留的秒數。在內存沒有壓力的情況下,頁面會一直待在緩沖池中,Page Life Expectancy會維持在一個比較高的值,如果有內存壓力時,Page Life Expectancy會下降。所以如果Page Life Expectancy不能維持在一個值上,就代表SQLServer有內存瓶頸。
 SQLServer:Buffer Manager:Database Pages :就是Database Cache的大小。
 SQLServer:Buffer Manager:Free Pages:SQL Server中空閑可用的大小。

 

 SQLServer:Buffer Manager:Stolen Pages:Buffer Pool中Stolen的大小。

 SQLServer:Buffer Manager:Total Pages:Buffer Pool的總大小(等于Database Pages+Free Pages+Stolen Pages)。該值乘以8KB,應該等于Memory Manager:Total Server Memory的值。

從上面這些計數器中我們就能了解SQL Server的內存使用情況,結合前面說的系統層的計數器大概能看出是否存在內存瓶頸。

 

2)內存動態管理視圖

在SQL Server 2005以后,SQL Server的內存管理是使用Memory Clerk的方式統一管理。所有的SQL Server的內存的申請或釋放,都需要通過它們的Clerk,SQL Server也通過這些Clerk的協調來滿足不同需求。通過查詢這些DMV,可以得到比用性能計數器更加詳細的內存使用情況。

我們可以通過下面的查詢語句來檢測SQL Server的Clerk的內存使用情況。

使用sys.dm_os_memory_clerks查看內存使用情況

  1. SELECT type, --Clerk的類型  
  2.     sum(virtual_memory_reserved_kb) as vm_Reserved_kb, -- 保留的內存  
  3.     sum(virtual_memory_committed_kb) as vm_Committed_kb, --提交的內存  
  4.     sum(awe_allocated_kb) as awe_Allocated_kb, -- 開啟AWE后使用的內存  
  5.     sum(shared_memory_reserved_kb) as sm_Reserved_kb, -- 共享的保留內存  
  6.     sum(shared_memory_committed_kb) as sm_Committed_kb, -- 共享的提交內存  
  7.     sum(single_pages_kb) as SinlgePage_kb, -- Buffer Pool中的Stolen的內存  
  8.     sum(multi_pages_kb) as MultiPage_kb -- MemToLeave的內存  
  9. FROM sys.dm_os_memory_clerks   
  10. GROUP BY type  
  11. ORDER BY type 

從上面的查詢語句,我們可以算出前面提到的內存大小

  1. Reserved/Commit = sum(virtual_memory_reserved_kb) / sum(virtual_memory_committed_kb)  
  2. Stolen = sum(single_pages_kb) + sum(multi_pages_kb)  
  3. Buffer Pool = sum(virtual_memory_committed_kb) + sum(single_pages_kb)  
  4. MemToLeave = sum(multi_pages_kb) 

通過上面的介紹我們可以知道SQL Server總體和各部分內存的使用情況,如果我想知道數據頁的緩存中到底緩存了哪些數據,這些數據是屬于哪個數據庫的哪個表中的呢?執行計劃又是緩存了哪些語句的執行計劃呢?這也可以通過DMV查看的到。

查看內存中的數據頁面緩存的是哪個數據庫的哪個表格的數據

 

  1. declare @name nvarchar(100)  
  2. declare @cmd nvarchar(1000)  
  3. declare dbnames cursor for 
  4. select name from master.dbo.sysdatabases  
  5. open dbnames  
  6. fetch next from dbnames into @name 
  7. while @@fetch_status = 0  
  8. begin 
  9. set @cmd = 'select b.database_id, db=db_name(b.database_id),p.object_id,p.index_id,buffer_count=count(*) from '   
  10. --這里的object_id代表是SQL Server中的對象號,index_id代表是索引號,buffer_count代表的是頁面數  
  11. + @name + '.sys.allocation_units a, ' 
  12. + @name + '.sys.dm_os_buffer_descriptors b, ' + @name + '.sys.partitions p  
  13. where a.allocation_unit_id = b.allocation_unit_id  
  14. and a.container_id = p.hobt_id  
  15. and b.database_id = db_id(''' + @name + ''')  
  16. group by b.database_id,p.object_id, p.index_id  
  17. order by b.database_id, buffer_count desc'   
  18. exec (@cmd)  
  19. fetch next from dbnames into @name 
  20. end 
  21. close dbnames  
  22. deallocate dbnames  
  23. go 

-- 根據上面取出來的@object_id找出是哪個數據庫的哪個表

  1. SELECT    s.name AS table_schema, o.name as table_name --使用的就是table_schema.table_name表  
  2. FROM    sys.sysobjects AS o INNER JOIN 
  3.           sys.schemas AS s ON o.uid = s.schema_id  
  4. WHERE    (o.id = @object_id) 

-- 根據上面取出來的@object_id和@index_id找出索引的名稱

  1. SELECT    id, indid, name as index_name -- index_name就是索引的名稱  
  2. FROM    sys.sysindexes  
  3. WHERE    (id = @object_id) AND (indid = @index_id) 

-- 根據上面取出來的表名table_schema.table_name和索引的名稱index_name,還可以找出該索引是建立在哪些字段上的

  1. EXEC sp_helpindex 'table_schema.table_name' 

查看內存中緩存的執行計劃,以及執行計劃對應的語句:

-- 輸出可能較大,請小心使用

 

  1. SELECT    usecounts, refcounts, size_in_bytes, cacheobjtype, objtype, text   
  2. FROM    sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(plan_handle)   
  3. ORDER BY objtype DESC 

寫了這么多竟然發現大多數講的還是數據收集的這一部分,相應的解決辦法還沒有講到。。。由于文章太長,具體的解決方法將在下一篇講解,下一篇將從Database Page、Stolen和Multi-Page三部分的具體瓶頸來講解。

原文鏈接:http://www.cnblogs.com/caspnet/archive/2011/02/21/1959539.html

【編輯推薦】

  1. SQL Server 2000刪除實戰演習
  2. SQL Server存儲過程的命名標準如何進行?
  3. 卸載SQL Server 2005組件的正確順序
  4. 對SQL Server字符串數據類型的具體描述
  5. SQL Server數據類型的種類與應用
責任編輯:彭凡 來源: 博客園
相關推薦

2011-02-28 08:57:10

SQL Server資內存性能調優

2023-12-15 15:14:10

yarn任務管理資源管理

2011-04-25 14:06:23

java

2009-06-24 14:18:47

資源管理敏捷項目

2013-12-21 19:58:32

SDN應用資源管理平臺SDN

2021-11-22 16:21:28

Kubernetes 運維開源

2009-10-15 08:57:45

Windows 7電源管理

2009-03-24 09:05:54

資源管理IT管理廣通信達

2010-07-23 10:36:43

SQL Server內

2010-07-19 14:17:47

SQL Server內

2013-04-18 15:53:46

SLURM開源分布式資源管理

2010-07-07 09:02:30

SQL Server內

2012-08-16 10:00:35

SQL Server內存管理

2013-12-03 18:31:43

SDN應用編排資源管理

2011-07-28 16:06:34

IOS 應用程序 資源

2021-07-19 09:47:37

阿里云Flink 1.12資源管理

2010-01-28 14:54:01

C++資源管理

2015-09-16 15:21:23

Android性能優化內存

2010-11-08 10:07:23

SQL Server內

2016-04-11 09:30:49

內存管理ios開發
點贊
收藏

51CTO技術棧公眾號

久久中文字幕在线| 在线精品视频一区二区| 国精产品99永久一区一区| 日本午夜视频在线观看| 波多野结衣在线播放一区| 69久久夜色精品国产69蝌蚪网| 黄色一级大片免费| 男人天堂亚洲二区| 国产精品亚洲第一区在线暖暖韩国| 97精品国产97久久久久久春色| 实拍女处破www免费看| 欧美经典一区| 色琪琪一区二区三区亚洲区| 永久免费网站视频在线观看| 你懂的在线网址| 国产91丝袜在线播放| 国产精品爱久久久久久久| 欧美成人综合色| 青青草成人影院| 日韩一区二区免费在线观看| 欧美伦理片在线看| 美女日批视频在线观看| 国产精品蜜臀av| 久久亚洲精品欧美| 亚洲精品综合久久| 久久精品国产在热久久| 青青草原一区二区| 国产一级在线视频| 中文视频一区| 日韩在线观看免费全集电视剧网站 | 午夜小视频在线播放| 国产一区二区免费看| 国产极品jizzhd欧美| 亚洲一区 视频| 欧美91精品| 久热99视频在线观看| 黑人と日本人の交わりビデオ| 欧美激情影院| 亚洲高清色综合| 中文字幕久久久久久久| 欧美一区二区三区婷婷| 色哟哟国产精品| 国产又大又硬又粗| 精精国产xxx在线视频app| 夜夜嗨av一区二区三区网页| 中文字幕乱码免费| 麻豆最新免费在线视频| 国产精品久久毛片av大全日韩| 日韩av不卡播放| 久久精品蜜桃| 久久久国产精品不卡| 久久艳妇乳肉豪妇荡乳av| 深夜影院在线观看| 91色.com| 日韩欧美手机在线| 国产二区视频在线观看| 国产精品免费av| 亚洲一区二三| 成人免费高清| 亚洲一区在线观看网站| 欧美精品久久久久久久久久久| 韩国日本一区| 都市激情亚洲色图| 熟妇人妻无乱码中文字幕真矢织江| xxxxx性欧美特大| 日韩欧美在线一区| 牛夜精品久久久久久久| 欧美风情在线视频| 91精品国产色综合久久不卡电影| 无套内谢丰满少妇中文字幕 | 在线播放免费av| 亚洲一区二区精品3399| 久草热视频在线观看| 午夜精品成人av| 日韩激情一二三区| 国产精品91久久久| 在线观看中文字幕网站| 国内精品在线播放| 国产精品福利视频| 天堂中文字幕在线| 中文字幕欧美区| 男女激烈动态图| 性xxxxfreexxxxx欧美丶| 色狠狠av一区二区三区| www.午夜av| 国产 日韩 欧美 综合 一区| 国产亚洲视频中文字幕视频| 波多野结衣久久久久| 亚洲性图久久| 国产精品久久久久久久美男| 国产www免费观看| 97se亚洲国产综合自在线不卡| 污视频在线免费观看一区二区三区| 免费观看在线午夜影视| 亚洲二区在线视频| www.天天射.com| 岛国精品一区| 在线视频欧美性高潮| 国产在线观看99| 美腿丝袜亚洲综合| 精品日产一区2区三区黄免费| 99re在线视频| 免费观看亚洲| 红杏一区二区三区| 亚洲国产精品嫩草影院久久| 黄色片在线观看免费| 综合国产精品| 国产精品美女呻吟| 色婷婷中文字幕| 中文字幕一区二区三区四区| 亚洲熟妇av一区二区三区漫画| 巨大黑人极品videos精品| 精品99久久久久久| www.黄色com| 亚洲影音一区| 国产乱码精品一区二区三区中文| 1024免费在线视频| 欧美视频一二三| 精品人妻在线视频| 91精品电影| 国产精品久久久久免费a∨大胸| 全国男人的天堂网| 亚洲欧美视频在线观看| 国产一级特黄a大片免费| 亚洲福利天堂| 日韩一二三四区| 亚洲性猛交xxxx乱大交| 亚洲伦理精品| 超碰在线97av| 黄色美女一级片| 亚洲色图丝袜美腿| 日本黄大片一区二区三区| 亚洲人成亚洲精品| 97免费中文视频在线观看| 国产成年妇视频| 国产精品美日韩| 五月天亚洲视频| 欧美热在线视频精品999| 亚洲性av在线| 日本高清不卡码| a亚洲天堂av| 国产精品12345| 一区二区三区国产好| 久久69精品久久久久久久电影好| 91亚洲国产成人久久精品麻豆| 欧美激情一区二区三区在线| 久久午夜夜伦鲁鲁一区二区| 精品一区二区三区中文字幕老牛| 日韩av大片在线| 免费黄色片在线观看| 在线视频欧美区| 美女久久久久久久久久| 丝袜美腿亚洲一区二区图片| 欧美在线一区二区三区四区| 亚洲成av在线| 日韩中文字幕网址| 国产精品久久久久久久久毛片 | 中文字幕免费在线不卡| 国产精品高潮久久| 久久精品成人欧美大片| 国产裸体永久免费无遮挡| 亚洲精品v日韩精品| 免费黄色av网址| 国产一区二区三区久久| 免费中文日韩| 欧美性生活一级| 美日韩精品免费观看视频| 亚洲av综合色区无码一二三区| 亚洲国产精品久久久久秋霞影院| 最近中文字幕无免费| 视频在线观看国产精品| 亚洲砖区区免费| 久久69av| 欧美一级大片在线观看| 国产高清一级毛片在线不卡| 欧美人牲a欧美精品| 久久久久亚洲av无码专区体验| 成人a免费在线看| 久久综合久久色| 这里只有精品在线| 精品麻豆av| 免费视频观看成人| 久久久久久久影院| 第三区美女视频在线| 制服丝袜在线91| 1级黄色大片儿| 中国av一区二区三区| 中文字幕无码毛片免费看| 久久av一区二区三区| 亚洲 欧洲 日韩| 亚洲va久久久噜噜噜久久| 91精品视频免费| 欧美亚洲日本精品| 久久天天躁日日躁| 男人的天堂在线视频| 日韩一区二区三区在线观看| 亚洲 欧美 日韩 在线| 伊人开心综合网| 欧美做受高潮6| 丁香网亚洲国际| 国产九九在线观看| 99精品视频免费观看| 宅男一区二区三区| 久久91麻豆精品一区| 91成人免费看| 国精品产品一区| 性色av香蕉一区二区| 久久五月精品| 亚洲午夜未满十八勿入免费观看全集| 亚洲综合欧美激情| 综合视频在线| 亚洲国产精品综合| 六月丁香久久丫| 91免费看网站| 懂色aⅴ精品一区二区三区| 午夜欧美不卡精品aaaaa| 快射av在线播放一区| 国产一区二区三区在线视频| 少妇一区二区三区四区| 日韩一区二区免费视频| 97精品人妻一区二区三区在线 | 日韩影视高清在线观看| 91在线网站视频| 久久久久伊人| 日韩av大片在线| 深夜在线视频| 2018日韩中文字幕| 国产第一页在线| 欧美久久精品午夜青青大伊人 | 欧美激情视频一区二区| 快射av在线播放一区| 中文字幕日韩在线视频| 激情在线视频| 国产亚洲福利一区| 久草在线青青草| 亚洲午夜色婷婷在线| 黄视频在线观看免费| 亚洲欧美日韩精品久久| 日本aaa在线观看| 日韩av最新在线观看| 天堂网在线资源| 亚洲国产精品成人精品| 亚洲欧美黄色片| 精品日产卡一卡二卡麻豆| 国产v片在线观看| 日韩亚洲电影在线| 国产成人精品无码高潮| 日韩免费电影一区| 亚洲精品视频网| 精品国产乱码91久久久久久网站| 欧美一区二区三区成人片在线| 亚洲精品一线二线三线无人区| 亚洲精品人妻无码| 亚洲精品国产综合区久久久久久久 | 五月天av在线| 国产成人短视频| 成人黄色毛片| 亚洲影视中文字幕| 中文字幕av一区二区三区四区| 春色成人在线视频| 狼人精品一区二区三区在线| 欧美黑人xxxxx| 精品一二三区| 超级碰在线观看| 日韩午夜一区| 粗暴91大变态调教| 免费观看日韩av| 国产黄色一区二区三区 | 亚洲v国产v欧美v久久久久久| 国产精品国产三级国产aⅴ入口| 91香蕉视频在线播放| 国产一区91精品张津瑜| 爱情岛论坛亚洲自拍| 北条麻妃国产九九精品视频| 亚洲熟妇一区二区三区| 国产精品久久夜| 国产第一页在线播放| 欧美性xxxx极品hd欧美风情| 在线观看免费黄色小视频| 日韩一级精品视频在线观看| 四虎影视在线播放| 色多多国产成人永久免费网站 | www.午夜av| 北条麻妃国产九九精品视频| 一级在线观看视频| 亚洲一区在线免费观看| 波多野结衣电车痴汉| 欧美一区二区三区免费视频| av女名字大全列表| 色诱女教师一区二区三区| caoprom在线| 久久精品成人一区二区三区| www欧美xxxx| 国产精品久久久久久久久久ktv| 精品一区二区三区中文字幕视频 | 午夜精品久久久久久不卡8050| 人人妻人人爽人人澡人人精品| 日韩一区二区在线看| 蜜桃视频在线免费| 欧美韩日一区二区| 国产第一亚洲| 免费观看成人在线| 欧美在线三级| 国产成人手机视频| 99久久精品国产一区二区三区| 中文字幕求饶的少妇| 韩曰欧美视频免费观看| 国产福利第一视频| 中文字幕亚洲图片| 九色porny视频在线观看| 91最新在线免费观看| 国内精品视频在线观看 | 蜜臀a∨国产成人精品| 国产白嫩美女无套久久| 亚洲精品视频免费看| 波多野结衣电影在线播放| 亚洲韩国日本中文字幕| 1024在线播放| 成人欧美一区二区三区在线湿哒哒| 久久99精品久久久久久园产越南| av高清在线免费观看| 国产很黄免费观看久久| www.97视频| 欧美主播一区二区三区| 你懂的在线免费观看| 8x海外华人永久免费日韩内陆视频| 国产午夜亚洲精品一级在线| 亚洲最大免费| 日本不卡视频一二三区| 亚洲a v网站| 欧美日韩亚洲精品内裤| 日本高清视频www| 欧美黑人巨大xxx极品| 午夜精品在线| 国产高清免费在线| 精品一区中文字幕| 色偷偷www8888| 欧美日韩亚洲高清一区二区| fc2在线中文字幕| 国产精品∨欧美精品v日韩精品| 一本色道久久综合狠狠躁的番外| 日韩精品视频一区二区在线观看| www日韩大片| 久久精品视频2| 国产亚洲精品久久久久久| 欧美va视频| 在线免费一区| 国内精品国产三级国产a久久| 国产精品 欧美激情| 日韩一级片网址| 欧美极品少妇videossex| 成人激情av| 日韩视频一区| 女尊高h男高潮呻吟| 91国在线观看| 在线观看免费黄视频| 国产女人18毛片水18精品| 婷婷伊人综合| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 网爆门在线观看| 这里只有精品电影| 日韩123区| 免费成人av网站| 免费成人在线网站| 精品人妻伦九区久久aaa片| 日韩久久免费av| 在线看片国产福利你懂的| 秋霞在线观看一区二区三区| 久久99精品久久久久久动态图| 欧美精品入口蜜桃| 日韩av最新在线| 欧美电影在线观看网站| 日本久久久网站| 久久综合给合久久狠狠狠97色69| 最近中文字幕免费在线观看| 久久久国产精品一区| youjizz欧美| 黄色三级视频在线| 一级中文字幕一区二区| 蜜芽tv福利在线视频| 亚洲tv在线观看| 羞羞答答国产精品www一本 | 午夜电影网一区| 搞黄视频在线观看| 2014亚洲精品| 日韩av中文字幕一区二区三区| 加勒比av在线播放| 亚洲片在线观看| 日韩免费高清视频网站| 爱福利视频一区二区| 亚洲欧美日韩人成在线播放| 日本在线一二三| 亚洲精品免费av| 视频一区免费在线观看| 免费无码毛片一区二区app| 亚洲图片在区色| 超碰cao国产精品一区二区| www.精品在线| 欧美性猛交xxxx| 韩国日本一区|