亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

DB2 Performance Expert 簡化性能管理和調(diào)優(yōu) (2)

瀏覽:6日期:2023-11-07 18:31:51
 您需要具體分析使您能夠?qū)?DB2 和 DB2 應(yīng)用程序進(jìn)行控制和調(diào)優(yōu)的一些要害性能因素嗎?您希望提前診斷性能和可用性問題嗎?或者您曾在運(yùn)用 DB2 服務(wù)器時(shí)遭遇某一問題,但卻無法使用當(dāng)前的快照判定造成該問題的原因,因此希望使用歷史的監(jiān)視數(shù)據(jù)?IBM DB2 Performance Expert 就是一個(gè)能夠幫助您完成這些任務(wù)的工具。使用場景下面這些使用場景可以展示如何分析和解決各種性能問題,并在 DB2 Performance Expert V2.1 的幫助下完成故障檢修任務(wù):確定索引是否可以改進(jìn)性能 ;;;;;重新回顧排序的性能檢查對表進(jìn)行重構(gòu)的需要確保有足夠的 DB2 代理可以處理工作負(fù)載解決鎖沖突的問題使用 cache 包中提供的 SQL 語句經(jīng)常檢查數(shù)據(jù)庫分析緩沖池監(jiān)視系統(tǒng)的健康狀況確定是否需要索引DB2 PE 步驟在 System Overview 面板中選擇 Application Summary。圖 1. System OverviewDB2 Performance Expert 簡化性能管理和調(diào)優(yōu) (2)在 Application Summary 視圖中選擇適當(dāng)?shù)膽?yīng)用程序(在本例中是 db2bp.exe)。圖 2. Application Summary在 Application Details 視圖中選擇 SQL Activity。圖 3. Application Details方法圖 3中給出的 SQL Activity 界面顯示了有關(guān)應(yīng)用程序執(zhí)行的語句的信息,其中包括任務(wù)單元(UOW)、光標(biāo)、讀取的行、選擇的行等等。要判定我們是否需要索引,需要查看讀取的行與選擇的行的比率。;讀取的行與選擇的行讀取的行與選擇的行的比率說明了為了要找到目標(biāo)記錄行,一共要讀取多少行數(shù)據(jù)。假如讀取的行數(shù)與選擇的行數(shù)的比值大于推薦值,那么我們就應(yīng)該對查詢進(jìn)行分析,并對可能的索引進(jìn)行檢查。計(jì)算:(讀取的行數(shù)) / (選擇的行數(shù))理想值:對于 OLTP 來說,該值為 2 到 3結(jié)論DB2 讀取了 99,145 行,但只選擇了 2,000 行。這就是說,它讀取了整個(gè)表的內(nèi)容,卻只選擇了 2,000 行。因此,創(chuàng)建索引可能會提高性能。重新回顧排序性能  DB2 PE 步驟在 System Overview 面板中選擇 Application Summary。在 Application Summary 視圖中選擇適當(dāng)?shù)膽?yīng)用程序(在本例中是 db2bp.exe)。在 Application DetailsSelect 視圖中選擇 Sort,如 圖 4 所示。圖 4. Application Details方法Sort 界面中顯示了有關(guān)排序操作的具體信息,其中包括所有排序、所有排序時(shí)間、排序溢出、hash 連接等。排序溢出這個(gè)數(shù)字說明了排序時(shí)用光排序堆而需要磁盤空間臨時(shí)進(jìn)行存儲的行數(shù)。在數(shù)據(jù)庫或應(yīng)用程序級,使用這個(gè)元素可以計(jì)算溢出到磁盤上的排序的百分比。假如這個(gè)百分比很高,那么您可能希望通過增加排序堆來調(diào)整數(shù)據(jù)庫的配置。在語句級上,可以使用該元素判定需要大型排序的語句。這些語句可以從減少所需排序數(shù)量的其他調(diào)優(yōu)中獲益。在出現(xiàn)排序溢出情況時(shí),可能導(dǎo)致其他開銷,因?yàn)榧偃缧枰獙?shù)據(jù)寫入磁盤,那么排序需要一個(gè)合并階段,這可能需要更多的 I/O。該元素為一條語句、一個(gè)應(yīng)用程序或訪問一個(gè)數(shù)據(jù)庫的所有應(yīng)用程序都提供了有用的信息。實(shí)質(zhì)上,要排序的數(shù)據(jù)都會從緩沖池溢出到 TEMPSPACE 表空間中。;計(jì)算:(排序溢出行數(shù)) / (總排序行數(shù))理想值:對于非 DSS 型的任務(wù)來說,該值為零或接近零的值結(jié)論在出現(xiàn)排序溢出的情況時(shí),可能會造成額外的開銷,因?yàn)榧偃缫獙?shù)據(jù)寫入磁盤,那么排序就會需要一個(gè)合并階段,這可能需要更多的 I/O。為了避免出現(xiàn)這種溢出,可以增加排序堆的大小,并對查詢進(jìn)行分析,以確定查詢是否需要使用索引。檢查對表進(jìn)行重構(gòu)的需要DB2 PE 步驟在 System Overview 面板中選擇 Statistic Details。圖 5. System Overview在 Statistic Details 視圖中選擇 Tables,并選中 Receive table information。圖 6. Statistic Details  方法 Statistic Details 中的 Table 視圖給出了有關(guān)表的具體信息,其中包括表名、數(shù)據(jù)庫名、寫入的行數(shù)、讀取的行數(shù)、溢出的行數(shù)、表的文件 id、表的類型、頁面重構(gòu)等。訪問溢出的行這個(gè)數(shù)字說明了對該表中溢出行進(jìn)行存取(讀和寫)的數(shù)目。溢出行說明了數(shù)據(jù)中的碎片情況。假如這個(gè)數(shù)字很高,那么您可以通過使用 REORG 工具對表進(jìn)行重構(gòu),從而提高表的性能,這會清理數(shù)據(jù)中的碎片。當(dāng)一行數(shù)據(jù)被更新并且不再適合原來寫入的數(shù)據(jù)頁時(shí),就會出現(xiàn)行溢出的情況。這通常是對 VARCHAR 列進(jìn)行更新的結(jié)果,或者是執(zhí)行 ALTER TABLE 語句的結(jié)果。頁面重構(gòu):這個(gè)數(shù)字說明了需要對一個(gè)表進(jìn)行重構(gòu)的頁數(shù)。對太多頁進(jìn)行重構(gòu)可能會導(dǎo)致性能比優(yōu)化插入方式的性能還要低。您可以使用 REORG TABLE 工具對表進(jìn)行重構(gòu),從而消除數(shù)據(jù)碎片。您還可以使用 ALTER TABLE 語句的 APPEND 參數(shù)來說明插入某個(gè)表的所有數(shù)據(jù)都要附加到該表的末尾,以避免頁面重構(gòu)問題。在對行進(jìn)行更新導(dǎo)致該行的長度增加的情況下,雖然頁面可能有足夠的空間來容納新行,但是為了整理這段空間的碎片,可能需要對頁面進(jìn)行重構(gòu)。或者,假如頁面中沒有足夠的空間來容納更大的行,就會創(chuàng)建一條溢出記錄。您可以使用固定長度而不是可變長度的列來避免這兩種情況。結(jié)論對太多頁進(jìn)行重構(gòu)可能會導(dǎo)致性能比優(yōu)化插入方式的性能還要低。假如您有大量的頁面需要重構(gòu),可以使用 REORG TABLE 工具對表進(jìn)行重構(gòu),并消除數(shù)據(jù)碎片。調(diào)優(yōu) DB2 代理的個(gè)數(shù)現(xiàn)在,您的目標(biāo)是確保有足夠多的 DB2 代理來處理工作負(fù)載。DB2 PE 步驟在 System Overview 面板中選擇 Statistic Details。在 Statistic Details 視圖中選擇 Instance Information,如 圖 7 所示。圖 7. Statistic Details方法Statistic Details 中的 Instance Information 視圖給出了有關(guān)當(dāng)前實(shí)例的具體信息,其中包括實(shí)例名、當(dāng)前的連接數(shù)、已注冊的代理數(shù)、已注冊最大代理數(shù)、等待令牌的代理數(shù)、從緩沖池中分配的代理數(shù)、已竊取的代理數(shù)等。已注冊的代理該值說明了在正被監(jiān)視的數(shù)據(jù)庫治理實(shí)例中注冊的代理(協(xié)調(diào)代理和子代理)個(gè)數(shù)。您可以使用這個(gè)元素來幫助評價(jià)最大代理配置參數(shù)的設(shè)置。已注冊的最大代理該值是從數(shù)據(jù)庫啟動(dòng)以來,曾經(jīng)同時(shí)在數(shù)據(jù)庫治理程序中注冊的代理(協(xié)調(diào)代理和子代理)的最大個(gè)數(shù)。您可以使用這個(gè)元素來幫助評價(jià)最大代理配置參數(shù)的設(shè)置。等待令牌的代理該值是等待令牌以便在數(shù)據(jù)庫治理程序中執(zhí)行事務(wù)的代理的個(gè)數(shù)。您可以使用這個(gè)元素來幫助評價(jià)最大代理配置參數(shù)的設(shè)置。已竊取的代理:該值是從應(yīng)用程序中竊取的代理的次數(shù)。當(dāng)一個(gè)與應(yīng)用程序關(guān)聯(lián)的空閑代理被重新分配給一個(gè)普通的應(yīng)用程序執(zhí)行任務(wù)時(shí),就會出現(xiàn)代理竊取。可以用該元素來評價(jià)應(yīng)用程序?qū)ο到y(tǒng)的負(fù)載情況。; 結(jié)論假如您發(fā)現(xiàn)有"等待令牌的代理" 或 "已竊取的代理",就增大數(shù)據(jù)庫治理程序中可用代理的個(gè)數(shù)(MAXAGENTS 和/或 MAX_COORDAGENTS)。解決鎖沖突的問題DB2 PE 步驟在 System Overview 面板中選擇 Locking Conflicts。圖 8. System Overview在 Locking Conflicts 視圖中選擇適當(dāng)?shù)逆i沖突。圖 9. Locking Conflicts要分析等待某個(gè)鎖的應(yīng)用程序,請選擇 Waiter(等待鎖的)應(yīng)用程序。圖 10. 鎖沖突的應(yīng)用程序 —— waiter 應(yīng)用程序在 Application Details 視圖中選擇 SQL Statement and Package。圖 11. waiter 應(yīng)用程序的 SQL Statement and Package  在 Application Details 視圖中選擇 Locks。圖 12. waiter 應(yīng)用程序的 Locks  為了對持有鎖的應(yīng)用程序進(jìn)行分析,請選擇一個(gè) Holder(持有鎖的) 應(yīng)用程序。圖 13. 鎖沖突中的應(yīng)用程序 —— holder 應(yīng)用程序在 Application Details 視圖中選擇 SQL Statement and Package。;圖 14. holder 應(yīng)用程序的 SQL Statement and Package在 Application Details 視圖中選擇 Locks。圖 15. holder 應(yīng)用程序的 Locks  要找到哪個(gè)用戶正在運(yùn)行 holder 應(yīng)用程序,可以選擇 Application Details 視圖中的 Identification。圖 16. holder 應(yīng)用程序的 User Identification方法在 System Overview 面板中選擇 Applications in Lock Conflicts,顯示鎖沖突所設(shè)計(jì)的所有應(yīng)用程序,當(dāng)您選擇 Locking Conflicts時(shí),這些應(yīng)用程序都與一個(gè)非凡的資源相關(guān)聯(lián)。Application in Lock Conflicts 面板顯示了 holder 和 waiter 應(yīng)用程序,其中包括應(yīng)用程序的狀態(tài)、鎖的模式、鎖等待時(shí)間等。Application Details 視圖中的 SQL Statement and Package 展示了加鎖的應(yīng)用程序的 SQL 語句。Application Details 視圖中的 Locks 顯示了具體的加鎖信息,例如應(yīng)用程序所持有的鎖、檢測到的死鎖、鎖升級、等待鎖的代理等。Application Details 視圖中的 Identifcation 顯示了有關(guān)正在運(yùn)行該應(yīng)用程序的用戶的具體信息。應(yīng)用程序所持有的鎖:這個(gè)數(shù)字說明當(dāng)前的應(yīng)用程序持有多少個(gè)鎖。假如監(jiān)視信息是在數(shù)據(jù)庫級上進(jìn)行的,那么該值就是數(shù)據(jù)庫中所有應(yīng)用程序所持有的鎖的總數(shù)。假如監(jiān)視信息是應(yīng)用程序級的,那么該值就是這個(gè)應(yīng)用程序的所有代理目前持有的鎖的總數(shù)。從連接以來等待的鎖:這個(gè)數(shù)字是應(yīng)用程序或連接已經(jīng)等待鎖的次數(shù)。在數(shù)據(jù)庫級上,該值是應(yīng)用程序在這個(gè)數(shù)據(jù)庫上等待鎖的次數(shù)。而在應(yīng)用程序連接級上,該值是在某個(gè)連接請求一個(gè)鎖但由于另外一個(gè)連接正持有該數(shù)據(jù)的鎖而必須等待的次數(shù)。可以使用該元素計(jì)算在數(shù)據(jù)庫級上等待一個(gè)鎖的平均等待時(shí)間。這種計(jì)算可以在數(shù)據(jù)庫級或應(yīng)用程序連接級上進(jìn)行。假如鎖的平均等待時(shí)間很長,那么您應(yīng)該查看一下持有很多鎖的應(yīng)用程序;或者假如是這種情況導(dǎo)致等待時(shí)間過長,就對該鎖進(jìn)行升級,從而重點(diǎn)對應(yīng)用程序進(jìn)行調(diào)優(yōu),以改進(jìn)并發(fā)性。假如升級是導(dǎo)致鎖平均等待時(shí)間很長的原因,那么可能是 locklist 或 maxlocks 這兩個(gè)配置參數(shù)值中的一個(gè)太小了,也可能這兩個(gè)參數(shù)值都太小了。鎖升級這個(gè)數(shù)字說明了某個(gè)鎖作為鎖升級的一部分被升級的次數(shù)。升級的范圍可以從(一個(gè)表中的)許多行鎖到單獨(dú)某個(gè)表鎖。可以使用這個(gè)元素更好地理解死鎖的原因。假如您曾經(jīng)碰到過有關(guān)應(yīng)用程序執(zhí)行鎖升級而導(dǎo)致死鎖的情況,那么就可能希望增加鎖內(nèi)存的數(shù)量(locklist)或修改一個(gè)應(yīng)用程序可以請求某個(gè)鎖的百分比(maxlocks)。檢測到的死鎖該值是已經(jīng)出現(xiàn)死鎖的總數(shù)。可以用該元素來判定應(yīng)用程序正出現(xiàn)爭用問題。這些問題可能是由于以下情形引起的:數(shù)據(jù)庫中正在進(jìn)行鎖升級。應(yīng)用程序可能在系統(tǒng)生成足夠多的行鎖時(shí)顯式地對表進(jìn)行鎖定。應(yīng)用程序可能在綁定時(shí)使用了不恰當(dāng)?shù)母綦x級別。為了可以重復(fù)讀而鎖定目錄表。應(yīng)用程序正在對不同的訂單使用相同的鎖,從而導(dǎo)致死鎖。您可以通過判定死鎖是在哪個(gè)應(yīng)用程序(或應(yīng)用程序進(jìn)程)上產(chǎn)生的來解決問題。然后可以修改應(yīng)用程序,使其能夠更好地并行執(zhí)行。然而,有些應(yīng)用程序可能不能并行運(yùn)行。您可以使用連接的時(shí)間戳監(jiān)視元素,判定死鎖的嚴(yán)重性。例如,在 5 分鐘之內(nèi)出現(xiàn) 10 次死鎖就比在 5 小時(shí)內(nèi)出現(xiàn) 10 次死鎖嚴(yán)重得多。對上面列出的這些相關(guān)元素的描述還提供了其他一些調(diào)優(yōu)建議。;等待鎖的代理:該值說明了等待某個(gè)鎖的代理個(gè)數(shù)。這個(gè)元素是應(yīng)用程序等待某些鎖的百分比的一個(gè)指示器。假如這個(gè)數(shù)字很大,那么您的應(yīng)用程序可能存在并行問題,您應(yīng)該對現(xiàn)在持有鎖或者長期持有互斥鎖的應(yīng)用程序進(jìn)行分析。結(jié)論:檢查 waiter 和 holder 應(yīng)用程序的 SQL 語句,確定諸如應(yīng)用程序中頻繁進(jìn)行提交操作而導(dǎo)致釋放鎖或檢查應(yīng)用程序使用的隔離級別之類的操作。當(dāng)執(zhí)行很多更新時(shí),在更新之前,要在整個(gè)事務(wù)的持續(xù)時(shí)間內(nèi)鎖定整個(gè)表。雖然這樣可以只使用一個(gè)鎖,同時(shí)還可以防止其他鎖妨礙更新操作,但是這樣做會減少數(shù)據(jù)對于其他用戶的并發(fā)能力。經(jīng)常使用 cache 包中的 SQL 語句進(jìn)行檢查DB2 PE 步驟在 System Overview 面板中選擇 Statistic Details。在 Statistic Details 視圖中選擇 Dynamic SQL Statements。圖 17. Dynamic SQL Statements下拉滾動(dòng)條,查看語句的具體資料。圖 18. 語句的具體資料方法Statistic Details 中的 Dynamic SQL Statements 視圖給出了有關(guān) SQL 語句的具體信息,其中包括訪問的數(shù)據(jù)庫、執(zhí)行次數(shù)、已經(jīng)過去的執(zhí)行時(shí)間、最差和最佳的預(yù)備時(shí)間、排序,以及在選中 Receive statement cache information時(shí)每條語句占用的 CPU 時(shí)間等。通過點(diǎn)擊如 圖 17所示的標(biāo)題中的 Executions列,可以按照執(zhí)行次數(shù)對 SQL 語句進(jìn)行降序排列,這樣就可以看到執(zhí)行最頻繁的 SQL 語句。;執(zhí)行次數(shù)該值是一條 SQL 語句已經(jīng)被執(zhí)行的次數(shù)。您可以使用該元素來判定系統(tǒng)中執(zhí)行最頻繁的 SQL 語句。每條語句占用的 CPU 時(shí)間這個(gè)數(shù)字說明了一條 SQL 語句占用的所有 CPU 時(shí)間。可以將該元素與“已經(jīng)過去的執(zhí)行時(shí)間和“每條用戶語句占用的 CPU 時(shí)間一起使用,來評價(jià)語句的最大花費(fèi)。最佳預(yù)備時(shí)間:該值是預(yù)備一條特定的 SQL 語句所需要的最短時(shí)間。可以用該值來判定編譯耗時(shí)的 SQL 語句。最差預(yù)備時(shí)間:該值是預(yù)備一條特定的 SQL 語句所需要的最長時(shí)間。可以用該值來判定編譯耗時(shí)的 SQL 語句。結(jié)論這個(gè)執(zhí)行監(jiān)視元素可以您幫助判定系統(tǒng)中執(zhí)行最頻繁的 SQL 語句。在本例中,某個(gè)查詢運(yùn)行了 500 次,并且進(jìn)行了 500 次排序。這是進(jìn)行查詢優(yōu)化的很好的一個(gè)選擇,可以檢查排序值,并驗(yàn)證是否需要?jiǎng)?chuàng)建新的索引。分析緩沖池DB2 PE 步驟在 System Overview 面板中選擇 Buffer Pool Analysis。圖 19. System Overview在 Buffer Analysis 中選擇 File-> Generate new report。圖 20. 緩沖池分析圖 21顯示了緩沖池跟蹤報(bào)告的結(jié)果。圖 21. 緩沖池跟蹤報(bào)告下拉滾動(dòng)條,查看緩沖池分析的具體內(nèi)容。圖 22. 緩沖池分析的具體內(nèi)容方法 上一頁12345678910下一頁 Buffer Pool Analysis 中提供了緩沖池跟蹤報(bào)告,它以 HTML 的格式顯示,或者以可選的圖形交互式報(bào)告格式顯示。緩沖池命中率這個(gè)比率說明了為頁面請求提供服務(wù)時(shí),數(shù)據(jù)庫治理器不需從磁盤裝入頁(即該頁已經(jīng)在緩沖池中)就能處理頁請求的時(shí)間百分比。計(jì)算:BPHR = (1 - ((緩沖池?cái)?shù)據(jù)物理讀 + 緩沖池索引物理讀) /(緩沖池?cái)?shù)據(jù)邏輯讀 + 緩沖池索引邏輯讀) ) ) * 100%索引命中率這個(gè)比率表明了可以在緩沖池中找到的頁面能夠滿足的對索引頁的所有讀請求所占的百分比。計(jì)算:IHR = (1 - (緩沖池索引物理讀 / 緩沖池索引邏輯讀) ) ) * 100%數(shù)據(jù)命中率這個(gè)比率說明了可以在緩沖池中找到的頁面能夠滿足的對數(shù)據(jù)頁的所有讀請求所占的百分比。計(jì)算:DHR = (1 - (緩沖池?cái)?shù)據(jù)物理讀 / 緩沖池?cái)?shù)據(jù)邏輯讀) ) ) * 100%結(jié)論緩沖池命中率大于 80% 被認(rèn)為是理想的。對于 OLTP 系統(tǒng)來說,該值的理想情況是盡可能接近于 100% (索引命中率更是如此)。要提高緩沖池的命中率,可以增加緩沖池的大小,也可以考慮分配多個(gè)緩沖池,可以為每個(gè)經(jīng)常訪問的具有自己的表空間的大型表使用一個(gè)緩沖池,也可以為一組小型表使用一個(gè)緩沖池。監(jiān)視系統(tǒng)的健康狀況DB2 PE 步驟在 System Overview 面板中選擇 System Health。圖 23. System overview在導(dǎo)航器中選擇 Data View。圖 24. Data view  右擊 Open Predefined Data View。圖 25. Open Predefined Data View  選擇您要監(jiān)視的數(shù)據(jù)庫。圖 26. Open Predefined Data View - 選擇數(shù)據(jù)庫圖 27給出了系統(tǒng)健康狀況視圖的一個(gè)例子。圖 27. System Health View方法 System Health 視圖以圖形化的方式在數(shù)據(jù)視圖中顯示了很多重要的性能計(jì)數(shù)器。您可以使用預(yù)定義的數(shù)據(jù)視圖,也可以定制自己的數(shù)據(jù)視圖。結(jié)論 System Health 是一個(gè)理想的圖形化監(jiān)視重要性能指標(biāo)的工具。一旦定義之后,它們就可以用來在 System Overview 面板中顯示系統(tǒng)性能數(shù)據(jù)。結(jié)束語 本系列文章的第1部分對 DB2 Performance Expert 進(jìn)行了簡介,第2部分又展示了可以用來簡化數(shù)據(jù)庫調(diào)優(yōu)任務(wù)和系統(tǒng)治理工作的具體方法。您可以使用 DB2 PE 來幫助理解影響性能的多個(gè)因素,例如索引、緩沖池的使用、語句緩存、鎖、重構(gòu)要求等等。另外,它還可以用來存儲性能數(shù)據(jù),供以后分析,并根據(jù)您定義的各種因素產(chǎn)生警報(bào)。致謝 非凡感謝 IBM 開發(fā)實(shí)驗(yàn)室的 DB2 性能專家 Ute Baumbach,是他審校了這篇文章;感謝 IBM 美國高級技術(shù)支持中心的 Cintia Y Ogura,是他為本文提供了教學(xué)材料。;
標(biāo)簽: DB2 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产色图视频 | 日本一级在线播放线观看视频 | 免费一区二区三区在线视频 | 亚洲欧美激情综合第一区 | 亚洲欧美在线看 | 日韩在线视频网 | 国产成人精品免费视频大全办公室 | 欧美一区二区三区精品国产 | 免费一级a毛片在线搐放正片 | 亚洲国产成人久久综合碰碰动漫3d | 96av视频 | 国产l精品国产亚洲区久久 国产ppp在线视频在线观看 | 婷婷射| 老司机成人福利视频在线观看免费 | 最近更新中文字幕3 | 免费观看成人欧美1314www | 国产精品男人的天堂 | 97久视频精品视频在线老司机 | 欧美成人中文字幕 | 国产午夜精品鲁丝片 | 激情伊人 | 一级片一级片一级片 | 国产精品久久久久影院免费 | 手机国产日韩高清免费看片 | 女人被免费网站视频在线 | 妞干在线 | 国产成人久久综合二区 | 91网站在线播放 | 91短视频版在线观看免费 | 激情亚洲天堂 | 精品视频一区二区 | 久久国产免费福利永久 | 亚洲综合一区二区三区 | 人交性视频大全 | aaa毛片视频免费观看 | 欧美日韩国产成人精品 | a毛片免费 | 久久精品成人 | 又大又粗进出白浆直流动态图 | 国产在线播放拍拍拍 | 美国一级毛片片免费 |