色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

壓力測(cè)試調(diào)優(yōu)實(shí)戰(zhàn):從1000到90000連接的Linux內(nèi)核參數(shù)與自動(dòng)化測(cè)試

壓力測(cè)試調(diào)優(yōu)實(shí)戰(zhàn):從1000到90000連接的Linux內(nèi)核參數(shù)與自動(dòng)化測(cè)試 簡(jiǎn)介一份測(cè)試開(kāi)發(fā)崗位的實(shí)習(xí)報(bào)告完整記錄了實(shí)習(xí)生參與運(yùn)輸網(wǎng)站安全項(xiàng)目上線的全過(guò)程。報(bào)告從實(shí)習(xí)目的與背景講起詳細(xì)展開(kāi)需求評(píng)審、需求分析、測(cè)試計(jì)劃、用例設(shè)計(jì)、測(cè)試環(huán)境搭建、執(zhí)行測(cè)試、BUG跟蹤、測(cè)試報(bào)告八個(gè)核心環(huán)節(jié)并梳理了白盒/黑盒/灰盒、靜態(tài)/動(dòng)態(tài)、單元/集成/系統(tǒng)等測(cè)試方法分類以及BUG提交單的構(gòu)成要素和實(shí)操壓力測(cè)試案例。適合軟件測(cè)試初學(xué)者、計(jì)算機(jī)專業(yè)學(xué)生及準(zhǔn)備測(cè)試開(kāi)發(fā)實(shí)習(xí)的人群參考。資源為單個(gè)doc文檔共1個(gè)文件壓縮包大小24KB目前已有442人學(xué)習(xí)下載。內(nèi)容結(jié)構(gòu)完整包含真實(shí)項(xiàng)目測(cè)試流程、壓力測(cè)試中Linux文件句柄限制的排錯(cuò)思路等能為讀者提供測(cè)試開(kāi)發(fā)崗位的實(shí)際工作認(rèn)知和實(shí)習(xí)報(bào)告撰寫(xiě)參考。1. 壓力測(cè)試從 1000 到 90000測(cè)試開(kāi)發(fā)實(shí)習(xí)里最能打的一段調(diào)優(yōu)經(jīng)歷第一天上手壓力測(cè)試我以為把客戶端連接數(shù)開(kāi)到 10 萬(wàn)就能測(cè)出服務(wù)器上限。結(jié)果客戶端跑起來(lái)不到兩秒連接數(shù)停在 1000 出頭不再上漲——不是服務(wù)器扛不住并發(fā)而是 Linux 默認(rèn)只給當(dāng)前用戶開(kāi)了 1024 個(gè)文件描述符扣掉標(biāo)準(zhǔn)輸入輸出和服務(wù)端監(jiān)聽(tīng) socket 占用的那十來(lái)個(gè)真正能分給客戶端連接的只剩 1014 個(gè)。測(cè)試開(kāi)發(fā)崗位的第一個(gè)完整任務(wù)就是把這 1014 個(gè)連接一路調(diào)到 9 萬(wàn)多。這篇文章把這段經(jīng)歷完整拆開(kāi)從測(cè)試全流程、Bug 單怎么寫(xiě)到壓力測(cè)試?yán)镂募枋龇?、端口范圍、TIME_WAIT 三層限制的逐級(jí)突破最后落到 pytest 自動(dòng)化登錄測(cè)試的落地方式。想做測(cè)試開(kāi)發(fā)的新手可以跟著走一遍寫(xiě)過(guò)一段時(shí)間用例的人也能在參數(shù)細(xì)節(jié)里翻到一些值得對(duì)照的東西。2. 測(cè)試開(kāi)發(fā)日常工作流需求評(píng)審、用例設(shè)計(jì)到 Bug 單落地的關(guān)鍵細(xì)節(jié)2.1 測(cè)試流程八階段每個(gè)階段回答什么問(wèn)題產(chǎn)出什么正式接手壓測(cè)之前先跟著測(cè)試主管完整走了一遍運(yùn)輸網(wǎng)站上線前的測(cè)試流程。看起來(lái)是八個(gè)階段但每個(gè)階段其實(shí)都在回答一個(gè)具體問(wèn)題產(chǎn)物也不只是文檔而是下一階段的輸入。把這個(gè)問(wèn)題和產(chǎn)出物對(duì)齊流程才不會(huì)變成形式。階段要回答的問(wèn)題核心產(chǎn)出需求評(píng)審需求文檔是否自洽有沒(méi)有描述不清或互相矛盾的地方評(píng)審結(jié)論與問(wèn)題清單需求分析目標(biāo)系統(tǒng)必須完成哪些工作范圍邊界在哪功能清單、需求分析說(shuō)明測(cè)試計(jì)劃需要多少人力、設(shè)備時(shí)間怎么排功能點(diǎn)如何劃分測(cè)試計(jì)劃、資源排期用例設(shè)計(jì)哪些輸入組合能覆蓋功能點(diǎn)和邊界條件測(cè)試用例集測(cè)試環(huán)境軟件、硬件、網(wǎng)絡(luò)、測(cè)試數(shù)據(jù)、工具是否滿足測(cè)試要求環(huán)境檢查單、環(huán)境配置基線執(zhí)行測(cè)試按用例跑程序?qū)嶋H結(jié)果和預(yù)期是否一致缺陷記錄、測(cè)試執(zhí)行結(jié)果Bug 跟蹤提交的缺陷是否修復(fù)修復(fù)有沒(méi)有引入新問(wèn)題回歸結(jié)果、Bug 關(guān)閉記錄測(cè)試報(bào)告當(dāng)前版本質(zhì)量是否達(dá)到上線標(biāo)準(zhǔn)測(cè)試報(bào)告、缺陷分析這個(gè)表格里的順序不能亂尤其是需求評(píng)審和需求分析很多人會(huì)把它們合并成“看一下需求”但評(píng)審的核心是“找問(wèn)題”分析的核心是“定范圍”。當(dāng)時(shí)在運(yùn)輸網(wǎng)站這個(gè)項(xiàng)目上需求評(píng)審階段就發(fā)現(xiàn)一處業(yè)務(wù)規(guī)則描述前后矛盾——用戶修改密碼后舊 token 是否立即失效文檔里寫(xiě)了兩種結(jié)論。如果這個(gè)矛盾沒(méi)有在評(píng)審階段暴露后面用例設(shè)計(jì)、執(zhí)行、回歸全部都會(huì)跟著返工。每個(gè)階段把上階段的產(chǎn)出當(dāng)作輸入問(wèn)題越早發(fā)現(xiàn)返工成本越低。2.2 測(cè)試方法選型白盒、黑盒、灰盒與階段劃分怎么對(duì)應(yīng)實(shí)踐測(cè)試方法從不同視角有不同的分類方式但落到日常測(cè)試開(kāi)發(fā)工作里選型邏輯比記憶分類本身更重要。從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)來(lái)看白盒測(cè)試要讀代碼、分析邏輯路徑一般由開(kāi)發(fā)人員自己做的單元測(cè)試覆蓋黑盒測(cè)試完全不看內(nèi)部實(shí)現(xiàn)只驗(yàn)證輸入輸出是否符合需求是功能測(cè)試和系統(tǒng)測(cè)試最常用的方式灰盒測(cè)試介于兩者之間關(guān)注接口報(bào)文、數(shù)據(jù)流不關(guān)心內(nèi)部具體實(shí)現(xiàn)——接口自動(dòng)化測(cè)試基本都屬于這一類。從是否執(zhí)行代碼的角度靜態(tài)測(cè)試靠代碼評(píng)審和靜態(tài)掃描工具做動(dòng)態(tài)測(cè)試靠真正運(yùn)行程序做。按開(kāi)發(fā)階段劃分的單元、集成、確認(rèn)、系統(tǒng)、驗(yàn)收、回歸這六類日常工作里接觸最多的是系統(tǒng)測(cè)試和回歸測(cè)試。在運(yùn)輸網(wǎng)站這個(gè)項(xiàng)目里主營(yíng)業(yè)務(wù)的登錄、訂單、運(yùn)單查詢走的是黑盒功能測(cè)試接口自動(dòng)化接近灰盒視角安全相關(guān)專項(xiàng)測(cè)試則要結(jié)合系統(tǒng)配置、權(quán)限矩陣做系統(tǒng)級(jí)驗(yàn)證。選型的關(guān)鍵不是哪種方法更高級(jí)而是被測(cè)對(duì)象處于什么階段、缺陷最容易藏在哪一層。一般情況下業(yè)務(wù)功能層面的缺陷用黑盒用例就能暴露接口層的字段校驗(yàn)和異常處理要靠灰盒接口用例兜底涉及性能和安全的部分才需要專門(mén)的壓測(cè)與安全測(cè)試介入。2.3 用例設(shè)計(jì)實(shí)操?gòu)男枨蟛鸸δ茳c(diǎn)到邊界數(shù)據(jù)用例設(shè)計(jì)是測(cè)試執(zhí)行前最重要的手工活。當(dāng)時(shí)在主管指導(dǎo)下做登錄模塊用例時(shí)用的是一套很樸素的步驟后來(lái)發(fā)現(xiàn)這套步驟放到任何業(yè)務(wù)模塊都通用。第一從需求文檔里提取功能點(diǎn)。登錄模塊的功能點(diǎn)是正確用戶名和密碼可以登錄、錯(cuò)誤密碼拒絕登錄、不存在用戶拒絕登錄、空用戶名和空密碼提示必填。第二按功能點(diǎn)拆正常場(chǎng)景和異常場(chǎng)景。正常場(chǎng)景走通主流程異常場(chǎng)景覆蓋提示信息是否準(zhǔn)確、系統(tǒng)是否報(bào)錯(cuò)而不是崩潰。第三補(bǔ)充邊界和權(quán)限場(chǎng)景。比如密碼長(zhǎng)度上下限、用戶名是否區(qū)分大小寫(xiě)、連續(xù)登錄失敗后是否有鎖定策略。第四把環(huán)境相關(guān)的前提寫(xiě)進(jìn)前置條件。比如本地?cái)?shù)據(jù)庫(kù)是否存在對(duì)應(yīng)測(cè)試賬號(hào)、是否需要先清空登錄鎖定記錄。這套步驟的關(guān)鍵在于“先列功能點(diǎn)再設(shè)計(jì)數(shù)據(jù)”而不是拿著需求文本直接寫(xiě)用例。功能點(diǎn)列的越全測(cè)試數(shù)據(jù)的針對(duì)性越強(qiáng)。用例設(shè)計(jì)完一定要評(píng)審評(píng)審時(shí)開(kāi)發(fā)會(huì)從實(shí)現(xiàn)角度指出一些不可能出現(xiàn)的輸入產(chǎn)品會(huì)從業(yè)務(wù)角度補(bǔ)充一些真實(shí)用戶會(huì)做的操作兩輪評(píng)審下來(lái)遺漏率會(huì)明顯下降。2.4 一份定位不靠問(wèn)的 Bug 單要素與判斷標(biāo)準(zhǔn)實(shí)習(xí)期間最受用的一句話是優(yōu)秀的 Bug 單開(kāi)發(fā)不用跑來(lái)問(wèn)測(cè)試就能知道怎么重現(xiàn)。判斷一個(gè) Bug 單是否合格不是看描述寫(xiě)了多少字而是看開(kāi)發(fā)拿到單子之后能否不依賴任何口述獨(dú)立復(fù)現(xiàn)問(wèn)題并理解影響范圍。一份完整的 Bug 單至少要覆蓋 12 類信息所屬系統(tǒng)、發(fā)現(xiàn)的版本、所屬模塊、提交人、錯(cuò)誤類型、重現(xiàn)概率、嚴(yán)重級(jí)別、優(yōu)先級(jí)、標(biāo)題、Bug 單號(hào)、Bug 內(nèi)容、附件。其中最容易敷衍的是標(biāo)題和重現(xiàn)步驟常見(jiàn)錯(cuò)誤是直接把測(cè)試用例的名字復(fù)制一遍比如“登錄模塊測(cè)試001失敗”這種標(biāo)題對(duì)定位沒(méi)有任何幫助。合格的標(biāo)題應(yīng)該一句話說(shuō)清“什么功能在什么條件下出了什么問(wèn)題”例如“修改密碼后舊 token 仍可訪問(wèn)訂單接口”。下面是一個(gè)可以直接套用的示例字段示例內(nèi)容所屬系統(tǒng)運(yùn)輸網(wǎng)站-客戶管理模塊發(fā)現(xiàn)的版本V1.2.3所屬模塊登錄認(rèn)證錯(cuò)誤類型代碼錯(cuò)誤重現(xiàn)概率必現(xiàn)嚴(yán)重級(jí)別嚴(yán)重優(yōu)先級(jí)高標(biāo)題修改密碼后舊 token 仍可請(qǐng)求訂單接口重現(xiàn)步驟1. 登錄獲取 token 2. 修改密碼 3. 攜帶舊 token 請(qǐng)求訂單列表預(yù)期結(jié)果返回 401要求重新登錄實(shí)際結(jié)果返回 200 和訂單列表數(shù)據(jù)附件舊 token 請(qǐng)求日志、接口響應(yīng)截圖提交 Bug 時(shí)盡量附上截圖并做標(biāo)注操作過(guò)程說(shuō)明清楚。字不如圖描述半天的文本信息量可能不如一張帶紅框標(biāo)注的截圖。重現(xiàn)概率、嚴(yán)重級(jí)別、優(yōu)先級(jí)三個(gè)字段要分開(kāi)填重現(xiàn)概率描述穩(wěn)定性嚴(yán)重級(jí)別描述對(duì)用戶的影響程度優(yōu)先級(jí)描述修復(fù)的緊迫性。比如一個(gè)只在特定瀏覽器出現(xiàn)的頁(yè)面布局錯(cuò)位嚴(yán)重級(jí)別是“一般”優(yōu)先級(jí)可以是“低”但一個(gè)會(huì)導(dǎo)致用戶訂單數(shù)據(jù)錯(cuò)亂的場(chǎng)景即使出現(xiàn)概率是“小概率”嚴(yán)重級(jí)別也必須是“嚴(yán)重”優(yōu)先級(jí)要提到“高”。填這三個(gè)字段時(shí)想的不是“這個(gè) bug 多嚴(yán)重”而是“如果我是項(xiàng)目負(fù)責(zé)人看到這張單子會(huì)先安排誰(shuí)處理”。3. TCP 連接壓力測(cè)試的三層限制ulimit、端口范圍與 TIME_WAIT 內(nèi)核參數(shù)3.1 壓測(cè)目標(biāo)與初始現(xiàn)象默認(rèn)只能建立 1014 個(gè)連接壓力測(cè)試是進(jìn)入公司后獨(dú)立完成的第一個(gè)完整測(cè)試任務(wù)。被測(cè)系統(tǒng)是基于 TCP/IP 的 C/S 架構(gòu)服務(wù)端監(jiān)聽(tīng)固定端口客戶端通過(guò)循環(huán)不斷發(fā)起連接請(qǐng)求目標(biāo)是驗(yàn)證服務(wù)器最多能響應(yīng)多少個(gè)并發(fā)客戶端連接。每成功建立一個(gè)客戶端連接服務(wù)端就維護(hù)一個(gè)連接計(jì)數(shù)。用客戶端腳本把目標(biāo)并發(fā)數(shù)開(kāi)到 10 萬(wàn)后連接數(shù)到 1000 出頭就停住了。用ulimit -n查看發(fā)現(xiàn)當(dāng)前用戶最多同時(shí)打開(kāi) 1024 個(gè)文件。Linux 下一切皆文件socket 也是文件描述符的一種每建立一個(gè) TCP 連接就要消耗一個(gè)文件描述符1024 個(gè)文件描述符扣掉標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤、服務(wù)端監(jiān)聽(tīng) socket 等固有占用可用的連接名額只剩 1014 個(gè)。這就是壓測(cè)上不去的第一層瓶頸。3.2 第一層限制文件描述符與 limits.conf文件描述符限制分軟限制和硬限制兩層。軟限制是當(dāng)前會(huì)話內(nèi)可以隨時(shí)調(diào)低或調(diào)高的值硬限制是軟限制可以到達(dá)的上限。直接執(zhí)行ulimit -n 100000會(huì)失敗因?yàn)樾薷暮蟮臄?shù)值超過(guò)了硬限制這是 Linux 防止普通用戶無(wú)限消耗系統(tǒng)資源的一道閘門(mén)。正確的修改方式是編輯/etc/security/limits.conf給指定用戶配置 nofile 的軟硬限制# 編輯 /etc/security/limits.conf追加以下兩行 # 第一列是用戶名第二列是限制類型第三列是資源項(xiàng)目第四列是數(shù)值 speng soft nofile 100000 speng hard nofile 100000軟限制和硬限制要一起放開(kāi)只調(diào) soft 不調(diào) hard后續(xù)進(jìn)程運(yùn)行中如果嘗試再次提升軟限制仍然會(huì)被硬限制擋住。修改后需要重新登錄會(huì)話同時(shí)要確認(rèn)/etc/pam.d/login里有session required pam_limits.so這一行否則登錄會(huì)話不會(huì)去讀取 limits.conf 的配置。這個(gè)文件決定的是用戶在登錄階段能不能獲得配置的限額很多人改完 limits.conf 發(fā)現(xiàn)ulimit -n沒(méi)變就是漏了 pam 模塊。3.3 第二層限制fs.file-max 與本地端口范圍文件描述符放開(kāi)之后繼續(xù)壓測(cè)仍然遠(yuǎn)遠(yuǎn)達(dá)不到 10 萬(wàn)而且結(jié)果不穩(wěn)定。此時(shí)用cat /proc/sys/fs/file-max查看系統(tǒng)級(jí)最大文件數(shù)發(fā)現(xiàn)數(shù)值只有一萬(wàn)多。這個(gè)值是根據(jù)內(nèi)核參數(shù)和硬件資源計(jì)算出來(lái)的系統(tǒng)級(jí)硬上限是所有進(jìn)程加起來(lái)的文件描述符總量不是單個(gè)用戶的限制。它受內(nèi)存影響同一個(gè)環(huán)境下不同機(jī)器的值可能差很多不能用機(jī)器 A 的數(shù)值去倒推機(jī)器 B 的容量。繼續(xù)往上走還會(huì)遇到端口范圍限制。TCP 連接的四元組是“源 IP、源端口、目標(biāo) IP、目標(biāo)端口”壓測(cè)客戶端作為主動(dòng)連接方每建立一個(gè)連接都要占用一個(gè)本地端口。端口號(hào)只有 16 位最大只能是 65535Linux 默認(rèn)的本地端口范圍通常是 32768 到 60999可用端口數(shù)有限連接數(shù)自然上不去。修改/etc/sysctl.conf擴(kuò)大本地端口范圍# 編輯 /etc/sysctl.conf追加 net.ipv4.ip_local_port_range 1024 65535 # 執(zhí)行 sysctl -p 使配置生效1024 以下為特權(quán)端口一般不改動(dòng)65535 是 16 位端口號(hào)的上限所以最大只能配置到這個(gè)值。修改后理論上能承擔(dān)的并發(fā)連接從兩三萬(wàn)擴(kuò)展到六萬(wàn)多但實(shí)測(cè)仍然達(dá)不到 10 萬(wàn)而且結(jié)果時(shí)高時(shí)低。到這里已經(jīng)能明確判斷問(wèn)題不在連接數(shù)量的初始配額而在連接的生命周期管理上。3.4 第三層限制TIME_WAIT 堆積與內(nèi)核參數(shù)用 netstat 統(tǒng)計(jì)當(dāng)前 TCP/IP 連接狀態(tài)分布命令是netstat -an | awk /^tcp/{s[$NF]} END {for(a in s) print a, s[a]}輸出里 TIME_WAIT 數(shù)量非常多。TIME_WAIT 是主動(dòng)關(guān)閉連接的一方在收到對(duì)端 FIN 后進(jìn)入的狀態(tài)默認(rèn)要等待 2 個(gè) MSL最大報(bào)文段生存時(shí)間通常是 60 秒左右。壓測(cè)場(chǎng)景下客戶端每建一個(gè)連接就斷開(kāi)大量連接短時(shí)間進(jìn)入 TIME_WAIT舊的連接還沒(méi)釋放完新的連接已經(jīng)占不到端口和連接表項(xiàng)了。這才是連接數(shù)上不去的根本原因。在 /etc/sysctl.conf 里追加一組連接回收相關(guān)的內(nèi)核參數(shù)# 開(kāi)啟 TIME_WAIT socket 重用允許將其用于新的 TCP 連接 net.ipv4.tcp_tw_reuse 1 # 開(kāi)啟 TIME_WAIT socket 快速回收內(nèi)核 4.12 后已移除新環(huán)境勿用 net.ipv4.tcp_tw_recycle 0 # 縮短 TIME_WAIT 等待時(shí)間這里設(shè)置為 5 秒 net.ipv4.tcp_fin_timeout 5 # 加大 SYN 隊(duì)列長(zhǎng)度容納更多等待連接的請(qǐng)求 net.ipv4.tcp_max_syn_backlog 8192這里有一個(gè)容易踩的坑原文資料里寫(xiě)的net.ipv4.tcp_tw_fin_timewait參數(shù)名是錯(cuò)的內(nèi)核里對(duì)應(yīng)的是net.ipv4.tcp_fin_timeout直接照抄舊參數(shù)名sysctl -p會(huì)報(bào)“沒(méi)有這個(gè)鍵”。另一個(gè)坑是tcp_tw_recycle它在 Linux 4.12 版本已經(jīng)被移除而且它在 NAT 環(huán)境下開(kāi)啟會(huì)導(dǎo)致隨機(jī)丟包讓部分用戶連接異?!,F(xiàn)在的新環(huán)境不要開(kāi) recycle用tcp_tw_reuse配合縮短tcp_fin_timeout就夠用。當(dāng)年在實(shí)習(xí)環(huán)境里開(kāi)啟后確實(shí)大幅回收了 TIME_WAIT但那是舊內(nèi)核下的行為換成生產(chǎn)環(huán)境不能照搬。調(diào)優(yōu)之后重新執(zhí)行壓測(cè)連接數(shù)從一萬(wàn)多穩(wěn)步上升到 9 萬(wàn)多接近預(yù)設(shè)的 10 萬(wàn)目標(biāo)。整個(gè)鏈路整理下來(lái)是這樣一個(gè)遞進(jìn)關(guān)系限制層級(jí)關(guān)鍵配置生效方式常見(jiàn)坑文件描述符ulimit -n / limits.conf重新登錄、pam_limits.so只改 soft 不改 hard或漏掉 pam 模塊系統(tǒng)文件數(shù)fs.file-max內(nèi)核自動(dòng)計(jì)算系統(tǒng)級(jí)上限受硬件資源影響端口范圍ip_local_port_rangesysctl -p16 位上限最大只能 65535連接回收tcp_tw_reuse / tcp_fin_timeoutsysctl -ptw fin 參數(shù)名易寫(xiě)錯(cuò)recycle 新內(nèi)核已移除3.5 客戶端壓測(cè)腳本循環(huán)建連與并發(fā)控制調(diào)優(yōu)過(guò)程中用到的壓測(cè)腳本并不復(fù)雜核心就是循環(huán)建連加并發(fā)控制。用 Python 的 socket 和 threading 就可以完成# load_test.py import socket import threading import time target_ip 192.168.1.100 # 被測(cè)服務(wù)端地址 target_port 8080 # 被測(cè)服務(wù)端端口 target_count 100000 # 目標(biāo)連接總數(shù) success 0 # 成功連接計(jì)數(shù) lock threading.Lock() # 線程安全計(jì)數(shù)器 def connect_once(): global success try: s socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(3) s.connect((target_ip, target_port)) with lock: success 1 time.sleep(600) # 保持連接讓服務(wù)端維持并發(fā)數(shù)量 except Exception as e: print(str(e)[:80]) # 只打印錯(cuò)誤片段避免刷屏 threads [] for i in range(target_count): t threading.Thread(targetconnect_once) t.start() threads.append(t) time.sleep(0.001) # 減緩建連速率避免客戶端句柄瞬間耗盡 for t in threads: t.join() print(success:, success)connect_once里每個(gè)線程建立一個(gè) socket 連接成功后保持連接不釋放這樣服務(wù)端的并發(fā)連接數(shù)才會(huì)持續(xù)累計(jì)。time.sleep(0.001)控制建連速率毫秒級(jí)間隔可以讓連接請(qǐng)求更接近生產(chǎn)環(huán)境的真實(shí)到達(dá)模式避免瞬間打滿客戶端自身資源導(dǎo)致誤判。計(jì)數(shù)用 lock 保護(hù)因?yàn)槎嗑€程下對(duì) success 的并發(fā)寫(xiě)會(huì)導(dǎo)致計(jì)數(shù)丟失。注意客戶端自身也有文件描述符上限如果目標(biāo)是 10 萬(wàn)連接單機(jī)客戶端不一定能扛住常見(jiàn)做法是拆成多臺(tái)壓測(cè)機(jī)分布式執(zhí)行或者用協(xié)程替代線程降低客戶端資源占用。4. pytest 自動(dòng)化測(cè)試實(shí)現(xiàn)fixture 前置處理與 parametrize 參數(shù)化登錄用例4.1 為什么是 pytestfixture、參數(shù)化和斷言機(jī)制壓力測(cè)試解決的是“服務(wù)器能扛多少”的問(wèn)題自動(dòng)化測(cè)試解決的是“每次改版后這些功能還能不能跑通”的問(wèn)題。公司自動(dòng)化測(cè)試選了 pytest 框架原因集中在三點(diǎn)fixture 可以復(fù)用測(cè)試前置邏輯parametrize 可以天然生成用例組合斷言直接使用 Python 原生 assert不需要額外學(xué)習(xí)一套斷言 API。比起 unittest 的類繼承結(jié)構(gòu)pytest 函數(shù)式的組織方式對(duì)測(cè)試開(kāi)發(fā)更友好寫(xiě)起來(lái)也短很多。4.2 fixture執(zhí)行前的準(zhǔn)備和執(zhí)行后的清理fixture 用來(lái)處理“執(zhí)行測(cè)試前需要做的事”和“執(zhí)行測(cè)試后需要收尾的事”。登錄測(cè)試場(chǎng)景里每個(gè)用例執(zhí)行前需要清理掉上次登錄失敗留下的鎖定記錄用例執(zhí)行后需要把環(huán)境復(fù)位避免影響下一個(gè)用例。這兩件事在 pytest 里用一個(gè) fixture 就能完成# test_login.py 中的 fixture 定義 import pytest from login import login # 被測(cè)函數(shù)實(shí)際項(xiàng)目中對(duì)應(yīng)登錄接口封裝 pytest.fixture def clean_login_lock(): # 用例執(zhí)行前清空登錄失敗鎖定記錄 print(clean login lock records) yield # yield 之前是前置yield 之后是清理 # 用例執(zhí)行后復(fù)位環(huán)境 print(reset environment)yield 之前的代碼在用例執(zhí)行前運(yùn)行yield 之后的代碼在用例結(jié)束后運(yùn)行不管用例通過(guò)還是失敗清理代碼都會(huì)執(zhí)行。這一點(diǎn)比在用例里手動(dòng)寫(xiě) try/finally 干凈很多。如果多個(gè)測(cè)試文件都需要這個(gè) fixture就把它放到 conftest.py 里pytest 會(huì)自動(dòng)發(fā)現(xiàn)不需要顯式 import。4.3 parametrize 參數(shù)化登錄用例組合與 ids 可讀化登錄測(cè)試的特點(diǎn)是同一個(gè)入口、多組輸入數(shù)據(jù)。用 mark.parametrize 把用例數(shù)據(jù)抽出來(lái)一組參數(shù)就是一條用例不需要為每個(gè)輸入組合寫(xiě)一個(gè)測(cè)試函數(shù)。參數(shù)化配合 ids 可以讓每條用例在測(cè)試報(bào)告中顯示為可讀的名稱方便定位是哪組數(shù)據(jù)掛在哪個(gè)用例上# test_login.py pytest.mark.parametrize( username, password, expected_code, [ (admin, admin123, 0), # 正確憑證預(yù)期成功 (admin, wrong, 1), # 密碼錯(cuò)誤預(yù)期拒絕 (guest, guest123, 1), # 無(wú)權(quán)限用戶預(yù)期拒絕 (, , 1), # 空用戶名和密碼預(yù)期提示必填 ], ids[correct, wrong-password, no-permission, empty-fields] ) def test_login(clean_login_lock, username, password, expected_code): result login(username, password) assert result[code] expected_codeparametrize 第一個(gè)參數(shù)是參數(shù)字段名第二個(gè)參數(shù)是數(shù)據(jù)列表ids 負(fù)責(zé)給每個(gè)組合起名。執(zhí)行時(shí) pytest 會(huì)把 username、password、expected_code 三組值注入到測(cè)試函數(shù)里每組數(shù)據(jù)生成一條獨(dú)立用例。fixture 參數(shù)放在 parametrize 參數(shù)之前pytest 會(huì)自動(dòng)先執(zhí)行 fixture 再執(zhí)行用例。實(shí)際項(xiàng)目中 login 函數(shù)通常替換為 requests.post 調(diào)登錄接口返回值從字典變成了接口響應(yīng)但測(cè)試結(jié)構(gòu)完全一致。4.4 運(yùn)行與結(jié)果解讀在項(xiàng)目目錄下執(zhí)行pytest test_login.py -v-v 參數(shù)輸出每條用例的詳細(xì)執(zhí)行結(jié)果可以看到類似下面的輸出test_login.py::test_login[correct] PASSED test_login.py::test_login[wrong-password] PASSED test_login.py::test_login[no-permission] PASSED test_login.py::test_login[empty-fields] PASSED方括號(hào)里的內(nèi)容就是 ids 設(shè)置的名字。如果某條用例失敗pytest 會(huì)把 assert 前后的實(shí)際值和預(yù)期值直接對(duì)比展示出來(lái)不用加額外的日志就能看到是哪里不匹配。這里有個(gè)細(xì)節(jié)parametrize 里如果數(shù)據(jù)量很大比如要跑幾十組賬號(hào)密碼組合ids 不寫(xiě)也可以pytest 會(huì)自動(dòng)用參數(shù)值做標(biāo)識(shí)但參數(shù)值包含特殊字符時(shí)會(huì)很難讀所以 ids 建議在用例矩陣固定后統(tǒng)一補(bǔ)充。5. 壓測(cè)與回歸的工程化技巧環(huán)境體檢腳本、JVM 內(nèi)存防 OOM 與 Jenkins 接入5.1 壓測(cè)前環(huán)境體檢腳本壓測(cè)調(diào)優(yōu)踩過(guò)的坑第二次就不該用試錯(cuò)方式再走一遍。把三類限制和連接狀態(tài)統(tǒng)計(jì)寫(xiě)成一個(gè)體檢腳本壓測(cè)前先跑一遍確認(rèn)每一項(xiàng)都處于放開(kāi)狀態(tài)效率會(huì)比邊壓測(cè)邊查高很多#!/bin/bash # 壓測(cè)前體檢逐項(xiàng)打印資源限制和連接狀態(tài) echo 當(dāng)前進(jìn)程文件描述符上限 ulimit -n echo 系統(tǒng)級(jí)文件描述符上限 cat /proc/sys/fs/file-max echo 本地端口范圍 cat /proc/sys/net/ipv4/ip_local_port_range echo 連接回收相關(guān)內(nèi)核參數(shù) sysctl net.ipv4.tcp_tw_reuse net.ipv4.tcp_fin_timeout net.ipv4.tcp_max_syn_backlog 2/dev/null echo 目標(biāo)端口連接狀態(tài)分布 netstat -an | grep :8080 | awk {print $6} | sort | uniq -c最后一行統(tǒng)計(jì)目標(biāo)端口當(dāng)前 TCP 狀態(tài)分布用sort | uniq -c做分組計(jì)數(shù)可以直接看到 ESTABLISHED 和 TIME_WAIT 的數(shù)量級(jí)。判斷邏輯很簡(jiǎn)單TIME_WAIT 數(shù)量持續(xù)增長(zhǎng)說(shuō)明回收參數(shù)沒(méi)生效ulimit 值低于預(yù)期說(shuō)明 limits.conf 或 pam 配置不對(duì)端口范圍最大值小于 65535說(shuō)明 sysctl.conf 沒(méi)有加載成功。5.2 壓測(cè)客戶端的 JVM 內(nèi)存配置與 OOM壓測(cè)過(guò)程中服務(wù)端會(huì)不斷優(yōu)化但客戶端自身也會(huì)成為瓶頸。如果壓測(cè)工具是基于 JVM 的比如 Gatling 或自研的 Java 壓測(cè)客戶端高并發(fā)下最容易出現(xiàn)的是堆內(nèi)存溢出和頻繁 Full GC。每個(gè) socket 連接在 JVM 內(nèi)部對(duì)應(yīng)著對(duì)象和緩沖區(qū)連接數(shù)上來(lái)之后堆內(nèi)存占用會(huì)快速膨脹。開(kāi)發(fā)測(cè)試階段就合理設(shè)置 JVM 運(yùn)行內(nèi)存能提前避免這類 OOM 問(wèn)題java -Xms2g -Xmx4g -XX:UseG1GC -XX:MaxDirectMemorySize1g -jar load-client.jar-Xms 和 -Xmx 控制堆內(nèi)存的初始值和最大值壓測(cè)工具建議把兩者設(shè)置為相同值避免運(yùn)行中動(dòng)態(tài)擴(kuò)容引發(fā)停頓。-XX:MaxDirectMemorySize 限制堆外直接內(nèi)存NIO 場(chǎng)景下 socket 讀寫(xiě)緩沖走的是直接內(nèi)存這個(gè)值太小同樣會(huì)拋 OOM。還要注意給操作系統(tǒng)預(yù)留余量堆內(nèi)存加直接內(nèi)存不要超過(guò)物理內(nèi)存的 70%否則內(nèi)存換出會(huì)直接拉高壓測(cè)延遲測(cè)出來(lái)的數(shù)據(jù)失真。5.3 把 pytest 用例接進(jìn) Jenkins 做發(fā)版回歸壓測(cè)確認(rèn)容量自動(dòng)化測(cè)試守住功能兩者最終要在持續(xù)集成里匯合。Jenkins 的構(gòu)建任務(wù)里加一個(gè)執(zhí)行 shell 的構(gòu)建步驟跑pytest test_login.py -v --junitxmlreport.xmlpytest 會(huì)把結(jié)果輸出成 JUnit 格式的 XMLJenkins 再配一個(gè) JUnit 插件把 XML 解析成趨勢(shì)圖每次發(fā)版前自動(dòng)跑一遍登錄用例。用例少的時(shí)候這個(gè)流程看不出優(yōu)勢(shì)但用例集到幾百條之后手動(dòng)回歸一次要一兩個(gè)小時(shí)Jenkins 自動(dòng)跑只需要幾分鐘而且每次代碼提交都能觸發(fā)不用等人想起來(lái)才執(zhí)行。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
男男H黄动漫啪啪无遮挡网站| 国产精品一二三免费网站| 亚洲AV无码国产成人| 精品区9| 国产熟码AV| 无码高清操逼网址| 东北黄色电影| 91白虎| 国产精品视频白浆免费| WWW.加勒比人妻一区不卡.com| 久热这里只有精品9| 中文字幕亚洲热播人妻| 亚洲人精品久久久| 亚洲国产成人福利在线观看| 天天日天天操VV| 欧美精品一区二区少妇免费A片 | 一区二区三区蜜桃成人撸久久东京热| 日本人妻最新在线中| 超碰在线人妻| 另类图片五月天| 91人妻尻屄视频| 天天日美女的B| 久久 国产 无码| 日韩精品高清资源在线| 搡老女人911熟妇老熟女| 五月综合色| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 日韩卡一卡二卡三在线| 综合性视频99| 少妇人妻精品| 最新三级网址| 亚洲欧美91√| 9l视频自拍9l九色成人| 9精品久久久久| 男人的天堂啪啪啪啪啪蜜桃不卡| 久热一区二区| 精品人妻1237| 三级AV入口| 怡春苑东京热| 好吊色一区| 日韩肏逼视频| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 人人妻人人澡人人爽人人精品浪潮| 精品一区二区成人动漫| 国产高清午夜成人在线观看| 乱欲性色| 色综合99| 美女被啪到深处抽搐视频| 青青草自拍视频在线播放| 青草精品视频-日本久久久久网站| 五月丁香婷婷啪啪| 中文字幕奈奈美被公侵犯| 亚洲91网站| 色爱三区| 久草午夜| 国产精品久久久九九九| 无码自拍SM| 人妻精品一区二区三区| 亚洲综合校园春色| 激情网五月天| 国产丝袜欧美在线视频| 亚洲图片 欧美电影| 欧美色五月| 亚洲一卡二卡在线免费| 91中文字幕在线观看| 殴美牲| 手机在线免费看的av| 97在线观看免费| www.99视频| 黄片免费日韩| 91亚洲丝袜熟女| 91蜜臀在线久久久久| 一区二区精品日韩欧美在线观看| 国内一区二区免费| 欲香欲色综合天天伊人| 做爱福利视频一区二区| Av色五月| 日本福利二区视频| 青娱乐国产精品| 91骚熟女| 亚洲欧美视| 超碰97玖玖爱| 丁香婷婷激情五月天无毒不卡| 国产高清成人传媒影视| 久久青青草原免费视频| 欧美亚洲素人制服精品| 4虎在线观看| 国产乱人妻精品入口| 日本三级韩国三级美三级91| 暖暖精品二区三区观看| 色色色网站| 333kkkk·亚洲com久久| 亚洲激情在线观看一区| 97天堂| 啊啊啊 在线| 亚州色国| 磁力99AV| 大香蕉欧美国产日韩高潮| 婷婷久久综合| 被体育老师抱着c到高潮| 一卡二卡三卡| 九九九久| 中文字幕av片| 久久影视二区三区行押| 粉嫩久久久久| 青娱乐蜜桃臀AV色婷| 嗯嗯嗯嗯啊啊啊好紧好大| 综合久久中文字幕综合日韩精品| 一区二区三区黄片免费观看| 亚洲熟伦熟妇AV无码春色| 亚洲精品99999| 一本色道久久综合精品婷婷| 久久精品成人| 91制服丝袜中文字幕| 中出91视频| 九九av| 99啪啪| 91高跟美女在线播放| 亚洲色图欧美色图制服丝袜| 国模限制级电影| 激情色播| 精品毛片久久久精品毛片| av日韩国产一区二区| 久久久久久久伊人精品| 日韩黄色片子| 黄片免费久久久久久久| 333kkkk·亚洲com久久| 性爱乱伦一区| 69超碰综合| 好淫网一二三视区| 欧美一区二区三区成人性生活 | 日韩欧美大力操| 国产精品日韩在线一区| 黄色高清无码无码破解免费暗网| 女同在线视频一区| 91久久午夜无码鲁丝片久久人妻| 五月丁香狠狠爱| 99性视频| 中文字幕加勒比海高清无码免费视频| 99爱爱| 久久99干一本高清| 99人妻| 国产亚洲福利第一页丝袜| 久久这里只精品免费福利| 国产成人亚洲精品无码古代早漏男| 国产成人精品必看| 日韩噜噜69| 久久久久久人| 尤物视频视频官网| 国产高清无码一区三区二区| 五月婷婷深深爱| 日本有码影片下载| oumeisetupian| 久久日本熟女精品一区| 国语精品av| 97超碰人妻| 双插性欧美一二三区| 极品白嫩美女白浆成人福利在线看| 中文字幕亚洲在线一区 | 欧洲性爱无码区| 激情国产乱伦Av| 日本久久精品| 啊啊啊啊好疼视频| 综合夜夜| 免费在线观看国内色片网站网址| 伊人久久婷婷| 清清草影| 1000部熟女视频在线观看| a v网站在线播放| 情色AV电影| 91久久堂| 欧美少妇色图| 亚洲精品人妻吞精av| 天天欧美色| 中文久久96| 欲香欲色综合天天伊人| 亚洲精品乱码线路中文字幕| 99久热| 久久AV色| 欧美呦呦性爱| av天堂影视中文在字幕在线中文 | 91激情| 国产极品美女高潮无套在线观看| 日本免费不卡二区| 人妻精品一区二区| 牛黄色久午久| 免费亚洲国产精品久久一区| 日韩在线欧美精品一区二区| 久久天堂婷婷网| 天美传媒av在线| 日韩三级在线观看网站| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 黑人猛交| 99这里都是精品| 亚洲另类在线观看| 丁香五月综合| 色激情综合网站| 亚洲在线综合| 久久九操在线观看| 亚洲第一页欧美| 成人日韩欧美| 1024日韩| 香蕉在线一区二区三区| 六月丁丁香| 久久婷婷电影网| 成人性交午夜免费片| 国产乱人妻精品入口| 亚洲情色第一页| 色丁香五月婷婷| 日韩熟女操逼| 家庭乱伦性爱av| 日本伦乱九九九综合| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 天天看人人操屄犊摸阴| 日韩精品电影| 在线黄色污污网站| 精品久久久久9999| 日本伦理一区二区| 国产 大胆 对白| 青青草精品| 男人天堂2012| 久久亚洲人妻| 96国产污污污丝袜| 亚洲图片 激情小说| 91狠狠色丁香婷婷综合久久精品| 亚洲强奸乱伦影视网| 18禁免费视频| 中文字幕在线观看AV| 91视频综合| 91 丝袜在线| 搞中出久久| 国产精品久久久久久久久久久久久久久久 | 久久肏大逼| 污污汅18禁网站在线永久免费观看| 台湾佬大香蕉| 蜜臀久久99'精品久久久| 丝袜天堂网| 日日97| 91中出在线| 先锋音影AV| 色在线69堂| 久久久久9999妇女| 大香蕉色欲AV| 五月天日日操夜夜操| 日韩精品一二三| 女优大全 - 91n| 热99re69精品8在线播放| 3PAV乱伦视频| 亚洲熟女性高潮久久久| 日韩AV片| 97一区二区三区视频| 超碰日韩美妻| 狠狠操,使劲操| 大香蕉乱级| 中文字幕人妻资源在线| a片自拍直播视频| 一级黄色性爱A级片| 日本色色色色色视频| 日本操逼视频导航| 大香蕉男女超碰精品在线| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 久久精品女同亚洲女同13| 啊啊啊操死我了| 亚洲91网| 丁香六月东京热| 干B视频伊人网| 午夜综合在线| 黄片免费日韩| 五月丁香色情| 激情四射五月天| 久久内射| 秋霞蝌科网日本一区| 天天综合精品| 色原狠狠天天天| 国产亚洲精品A在线观看下载| 日本在线激情一区二区三区| 最新9久久久9免费视频| 亚洲人精品午夜不卡| 97色碰| 干婷婷综合网| 日韩精品操少妇| 伊人欧美大香蕉视频| 三级特黄60分钟播放| 超碰99在线| 动漫av中文| 91精品综合久久久久久五月丁香| 欧美日韩激情无码专区| 国产精品爱欲| 久久69| 91爱欧美| 男人把坤坤插入女人的下体 | 欧美高潮在线| 亚洲综合在线高清| 国产乱婷婷精品二区三区| 日本精品第一视频在'| 中文精品一区二去| 国产精品人人爽人人做可爱福利 | 成人精品一区二区三区| 91中文精品日韩欧美在线 | 国产精选三级在线观看| 日韩av在线免费网站| 91精品91久久久中77777| 另类图片综合| 99久久9| 爱妻综合网| 爱丝福利| 怡红院一区二区熟女人妻| 久草精品一区| 久久九九视频九九视频| 国产熟码AV| 99色色网| 91精品微拍福利| 大香网伊人久久综合网eew| 日本人妻伦在线中文字幕| 久久天堂网| 粉嫩av在线一区二区| WWW.加勒比人妻一区不卡.com| 北约熟女超碰| 蜜臀AV午夜精品久| 久久久久久波多野吉衣高潮| 国产真实野战在线视频| 大香蕉中文201| 欧美内射少妇| 啊啊啊好爽快点啊啊啊嗯嗯| 无码一区免费在线不卡| 国产尤物在线三区| 国产乱弄免费在线视频。 | 日韩在线观看字幕精品| 97视频网站| 9 1超碰九色| 久久大香蕉手机高清| 黄片免费视频2019| 韩国一级做a久久久久| 欧美久久人妻少妇一区二区| 久久国色天香香蕉| 啊视频在线| 乱伦一区二区三区‘| 日日不卡av| 青青久久久| 亚洲天堂少妇| 死我十八禁| 97超碰超欧美。| 麻豆国产原创AV色哟哟 | 久久五月视频| 超碰99在线观看| 日韩无码精品综合久久| 人妻另类 专区 欧美 制服| chaopen97久久| 日日日大屁股骚女人精品| 伊人久久亚洲中文字幕| 九九热精品视频在线观看| 久久婷婷五月天| 18禁精品网站在线看| 精品人妻一区二区视频| 色综合天天| 人妻一区视频| 色牛牛AV| 蜜臀国产AV中文字幕| 欧美性爱五月天| 精品一区二区啪啪啪| 久草精品国产99| 亚洲国产av中文字幕久久| 国产综合色精品在线观看| 国产日韩精品suv| 日韩综合成人免费视频| 国产伦乱91| 日韩av在线免费网站| 亚洲色图日韩精品| 蜜乳AV色欲AVAV无码| 日韩精品 视频一区二区| 国产丝袜美女在线一区| 人人操人人摸人人看人人插| 亚洲一区二区三区欧美日韩| 高清国产av无码| 欧美日韩国产传媒在线精品| 亚洲综合97中文网| 91九九九馒头| 91精品久久久久久77777| 亚洲免费97免费| 美女国产一区二区久久| 久久老熟女| 伊人国产av| 国产精品一区二区三区,亚洲综合| 国产免费一区| 九九九九88| 亚洲成人性爱在线观看| 日本人妻伦在线中文字幕| 一个人在线看的黄色电影网站| 人妻中文字幕精品无码| 久久97精品久久久久久久不卡| 午夜福利久久久噜久噜久久综合 | 亚洲无线码欧洲精品区别| 亚洲中文字母在线播放| 人人操人人插人www| 国产91乱伦| 肥佬影院91| 中日韩久久久免费看| 在线 欧美 亚洲| 国产精品视频麻豆入口| 欧美色图自拍| 99热这里是精品| 亚洲丝袜诱惑| 欧美久久毛片基地| 青青草视频爽一爽| 九月丁香| 日韩精品第3页| 岛国999| 日韩三级在线观看mp4| 97av,com| 在线岛| 欧美一二三区四五区| AA丁香综合激情| 男人天堂资源| AV一二区| 激情五月天婷婷| 伊人国产成人av网站| 国产自产91区13区| 天堂俺去俺来也www久久婷婷| 偷拍片久久| 九热视频| 性爱乱伦视频免费| 国产97av| 日本精品九九九| 男人的天堂啪啪啪啪啪蜜桃不卡| 欧美色图99| 色婷婷久久| 久久久久久十| 中日无幕一二三四区| 久久久婷婷婷| AA级电影三区| 欧美色性情| 91路www| 九一综合精品视品av| 国产强奸超碰AV| 秋霞鲁丝午夜无码一区二区三| 婷婷久草| 中文字幕丰满人妻日本| 9 1果冻精品视频| 亚洲涩涩| 亚洲熟女一区| 久久一区,青青青青草视频在线播放| 色黄色美女大长腿午夜视频| 干少妇视频| 香港久久久| 欧美 亚洲 综合 制服 另类| 91九九九逼| 富二代亚洲精品99| 嗯嗯嗯啊啊啊操的我好爽 | 欧美嗯啊……在线观看视频免费| AV综合中文字幕干| 亚洲欧洲第二视频在线观看色图| 色婷婷五月综合激情中文字幕| 97视频免费| AV丝袜东京热| 99这里都是精品| 国产第二页| 天天操熟妇| 夫妻AV网站| 超碰碰小说97| 91精品伊人久久久大香线蕉91| 超碰 国产熟女精品一区| 欧美在线伊人色| 日韩综合无码一区久久92| 欧美色人| 另类小说综合网| 久久国产乱子伦精品免费女人| 久久成人午夜精品影院| 3p国产色噜噜一区| 国产成人资源| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲欧洲无码97久久精品| 极品粉嫩少妇视频| 东京热毛片调教| 亚洲婷婷综合网| 岛国片在线播放| 九九性视频| 亚洲 图片 欧美 色图| 综合久久99亚洲人妻中文在线| 本道在线| 亚洲,日韩,欧美,成人播放 | a啊啊啊啊啊啊啊啊一区二区| 欧美大的香蕉有线电视视频| 国产日韩精品无码去免费专区国产| 小视频玖玖| 日本不卡三级网在线播放| 亚洲熟女乱熟乱熟妇综合网二区| 无码二级三级| 免费在线黄片视频| 美女的肌被草喷水视频| 91五十路| 伊人91| 99re在线精品78| 综合av社区| 欧美熟女少妇| 9久久精品| 新版天堂中文资源8在线| 北条麻妃性愛视频| 精品日韩人妻精品一二三区| 亚洲一区二区三区欧美日韩| 婷婷五月丁香五月| 91网18| 人妻丰满熟妇av无码区蜜桃| 91 欧美| 人妻81p| 一本一道人妻久久一区二区三区 | 国产超碰97| 亚洲一本大道中文字幕无码在线| 五月综合激情| 91精品人妻五十路| 免费综合亚洲中文| 偷拍亚洲视频一区二区三区四区| 亚洲av乱伦色图网站| 麻豆a'v电影| 欧美美女自慰一区二区三区| 天天操天天谢| 久久中文字幕一区不卡| 欧美日不卡| 亚洲精品黑丝| 蜜臀无码视频在线观看 | 超碰免费人妻在线| 中文字幕丝袜国产第一页不卡| 国产五码丝袜屁眼| 日韩丰满熟妇| 国产成人在线观看网址| 神马久久久久久久| 久日91在线| 中国国国产一级特黄毛片| 激情综合色| 一级做a爰片性色毛片久久| 中文字幕AV中出| 九九热三级片| 精品无码秘 人妻一区二区| 男人久久天堂| 这里只有精品视频在线观看麻豆| 女人香蕉久久毛毛片精品| 97综合在线观看| 激情久久久| 东京热视频网| 夜夜免费视频| 91一区二匹| 一级二级在线观看| 日本免费中文字幕在线| 欧美精品日韩一区二区| 亚洲人在线成线成人| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产麻豆91欧美一区二区久久婷婷国产精品| 婷婷五月在线视频| 亚洲第一在线视频| 国产不卡中文字幕免费avi| 蜜臀一二三区| 黄色无码高清黄色无码网站| 日本在线视频导航| 免费看黄视频亚洲网站| 99热成人| 国产中文字幕在线| 婷婷丁香九月| 无码欧美有限公司| 亚洲中文丝袜美腿诱惑字幕| 无码 黑人一区二区三区| 久久一二三四五六七八九区区区| 97精品97| 日欧操屄| 天天综合有色网| 亚洲91色| 五月天激情国产综合婷婷婷| 人妻天天爽夜夜爽2| 亚洲色图欧美激情| 国产无马av| 人人九九精| Blackedraw视频一区二区| 操B久久| 黄色视频高清无码网站| 亚洲色婷婷| 欧美美女视频| 色色色色色色色色色色色色色色综合 | 日本不卡二区| 久久久久中出| 国产精品4p在线观看| 伊人专区一区二区三区| 1769一区| 麻豆国产97在线| 凹凸视频在线一区二区| 久久久久久97| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 亚洲欧美另类图片| 后入式五六区| 中文字幕二区| 99福利社| 99re99在线视频| 992大香蕉| 久热最新在线杭州| 婷婷五月天激情四射| av绯色| 在线 制服丝袜中出 人妻| 日本 欧美 亚中文字幕| 吉田爱美AV在线| 成人精品视频| 熟妇综合一区二区三区| 操逼1区| 天天干2区3区| 深夜激情| 国产亚洲日韩在线三区黑人| 婷婷午夜成人色中色| 色色五月丁香| 久久夜嗨| 91国模| 欧美一区二区三区蜜桃| 人人干人人操人人..com| 国产一二三福利视频网| 婷婷色色五月天| 翔田千里AV无码秘 三区| 欧美熟妇精品黑人巨大一二三区| 亚洲精品欧洲色| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美se亚洲| 妺妺跟我一起洗澡没忍住| 蜜臀99久久国产| 欧美 青青草| 五月天成人综合| 26uuu性| 神马午夜久久| 亚洲精品黑丝| 日韩激情视频| 婷婷尹人大香蕉免费| 日本免费人成视频播放120秒| 亚洲中文sv| 75大香蕉| 99超级碰免费视频| 黄色av片三级三级三级免费看| 欧美97色| 蜜桃AV天堂| 91色图片| 91色综合激情| 久久草在线综合视频| 国产一区二区三区视频在线看| 啊啊啊啊操死我| 精品女同一区| 大干人妻| 偷拍新久久| 九一国产精品| 国产精品69久久久久久久| 香蕉免费一区二区三区不读| 亚洲瓯美色图| 乱老熟女一区二区三区| 高树玛利亚无码流出| 久九干| 久久精品免费| 久久激情综合| 亚洲经典啪啪| 色色五月婷婷| 狼天天狼天天大香蕉| 国产欧美美女免费观看视频| 亚洲城人男人的天堂| yazhouzaixian| 1级黄色夫妻对换性交免费看| 屁屁影院一区二区三区国产 | 狠狠干,狠狠操| 色超碰综合| 五月丁香黄色网| 国产一区二区三区中文字幕| 精品无码一区二区| 狠狠操综合| 嗯~啊~快点 死我视频| 极品色社| 国产日韩中文字幕欧美| 夜夜精品视频| 日韩 欧美 另类 人妻| 欧美天天插| 狠狠躁日日躁夜夜躁A| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 999久久久九| 美女97超碰| 2019AV天堂| 99精品久久久久久| 国产精品色约约| 天天久久久久久| 精品视频在线观看精品| 国产亚洲精品农村妇女| 夜夜肏2021| 美国久久一二三四| 丰满人妻一区二区三区四区| 中国AAAAAA黄色片| 亚洲福利中文字幕在线| www老逼91| 丝袜高跟澳门91视频| 亚洲色图综合| 暖暖精品二区三区观看| 欧美组图日韩亚洲中文字幕| 97se综合| 新版天堂中文资源8在线| 婷婷精品久久av影视| 日本熟妇一区二区三区| 国产无套粉嫩白浆在| 屁屁影院一区二区三区国产| 精品成人亚洲午夜电影| 欧美精品 - 91爱爱| 国产高清MV操逼视频| 国产AB视频| 精品欧美А∨无码黑人大荫蒂| 老女人老91妇女老热女| 岛国成人av在线播放网址| 日本色日夜干| 天天综合亚洲综合| 夜夜草天天| 一区二区不卡免费| 97中文天堂| 做爱A级亚欧| 女人18精品一区二区三区| 草b在线| 国语对白在线播放视频| a级免费在线观看| 思思热免费视频观看| 青青爽| 日韩无码服务区| 在线天堂999| 97在线免费公开视频| 最新中文字幕精品在线| 4虎在线视频| 大香网站| 97色色色| 国产精品禁久久久精品| 99亚洲天堂| 日韩激情电影中文字幕| 香蕉大久久久| 久久久久久久久久久人妻| 国产99久久99热这里只有精品15 | 久久亚洲欧美中文字幕国语| 亚洲 日本 国产 综合| 久久精品高清AV| 精品妇女一区二区三区| 精品久久无码午夜福利| 天天谢天天干| 欧美嫩性色| 久久精品国产亚洲AV无码做| 丁香婷婷五月| 久久久久久久91| 亚洲天天精品| 欧美伦乱爱| 亚洲自拍另类丝袜综合| 久操高青| 久久久艹艹艹| 中文字幕精品一区二区精品| 丝袜熟女一区二区三区| 久久国产免费激情视频| 另类TS人妖一区二区三区 | 久久大香蕉手机高清视频| 欧美精品1区2区3区| 久久东京伊人一本到鬼色| 激情另类激情| 97人人色| 玖玖无码超碰| 久久久免费视频18| 舔舔啊| 91国产在线精品| 97久久久精品| 天堂涩涩| 久插不卡| 亚洲和欧美裸体美女双飞视频| 国产性刺激| 成人熟女视频一区二区三区| 日韩中字av一区| 亚州操操穴网| 天天日日本| 麻豆精品A片免费观看| 97久久精品亚洲| 久久久久精| 亚洲精品一区二区三区新线路| 一区二区三区在线资源| 久久久久精| 暖暖精品二区三区观看| 日韩欧美成人大香蕉| 亚洲棕合电彰| 美女黑人91神马| 麻豆a'v电影| AV有码在线| 97综合久久| 麻豆综合一区av| 日韩色| 91色婷婷综合久久中文字幕二区| 人妻啊啊人妻啊| 五月丁香在线| 91麻豆天美国产| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 蜜臀AV成人精品蜜臀| 视频在线观看一二三区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 免费人成在线观看网站品爱网| 国产东北女人在线视频| 亚洲欧美国产日本一区二区三区| 熟女人妻av在线资源,黄色的资源| 97亚洲综合电影| 伊人青青草久久| 激情久久日韩精品中文字幕麻豆| 东京热91| 国产日韩精品suv| 青娱乐国产精品| 熟妇在线视频一区二区| 国产60区。| 91天天综合在线观看| 色欧美综合| 人人人人插| 视频二区美腿丝袜制服人妻欧美 | 天天操熟妇| 亚洲九九九| 日本色色色视频| 国产欧美精品日韩区二区麻豆天美| 老汉网| 玖玖久久久| 日韩国产欧美伦理在线| 亚洲操操操| 啊啊啊要高潮了| 亚洲熟女综合一区二区| 欧美日韩香蕉| 麻豆九九九| 午夜九九九九九九| 国产精品久久久久久久毛片1| 色婷婷成人| 风骚少妇视频中文字幕| 91女日逼| 一区二区三区视频在线观看免费| 毛片17S| 天天综合~91| 性爱av在线免费观看| 二对二中文字幕。| 美女久久久| 色黄色美女大长腿午夜视频| 九九热九九热| 另类亚洲一区二区三区| 色五月综合网| 国产精品久久久久久久久久二区三区| 1769一区| 婷婷操逼| 无码人妻丰满熟妇区毛片| 亚洲精品国产无码高清| 丰满人妻一区二区三区在线| 精品国产99999| 91强奸乱轮| 韩国女主播青草在线| 亚洲欧美综合| 鲁鲁色综合网| 男人天堂2030| 99欧美| 久久香蕉国产线看观看亚洲女人 | 1769一区| 中文字幕91综合| 综合色91| 国产亚洲一黄| 屁股久久久久久| 黑丝少妇| 好吊色青靑草| 爱爱60秒免费视频| 国产精品视屏| 中日无幕一二三四区| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 久久精品国产亚洲AV先锋| 蜜桃色色网站视频三区| 性91| 懂色综合久久久| 超碰97欧美| 亚洲综合成人网| 青青草依人大香蕉| 熟女精品一区二区三区| 亚洲色图欧洲| 日日日啊啊啊| 天天插夜夜操| 亚洲天堂资源| 久久ww| 乱欲视频| 精品人妻视频一区二区三区蜜桃视频| 51久久夜色精品国产麻豆| 日日夜夜模| 男男H黄动漫啪啪无遮挡网站| 9 1超碰九色| 91人妻爽爽人人做人人澡| 日本一道在线播放高清| 青青操在线亚洲视频观看欧美在线 | 国产精品色哟哟| 在线观看成人性爱免费小视频| 老熟妇一区二区三区啪啪| 日本在线视频导航| 亚洲情色 欧美| 麻豆九九九| 91精品人妻偷情| 91国内外在线| 久久久久免费少妇| 东京热一区二区中文字幕| 青青草手机在线免费观看| 强奸乱伦中文字幕AV| 国产精品另类| 色女综合| 国产人妻天天干精品| 日本不卡五区| 性性久久| 殴美牲| 综合免费无码中文| 色噜噜狠狠色综无码久久| 精品大久久| 久久久无码av精| 久久超碰网| 欧美 日韩 婷婷 五月| 99爱在线视频| 亚洲一曲日韩精品| 欧美劲爆第一页| 欧色性第一页| 超碰97起碰| caoni国产亚洲av| 色欧美色交综合| 人人摸人人干| 狠狠操天天干| 无码WWW免费视频网站| 欧美另类天堂| 欧美日韩一干二干| 精品一区二区三区蜜桃臀赵总| 国产精品久久久久无码A√| 天美传媒AV在线| 超碰这里有精品| 麻豆黄四叶草网站| 青青草日韩无码| 夜色AV无码手机在线影院| V A在线| 亚洲欧美在线丝袜| 99在线观看无大码| 97WW精品| 婷婷精品视频| 国产人妻天天干精品| 午夜视频久久久久一区| 国产91 丝袜在线播放00-百度| 九九人妻| 无码久| 美女黄页| 天天综合色| 欧美精品自慰系列寂寞少妇| 国产精品露脸在线观看| 中国人高清www色视频免费| 在线观看啊啊啊啊啊| av东京热男人的天堂| 日韩AV电影网站| 狠狠干狠狠色| 抽插无码高清一区| 日本人人操人人操| 欧美日韩中文视频播放| 婷婷10月天青娱乐| 97欧美色| 国产91专区| 久久久久久久六六| 18禁久极品美女久久哦哟呀!| 亚洲一二三精品久久网| 亚洲情色91| 夜夜免费视频| 蜜臀久久99精品| 超碰碰97| 四虎国产成人精品免费一女五男| 青青草原狼av| 欧美爆操91| 校园春色欧美色图| 欧美色图天堂网m| 综合网久久| 偷窥自拍亚洲色图| 久久久久久久久久久久久久久性生活视频| www.夜夜操| 玖玖玖玖精品国产剧情| 国产精品欧美日韩久久| 国产小黄片在线免费观看| 色屁屁影院www国产| 天天插夜夜操| 欧美日本国产日韩激情视频| 大学生口爆吞精| 国产精品一级片在线看| 亚洲天堂7777| 亚洲中文国际强奸字幕| 思思在线免费视频| 欧美性生活综合| 大地资源在线观看中文第二页| 亚洲无码一区二区三区三州| 99视频精品| 丁香婷婷九月| 91狠| 亚洲吊色| 91中文字幕在线观看| 天天欲望网| AAAA级日本片免费视频 | 台湾佬中文娱乐自偷自拍| 大香蕉国产中文自拍| 国产十八禁视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 天天插天天干| 久日91在线| 好爽视频在线观看视频 | 精品久久久av无码免费| 亚洲色系另类精品国产| 免费看欧美美女黄色大片 | 夜夜青青无码影院| 人妻丝袜一区二区三区在线| 91丨国产丨白浆秘 洗澡动漫| 免费αⅴ在线观看| 国产美女裸体秘 永久无遮挡| 另类小色呦| 骚货| 后入福利视频| 大香蕉欧美| 一级特级aaaa毛片免费观看| 亚洲丝袜色| 夜夜免费视频| A级国产欧美激情在线| 婷婷综合网站| 亚洲天堂资源| 精品日韩中文在线| 97爱b| 亚洲加勒比久久日本道| 久久精品日韩| 青娱乐大香蕉| 国产丝袜欧美在线视频| 国产后入精品| 视频一区二区免费在线| 97色色视频| 风月影院十八禁| 91红杏| 色综合天天| 国产自啪精品视频网站黑丝| 日本一区二区成人在线| 综合网少妇| 人人喜人人妻| 国产精品无套内谢| 欧美,日韩,中文,另类| 一区二区偷拍拍视频| 国产品精品自在在线午夜免费| 女人天堂AV五区在线| 亚洲 欧美 偷拍 唯美| 欧美玖玖爱免费玖玖| 在线性黄高清免费视频| 亚洲色91| 茄子社区国产精品| 久久久一级| ..日韩av毛片精品久久久| 97日韩欧美亚洲| 欧美狠狠操| 婷婷九月色| 日韩欧美aⅴ综合网站发布| 97人人爱人人乐| 国产丰满少妇久久久精品影院| 人妻熟女av国产网站| 操啊国产| 97亚洲中文| 中出在线视频| 91天美传媒精品| 综合网,亚洲,欧美| 欧美在线干| 美女极品一区二区三区| 色妇综合网| 男人的天堂视频精品乱在线| 日韩ab网| 久久色一区| 天天操天天射青青草| 五月婷婷大香蕉| 国产精品蜜乳AV| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 日韩一级片在线看| 日日夜夜精品| 成人a大片在线观看| a片 xxxx受爽视频| 老司机香蕉| 久久啊啊| 大肥女高潮bbwbbwhd视频| 欧美亚州综合网图片| 久久日韩肥臀| 国产9熟妇视频网站| 国产精品日日摸天天碰| 熟女熟妇一区二区三区视频| 后入式999| 中文字幕福利视频一区二区三区在线观看| 欧美97视频| 亚洲AV永久无码精品成人调教| 日夜尻逼网| 97超碰精品| 日韩精品免费高清视频在线| 小视频玖玖| 99无码精品| 国产一区二区三区不卡手机在线| 亚洲激情天堂网| 欧美色图99| 欧差乱伦二三| 殴美在线AⅤ| 激情五月婷婷| 粉嫩AV一区夜夜嗨| 五月天婷婷社区| 亚洲啪啪视频免费| 亚洲色图欧美视频| 啊啊啊啊啊在线观看网址 | 91蜜桃传媒精品久久久一区二区| 诱惑网综合| 日韩欧美午夜视频在线| 天天综合色电影| 安微少妇操BBB| 欧美亚洲国产91在线| 午夜男人一级A片7777| 日韩在线人妻网站| 亚洲熟女av中文字幕| 啪啪啪综合网| 在线观看日韩av不卡| 欧美性爱一内片一区二区三区| 亚洲 欧美 日本 国内 首页| 26UUU欧美日本| 久久极品一区二区| 97 国产精品| 乱伦AVxx| av天天在线| 国产成人欧美一区二区三区的国产| 亚洲综合另类| 78m啪啪啪| 午夜免费福利视频一区| 爱妻综合网| 91丨熟女丨丰满熟女| 黑人精品久久97| 婷婷激情五月天小说网| 欧美美女在线高潮999| 色屁屁影院www国产| 激情亚洲天堂| 91深夜夜| 久久久成人精品| 国产 三级自拍| 97在线观看视频| 99爱精品| 亚洲一区二区在线观看91| 宅男91视频在线播放| 欧美一级美片在线观看免费| 久久超碰、| 大香网站| 天天射夜夜操| 亚洲揄拍网| av一区二区三区 中文| 亚洲色交| silk lablo在线观看一区二区| 天天综合网日韩7799| 91美| 99re69| 婷婷久草一区二区三区| 久久这里只精品免费福利| 高清不卡 中文 人妻| 色婷婷五月天| 欧美大香蕉专区网| 色综合加勒比| 超碰一区二区| 人妻美腿丝袜制服诱惑综合天堂-| blacked精品一区国产| 91亚洲欧洲| 日韩无码第3页| h色99999| 白丝jkav| 日韩二三区| 9久精品| 性爱av在线免费观看| 国产精品成人久久一区二区三区| 99精品九九九九九九| 色九九九综合| 国产有码一区| 日韩有码免费视频| 九九久久99| 欧美色综合影院| 日本色色的视频| 制度丝袜99|