99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

ApacheBench (ab) 壓力測(cè)試工具:從入門到實(shí)戰(zhàn)性能調(diào)優(yōu)

ApacheBench (ab) 壓力測(cè)試工具:從入門到實(shí)戰(zhàn)性能調(diào)優(yōu) 1. 項(xiàng)目概述為什么我們需要ab命令在網(wǎng)站開發(fā)和運(yùn)維的日常工作中性能始終是懸在頭頂?shù)倪_(dá)摩克利斯之劍。一個(gè)新功能上線一個(gè)促銷活動(dòng)開啟最怕的就是服務(wù)器在流量洪峰面前“躺平”。作為一線工程師我們手里得有趁手的“壓力測(cè)試”工具來(lái)模擬真實(shí)用戶訪問提前發(fā)現(xiàn)瓶頸。ApacheBench也就是我們常說(shuō)的ab命令就是這樣一個(gè)簡(jiǎn)單、直接、高效的瑞士軍刀。它沒有復(fù)雜的圖形界面不依賴龐大的測(cè)試平臺(tái)僅僅通過一行命令就能告訴你服務(wù)器在并發(fā)請(qǐng)求下的表現(xiàn)每秒能處理多少請(qǐng)求QPS平均響應(yīng)時(shí)間是多少有多少請(qǐng)求失敗了。這種“開箱即用”的特性讓它成為L(zhǎng)inux環(huán)境下進(jìn)行快速、初步性能評(píng)估的首選工具。無(wú)論是開發(fā)者在本地驗(yàn)證接口性能還是運(yùn)維同學(xué)在生產(chǎn)環(huán)境變更前做一輪基準(zhǔn)測(cè)試ab都能在幾分鐘內(nèi)給出關(guān)鍵數(shù)據(jù)。今天我們就來(lái)徹底拆解這個(gè)工具從安裝到實(shí)戰(zhàn)從參數(shù)解讀到結(jié)果分析讓你不僅能“跑”起來(lái)更能“看懂”和“用好”它。2. ab命令核心原理與安裝部署2.1 ab命令的工作原理淺析ab本質(zhì)上是一個(gè)用于對(duì)HTTP/HTTPS服務(wù)器進(jìn)行基準(zhǔn)測(cè)試的命令行工具。它的工作模式非常純粹模擬多個(gè)并發(fā)用戶向指定的URL發(fā)送大量HTTP請(qǐng)求并統(tǒng)計(jì)服務(wù)器處理這些請(qǐng)求所花費(fèi)的時(shí)間。其核心工作流程可以概括為單線程、多連接。ab本身是一個(gè)單進(jìn)程程序但它會(huì)創(chuàng)建多個(gè)并發(fā)的“客戶端”通過操作系統(tǒng)套接字實(shí)現(xiàn)這些客戶端同時(shí)向服務(wù)器發(fā)起請(qǐng)求。它主要測(cè)量的是服務(wù)器的網(wǎng)絡(luò)處理能力和請(qǐng)求處理吞吐量而不是客戶端的負(fù)載生成能力。這意味著ab運(yùn)行所在的測(cè)試機(jī)性能不能太差否則可能成為瓶頸無(wú)法給服務(wù)器施加足夠的壓力。一個(gè)常見的誤解是認(rèn)為ab會(huì)模擬復(fù)雜的用戶行為比如點(diǎn)擊鏈接、填寫表單。實(shí)際上它只做一件事重復(fù)請(qǐng)求同一個(gè)URL。這對(duì)于測(cè)試API接口、靜態(tài)頁(yè)面或簡(jiǎn)單的動(dòng)態(tài)頁(yè)面如首頁(yè)的極限性能非常有效。如果你想測(cè)試包含登錄狀態(tài)Session、復(fù)雜業(yè)務(wù)流程的場(chǎng)景ab就顯得力不從心了這時(shí)需要考慮 JMeter、Locust 等更高級(jí)的工具。但對(duì)于快速回答“這個(gè)接口在100個(gè)并發(fā)下響應(yīng)時(shí)間是多少”這類問題ab的效率無(wú)與倫比。2.2 在不同Linux發(fā)行版上安裝abab工具通常作為 Apache HTTP Server 工具包的一部分提供包名通常是apache2-utils(Debian/Ubuntu) 或httpd-tools(RHEL/CentOS/Fedora)。安裝非常簡(jiǎn)單。在 Debian/Ubuntu 及其衍生系統(tǒng)上sudo apt update sudo apt install apache2-utils -y安裝完成后可以通過ab -V來(lái)查看版本信息確認(rèn)安裝成功。在 RHEL/CentOS/Fedora 及其衍生系統(tǒng)上# 對(duì)于 CentOS 7/RHEL 7 sudo yum install httpd-tools -y # 對(duì)于 CentOS 8/RHEL 8/Fedora sudo dnf install httpd-tools -y在 macOS 上如果你使用 Homebrew可以很方便地安裝brew install apache-httpd # 安裝后ab命令通常位于 /usr/local/bin/ab注意在某些極簡(jiǎn)的Docker鏡像或云服務(wù)器模板中可能沒有預(yù)裝。按照上述命令安裝即可。另外請(qǐng)確保測(cè)試機(jī)本身有足夠的可用端口和網(wǎng)絡(luò)帶寬避免因本地資源限制影響測(cè)試結(jié)果。安裝完成后一個(gè)簡(jiǎn)單的ab -n 10 -c 2 http://localhost/命令就可以開始你的第一次測(cè)試了。其中-n 10表示總請(qǐng)求數(shù)為10-c 2表示并發(fā)數(shù)為2。3. 命令參數(shù)深度解析與實(shí)戰(zhàn)場(chǎng)景ab的命令行參數(shù)是其強(qiáng)大功能的體現(xiàn)。理解每個(gè)參數(shù)的含義是設(shè)計(jì)有效壓力測(cè)試場(chǎng)景的關(guān)鍵。下面我們分類詳解最常用和最重要的參數(shù)。3.1 基礎(chǔ)負(fù)載參數(shù)定義測(cè)試的“量”與“形”這是構(gòu)建測(cè)試場(chǎng)景的骨架決定了壓力的大小和模式。-n requests總請(qǐng)求數(shù)。這是測(cè)試的停止條件。例如-n 1000表示總共發(fā)送1000個(gè)請(qǐng)求后結(jié)束測(cè)試。設(shè)置一個(gè)足夠大的數(shù)可以讓測(cè)試持續(xù)一段時(shí)間得到更穩(wěn)定的統(tǒng)計(jì)結(jié)果。對(duì)于快速驗(yàn)證可以設(shè)小一點(diǎn)如100對(duì)于正式基準(zhǔn)測(cè)試建議至少5000以上。-c concurrency并發(fā)用戶數(shù)。這是模擬的同時(shí)向服務(wù)器發(fā)起請(qǐng)求的客戶端數(shù)量。這是壓力測(cè)試的核心參數(shù)直接決定了服務(wù)器的并發(fā)負(fù)載。-c 10表示模擬10個(gè)用戶同時(shí)操作。這個(gè)值需要根據(jù)你服務(wù)器的預(yù)估并發(fā)量來(lái)設(shè)置可以從一個(gè)較小的值如10開始逐步增加觀察性能拐點(diǎn)。-t timelimit最大測(cè)試時(shí)間秒。當(dāng)測(cè)試時(shí)間達(dá)到這個(gè)限制無(wú)論是否完成-n指定的請(qǐng)求數(shù)測(cè)試都會(huì)停止。例如-t 30表示測(cè)試最多運(yùn)行30秒。這個(gè)參數(shù)在你想進(jìn)行“持續(xù)一段時(shí)間”的壓力測(cè)試時(shí)非常有用比如想觀察服務(wù)器在長(zhǎng)時(shí)間壓力下的穩(wěn)定性可以和-n參數(shù)二選一使用。實(shí)戰(zhàn)場(chǎng)景選擇容量規(guī)劃測(cè)試使用-n和-c。例如-n 50000 -c 100發(fā)送5萬(wàn)請(qǐng)求并發(fā)100看總耗時(shí)和QPS。穩(wěn)定性/耐力測(cè)試使用-t和-c。例如-t 600 -c 50用50并發(fā)持續(xù)壓測(cè)10分鐘觀察過程中響應(yīng)時(shí)間、錯(cuò)誤率是否有波動(dòng)。3.2 請(qǐng)求定制參數(shù)模擬更真實(shí)的請(qǐng)求默認(rèn)情況下ab發(fā)送的是簡(jiǎn)單的 GET 請(qǐng)求。但現(xiàn)實(shí)中的請(qǐng)求要復(fù)雜得多。-m method指定HTTP方法。默認(rèn)是GET你可以設(shè)置為-m POST、-m PUT等。-p postfile當(dāng)使用POST方法時(shí)包含POST數(shù)據(jù)的文件路徑。文件內(nèi)容通常是表單數(shù)據(jù)如useradminpasswd123或JSON字符串。這是測(cè)試API接口的關(guān)鍵參數(shù)。-T content-type設(shè)置POST/PUT數(shù)據(jù)時(shí)的Content-Type頭。例如發(fā)送JSON數(shù)據(jù)時(shí)必須設(shè)置為-T application/json。-H custom-header添加自定義的HTTP頭??梢灾貜?fù)使用此參數(shù)添加多個(gè)頭。這在測(cè)試需要認(rèn)證Authorization頭、特定客戶端標(biāo)識(shí)或處理CORS時(shí)必不可少。ab -n 100 -c 10 -H “Authorization: Bearer xxxxxxxx” -H “User-Agent: MyTestClient” http://api.example.com/v1/resource-C cookie-namevalue為請(qǐng)求附加Cookie??梢灾貜?fù)使用以添加多個(gè)Cookie。用于測(cè)試需要會(huì)話狀態(tài)的頁(yè)面。-k啟用HTTP KeepAlive持久連接。這會(huì)讓ab復(fù)用TCP連接來(lái)發(fā)送多個(gè)請(qǐng)求而不是為每個(gè)請(qǐng)求新建連接。這能大幅減少TCP握手和慢啟動(dòng)的開銷更貼近現(xiàn)代瀏覽器或客戶端的真實(shí)行為測(cè)出的QPS通常會(huì)高很多。在進(jìn)行性能對(duì)比時(shí)務(wù)必統(tǒng)一此參數(shù)的設(shè)置。實(shí)戰(zhàn)示例測(cè)試一個(gè)登錄API假設(shè)我們有一個(gè)登錄接口http://api.example.com/login接受JSON格式的POST請(qǐng)求。創(chuàng)建一個(gè)文件post_data.json內(nèi)容如下{username: testuser, password: testpass}執(zhí)行命令ab -n 1000 -c 50 -p post_data.json -T ‘a(chǎn)pplication/json’ -H “Accept: application/json” http://api.example.com/login這個(gè)命令會(huì)以50的并發(fā)向登錄接口發(fā)送1000個(gè)包含JSON體的POST請(qǐng)求。3.3 輸出與調(diào)試參數(shù)獲取更詳細(xì)的信息這些參數(shù)幫助你更好地理解測(cè)試過程和結(jié)果。-v verbosity設(shè)置詳細(xì)級(jí)別。-v 2會(huì)打印出每個(gè)請(qǐng)求的響應(yīng)頭信息-v 3會(huì)打印響應(yīng)體-v 4會(huì)打印更多調(diào)試信息。在排查“為什么請(qǐng)求失敗了”時(shí)非常有用但輸出會(huì)非常冗長(zhǎng)不建議在正式壓測(cè)時(shí)使用高等級(jí)。-w將結(jié)果以HTML表格形式輸出??梢詫⑤敵鲋囟ㄏ虻轿募缓笤跒g覽器中打開查看格式更友好。ab -n 100 -c 10 -w http://localhost/ result.html-X proxy[:port]通過代理服務(wù)器發(fā)送請(qǐng)求。-V顯示版本號(hào)并退出。實(shí)操心得參數(shù)組合的常見陷阱-n和-t同時(shí)使用ab會(huì)以先達(dá)到的條件為準(zhǔn)停止測(cè)試。如果你設(shè)置了-n 10000 -t 10可能10秒內(nèi)只完成了2000個(gè)請(qǐng)求測(cè)試就停止了總請(qǐng)求數(shù)并非10000。POST數(shù)據(jù)文件格式確保-p指定的文件內(nèi)容格式與-T指定的Content-Type匹配。如果是application/x-www-form-urlencoded文件內(nèi)容應(yīng)是key1value1key2value2如果是application/json則應(yīng)是標(biāo)準(zhǔn)的JSON格式。Cookie和Header的覆蓋通過-H設(shè)置的Header會(huì)覆蓋ab內(nèi)部生成的一些默認(rèn)頭如User-Agent。如果你需要保留默認(rèn)頭并添加新的需要顯式地一起設(shè)置。4. 測(cè)試結(jié)果報(bào)告全方位解讀執(zhí)行完ab命令后屏幕上會(huì)輸出一份詳細(xì)的報(bào)告。這份報(bào)告是性能分析的依據(jù)每一個(gè)數(shù)據(jù)都有其特定含義。我們以一個(gè)典型的輸出為例分段解讀。假設(shè)我們執(zhí)行了ab -n 1000 -c 100 http://demo.example.com/得到如下結(jié)果數(shù)據(jù)為示例This is ApacheBench, Version 2.3 $Revision: 1879490 $ Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking demo.example.com (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: nginx/1.18.0 # 目標(biāo)服務(wù)器軟件 Server Hostname: demo.example.com Server Port: 80 Document Path: / Document Length: 15243 bytes # 單個(gè)響應(yīng)體的大小 Concurrency Level: 100 # 并發(fā)數(shù) Time taken for tests: 2.347 seconds # 整個(gè)測(cè)試持續(xù)的總時(shí)間 Complete requests: 1000 # 成功的請(qǐng)求數(shù) Failed requests: 15 # 失敗的請(qǐng)求數(shù) (Connect: 0, Receive: 0, Length: 15, Exceptions: 0) # 失敗分類 Non-2xx responses: 15 # 非2xx狀態(tài)碼的響應(yīng)數(shù) Total transferred: 15423000 bytes # 所有響應(yīng)數(shù)據(jù)的總大小包括頭信息 HTML transferred: 15243000 bytes # 所有響應(yīng)體中HTML內(nèi)容的總大小 Requests per second: 426.08 [#/sec] (mean) # 核心指標(biāo)每秒請(qǐng)求數(shù)QPS Time per request: 234.700 [ms] (mean) # 核心指標(biāo)每個(gè)請(qǐng)求的平均耗時(shí)用戶視角 Time per request: 2.347 [ms] (mean, across all concurrent requests) # 核心指標(biāo)服務(wù)器平均處理一個(gè)請(qǐng)求的耗時(shí) Transfer rate: 6417.00 [Kbytes/sec] received # 網(wǎng)絡(luò)吞吐量 Connection Times (ms) min mean[/-sd] median max Connect: 0 1 1.2 0 12 Processing: 20 233 45.6 225 412 Waiting: 18 230 45.1 222 410 Total: 20 234 45.7 226 412 Percentage of the requests served within a certain time (ms) 50% 226 # 中位數(shù)響應(yīng)時(shí)間 66% 245 75% 256 80% 263 90% 281 95% 302 98% 345 99% 367 100% 412 (longest request) # 最慢的請(qǐng)求耗時(shí)4.1 核心性能指標(biāo)解讀這是報(bào)告中最需要關(guān)注的部分直接反映了服務(wù)器的性能水平。Requests per second (QPS)每秒請(qǐng)求數(shù)這是衡量服務(wù)器吞吐量的黃金指標(biāo)。示例中426.08 [#/sec]表示服務(wù)器平均每秒能處理426個(gè)請(qǐng)求。這個(gè)值越高越好。在對(duì)比測(cè)試時(shí)例如優(yōu)化前后這是首要關(guān)注的指標(biāo)。Time per request (mean)這里有兩行容易混淆。第一行 (234.700 [ms] (mean))這是從單個(gè)用戶模擬客戶端視角看到的平均請(qǐng)求耗時(shí)。計(jì)算公式是總測(cè)試時(shí)間 * 并發(fā)數(shù) / 成功請(qǐng)求數(shù)。即2.347s * 100 / 1000 ≈ 0.2347s。它代表了用戶感受到的延遲。第二行 (2.347 [ms] (mean, across all concurrent requests))這是服務(wù)器平均處理每個(gè)請(qǐng)求所花費(fèi)的時(shí)間。計(jì)算公式是總測(cè)試時(shí)間 / 成功請(qǐng)求數(shù)。即2.347s / 1000 ≈ 0.002347s。這個(gè)值更接近服務(wù)器處理能力的理論值。這兩個(gè)值的關(guān)系是第一行 第二行 * 并發(fā)數(shù)。Failed requests / Non-2xx responses失敗請(qǐng)求數(shù)和非2xx響應(yīng)數(shù)。任何非零值都需要警惕。示例中失敗了15個(gè)且都是因?yàn)長(zhǎng)ength失敗響應(yīng)體長(zhǎng)度與第一個(gè)成功請(qǐng)求的長(zhǎng)度不一致或返回了非2xx狀態(tài)碼。這可能是服務(wù)器在高壓下出現(xiàn)了錯(cuò)誤如5xx或者響應(yīng)內(nèi)容不一致。必須結(jié)合日志排查原因。4.2 連接時(shí)間與百分比分布這部分?jǐn)?shù)據(jù)揭示了請(qǐng)求耗時(shí)的分布情況對(duì)于發(fā)現(xiàn)長(zhǎng)尾延遲至關(guān)重要。Connection Times分解了請(qǐng)求各階段的時(shí)間。Connect建立TCP連接的時(shí)間。如果這個(gè)值很大可能是網(wǎng)絡(luò)問題或服務(wù)器連接池滿了。Processing從發(fā)送完請(qǐng)求到接收完響應(yīng)的時(shí)間可以近似理解為服務(wù)器的處理時(shí)間。Waiting從發(fā)送完請(qǐng)求到接收到響應(yīng)第一個(gè)字節(jié)的時(shí)間TTFB - Time To First Byte。這個(gè)值很關(guān)鍵反映了服務(wù)器的即時(shí)響應(yīng)能力。Total整個(gè)請(qǐng)求的總耗時(shí)Connect Processing。mean[/-sd]表示平均值和標(biāo)準(zhǔn)差。標(biāo)準(zhǔn)差大說(shuō)明響應(yīng)時(shí)間波動(dòng)大性能不穩(wěn)定。Percentage of the requests served within a certain time響應(yīng)時(shí)間百分比分布。這是評(píng)估服務(wù)穩(wěn)定性和用戶體驗(yàn)的關(guān)鍵。50%中位數(shù)一半的請(qǐng)求在這個(gè)時(shí)間內(nèi)完成。示例是226ms。90%/95%/99%90%/95%/99%的請(qǐng)求在這個(gè)時(shí)間內(nèi)完成。我們尤其關(guān)注90%或95%線。示例中90%的請(qǐng)求在281ms內(nèi)完成但最慢的請(qǐng)求達(dá)到了412ms。如果99%線367ms比中位數(shù)226ms高很多說(shuō)明存在一些慢請(qǐng)求影響了部分用戶的體驗(yàn)需要優(yōu)化。在SLA服務(wù)等級(jí)協(xié)議中通常會(huì)承諾“95%的請(qǐng)求響應(yīng)時(shí)間低于X毫秒”。4.3 網(wǎng)絡(luò)與資源指標(biāo)Transfer rate網(wǎng)絡(luò)傳輸速率。示例6417.00 [Kbytes/sec]表示平均每秒從服務(wù)器接收了約6.4MB數(shù)據(jù)。這個(gè)值可以幫助判斷網(wǎng)絡(luò)帶寬是否成為瓶頸。如果這個(gè)值接近測(cè)試機(jī)或服務(wù)器的網(wǎng)絡(luò)帶寬上限那么性能瓶頸可能在網(wǎng)絡(luò)I/O上。Document Length / Total transferred反映了響應(yīng)數(shù)據(jù)的大小。過大的響應(yīng)體會(huì)消耗更多網(wǎng)絡(luò)帶寬和處理時(shí)間。分析心法如何從報(bào)告中發(fā)現(xiàn)問題看失敗率失敗率 0% 是最高優(yōu)先級(jí)問題。立刻檢查服務(wù)器日志看是超時(shí)、5xx錯(cuò)誤還是應(yīng)用層錯(cuò)誤??碤PS對(duì)比歷史基準(zhǔn)值或預(yù)期值。如果QPS過低說(shuō)明吞吐量不足??错憫?yīng)時(shí)間分布如果90%/95%線比50%線高很多例如3倍以上說(shuō)明服務(wù)有“長(zhǎng)尾”問題部分請(qǐng)求很慢??赡茉虬〝?shù)據(jù)庫(kù)慢查詢、緩存失效、外部依賴服務(wù)不穩(wěn)定、垃圾回收GC等??催B接時(shí)間如果Connect或Waiting時(shí)間異常高可能指向網(wǎng)絡(luò)問題、服務(wù)器負(fù)載過高導(dǎo)致無(wú)法快速接受連接或開始處理。結(jié)合監(jiān)控在壓測(cè)時(shí)同時(shí)使用top,vmstat,iostat等命令監(jiān)控服務(wù)器的CPU、內(nèi)存、磁盤I/O和網(wǎng)絡(luò)流量。如果QPS上不去但CPU已跑滿說(shuō)明是計(jì)算瓶頸如果CPU空閑但QPS低可能是I/O磁盤/網(wǎng)絡(luò)或外部服務(wù)瓶頸。5. 高級(jí)實(shí)戰(zhàn)技巧與腳本化壓測(cè)掌握了基礎(chǔ)用法和報(bào)告解讀我們可以進(jìn)行更貼近真實(shí)場(chǎng)景的復(fù)雜測(cè)試。5.1 模擬混合場(chǎng)景與參數(shù)化請(qǐng)求ab本身一次只能測(cè)試一個(gè)固定URL。但我們可以通過Shell腳本組合多個(gè)ab命令來(lái)模擬簡(jiǎn)單的混合場(chǎng)景。例如一個(gè)電商頁(yè)面70%的請(qǐng)求是瀏覽商品GET /product/{id}30%的請(qǐng)求是加入購(gòu)物車POST /cart。#!/bin/bash # simulate_mixed_traffic.sh BASE_URL“http://localhost:8080” CONCURRENCY50 TOTAL_REQUESTS1000 # 計(jì)算不同場(chǎng)景的請(qǐng)求數(shù) PRODUCT_REQS$((TOTAL_REQUESTS * 70 / 100)) CART_REQS$((TOTAL_REQUESTS * 30 / 100)) echo “ 開始?jí)簻y(cè)商品頁(yè) (70%) ” ab -n $PRODUCT_REQS -c $CONCURRENCY “${BASE_URL}/product/123” result_product.txt 21 echo “ 開始?jí)簻y(cè)購(gòu)物車接口 (30%) ” # 假設(shè)購(gòu)物車接口需要POST一個(gè)JSON body cat cart_data.json EOF {“productId”: 123, “quantity”: 1} EOF ab -n $CART_REQS -c $CONCURRENCY -p cart_data.json -T ‘a(chǎn)pplication/json’ -m POST “${BASE_URL}/cart” result_cart.txt 21 # 等待所有后臺(tái)任務(wù)完成 wait echo “ 壓測(cè)完成 ” echo “商品頁(yè)結(jié)果見 result_product.txt” echo “購(gòu)物車結(jié)果見 result_cart.txt”這個(gè)腳本同時(shí)啟動(dòng)了兩個(gè)ab進(jìn)程分別壓測(cè)不同的接口。需要注意的是這樣測(cè)試的是兩個(gè)獨(dú)立的流它們會(huì)競(jìng)爭(zhēng)測(cè)試機(jī)的網(wǎng)絡(luò)和端口資源并非嚴(yán)格的比例控制但可以作為一個(gè)近似的混合負(fù)載測(cè)試。對(duì)于URL路徑中的變量如/product/{id}ab無(wú)法直接參數(shù)化。一個(gè)變通的方法是準(zhǔn)備一個(gè)包含多個(gè)URL的文件然后寫一個(gè)循環(huán)但這樣每個(gè)ab進(jìn)程只測(cè)一個(gè)URL效率較低。對(duì)于復(fù)雜的參數(shù)化測(cè)試建議轉(zhuǎn)向 JMeter 或 Locust。5.2 持續(xù)壓力與梯度加壓測(cè)試我們經(jīng)常需要觀察系統(tǒng)在持續(xù)壓力下的表現(xiàn)或者逐步增加壓力找到性能拐點(diǎn)。持續(xù)壓力測(cè)試穩(wěn)定性測(cè)試# 持續(xù)壓測(cè)5分鐘并發(fā)100 ab -t 300 -c 100 -k http://localhost/api/health使用-t參數(shù)和-k啟用長(zhǎng)連接模擬穩(wěn)定持續(xù)的負(fù)載。梯度加壓測(cè)試尋找瓶頸點(diǎn)#!/bin/bash # step_load_test.sh URL“http://localhost:8080/api/data” DURATION60 # 每個(gè)梯度持續(xù)60秒 for concurrent in 10 30 50 80 100 150 200 do echo “” echo “正在測(cè)試并發(fā)數(shù): $concurrent” echo “” # 每個(gè)梯度壓測(cè)60秒輸出結(jié)果到獨(dú)立文件 ab -t $DURATION -c $concurrent -k “$URL” “result_${concurrent}.txt” 21 # 簡(jiǎn)單提取關(guān)鍵指標(biāo) grep “Requests per second:” “result_${concurrent}.txt” grep “Time per request:” “result_${concurrent}.txt” | head -1 grep “Failed requests:” “result_${concurrent}.txt” echo “” # 可選每個(gè)梯度之間休息10秒讓系統(tǒng)恢復(fù) sleep 10 done運(yùn)行這個(gè)腳本你會(huì)看到隨著并發(fā)數(shù)增加QPS和響應(yīng)時(shí)間的變化。當(dāng)并發(fā)數(shù)增加到某個(gè)點(diǎn)后QPS不再增長(zhǎng)甚至下降平均響應(yīng)時(shí)間急劇上升失敗率開始出現(xiàn)這個(gè)點(diǎn)就是系統(tǒng)當(dāng)前的一個(gè)性能拐點(diǎn)。5.3 結(jié)果數(shù)據(jù)的自動(dòng)化提取與分析手動(dòng)查看每個(gè)輸出文件效率低下。我們可以用grep,awk等命令快速提取關(guān)鍵指標(biāo)生成CSV格式便于導(dǎo)入Excel或數(shù)據(jù)分析工具進(jìn)行繪圖和對(duì)比。#!/bin/bash # extract_metrics.sh # 遍歷所有結(jié)果文件 for file in result_*.txt; do # 從文件名提取并發(fā)數(shù)例如 result_50.txt - 50 concurrency$(echo $file | grep -o -E ‘[0-9]’) # 使用awk提取關(guān)鍵指標(biāo) qps$(grep “Requests per second:” “$file” | awk ‘{print $4}’) # 提取用戶視角的平均時(shí)間第一行Time per request time_per_req$(grep “Time per request:” “$file” | head -1 | awk ‘{print $4}’) failed$(grep “Failed requests:” “$file” | awk ‘{print $3}’) # 提取90%響應(yīng)時(shí)間 p90$(grep “90%” “$file” | awk ‘{print $2}’) # 輸出CSV格式的一行 echo “${concurrency}, ${qps}, ${time_per_req}, ${failed}, ${p90}” done運(yùn)行./extract_metrics.sh metrics.csv你會(huì)得到一個(gè)包含并發(fā)數(shù)、QPS、平均響應(yīng)時(shí)間、失敗數(shù)、P90響應(yīng)時(shí)間的表格可以輕松地繪制出“并發(fā)數(shù)-QPS”和“并發(fā)數(shù)-響應(yīng)時(shí)間”曲線圖直觀地展示系統(tǒng)性能變化。6. 常見問題、性能瓶頸分析與排查指南在實(shí)際使用ab進(jìn)行壓測(cè)時(shí)你會(huì)遇到各種問題。下面是一些典型場(chǎng)景和排查思路。6.1 ab工具自身限制與誤區(qū)“Socket: Too many open files (24)” 錯(cuò)誤 這是Linux系統(tǒng)限制。ab每個(gè)并發(fā)連接都需要一個(gè)文件描述符。當(dāng)并發(fā)數(shù) (-c) 設(shè)置過高時(shí)可能超過用戶或系統(tǒng)的最大文件打開數(shù)限制。解決方案臨時(shí)提高限制ulimit -n 65535(僅對(duì)當(dāng)前Shell會(huì)話有效)。永久修改編輯/etc/security/limits.conf添加* soft nofile 65535和* hard nofile 65535重啟后生效。檢查系統(tǒng)全局限制cat /proc/sys/fs/file-max如果太小可以通過sysctl -w fs.file-max100000修改。測(cè)試機(jī)成為瓶頸 這是新手最容易忽略的問題。ab是單進(jìn)程的雖然能發(fā)起很多并發(fā)連接但其請(qǐng)求發(fā)送和接收統(tǒng)計(jì)都在一個(gè)進(jìn)程內(nèi)。如果測(cè)試的QPS非常高例如數(shù)萬(wàn)測(cè)試機(jī)本身的CPU可能被ab進(jìn)程占滿或者網(wǎng)絡(luò)帶寬被打滿導(dǎo)致無(wú)法對(duì)服務(wù)器施加足夠壓力測(cè)出的結(jié)果偏低。排查方法在運(yùn)行ab時(shí)另開一個(gè)終端在測(cè)試機(jī)上運(yùn)行top觀察ab進(jìn)程的CPU使用率。如果接近100%說(shuō)明測(cè)試機(jī)是瓶頸。運(yùn)行sar -n DEV 1查看網(wǎng)絡(luò)接口的吞吐量rxkB/s, txkB/s如果接近網(wǎng)卡帶寬上限也是瓶頸。解決方案使用性能更強(qiáng)的測(cè)試機(jī)或者采用分布式壓測(cè)用多臺(tái)機(jī)器同時(shí)跑ab。“apr_socket_recv: Connection reset by peer (104)” 錯(cuò)誤 服務(wù)器主動(dòng)重置了連接。這通常是因?yàn)榉?wù)器在高壓下崩潰、重啟或者達(dá)到了其連接數(shù)限制如Nginx的worker_connections主動(dòng)斷開了連接。排查方向立即檢查服務(wù)器日志如nginx error.log,dmesg查看是否有“out of memory”、“worker_connections are not enough”、“socket overflow”等錯(cuò)誤。6.2 服務(wù)器端性能瓶頸定位當(dāng)ab報(bào)告顯示QPS低、響應(yīng)時(shí)間長(zhǎng)或失敗率高時(shí)問題通常在服務(wù)器端。你需要登錄服務(wù)器進(jìn)行系統(tǒng)級(jí)和應(yīng)用級(jí)排查。系統(tǒng)級(jí)瓶頸排查使用命令行工具CPU瓶頸運(yùn)行top或htop。如果%us(用戶態(tài)CPU) 或%sy(系統(tǒng)態(tài)CPU) 長(zhǎng)期高于80%說(shuō)明CPU是瓶頸。進(jìn)一步用pidstat -u 1或top -Hp [pid]查看是哪個(gè)進(jìn)程或線程消耗CPU最多。內(nèi)存瓶頸運(yùn)行free -m或top。觀察available內(nèi)存是否充足。如果swap使用量 (Si,So) 在vmstat 1輸出中持續(xù)不為0說(shuō)明物理內(nèi)存不足發(fā)生了內(nèi)存交換性能會(huì)急劇下降。磁盤I/O瓶頸運(yùn)行iostat -x 1。關(guān)注%util(利用率)如果持續(xù)接近100%說(shuō)明磁盤I/O飽和。同時(shí)觀察await(平均等待時(shí)間)如果很高說(shuō)明磁盤響應(yīng)慢。網(wǎng)絡(luò)瓶頸運(yùn)行sar -n DEV 1。觀察網(wǎng)絡(luò)接口的吞吐量是否接近帶寬上限。也可以使用iftop查看實(shí)時(shí)流量。應(yīng)用級(jí)瓶頸排查Web服務(wù)器配置檢查Nginx/Apache的配置。關(guān)鍵參數(shù)包括worker_processes/StartServers工作進(jìn)程數(shù)建議設(shè)置為CPU核心數(shù)。worker_connections/MaxClients單個(gè)進(jìn)程的最大連接數(shù)。確保其值大于你的測(cè)試并發(fā)數(shù)。keepalive_timeout長(zhǎng)連接超時(shí)時(shí)間。適當(dāng)調(diào)大有助于提升性能。應(yīng)用服務(wù)器/框架查看應(yīng)用日志是否有大量錯(cuò)誤、超時(shí)或慢查詢?nèi)罩?。?duì)于Java應(yīng)用關(guān)注GC日志頻繁的Full GC會(huì)導(dǎo)致停頓。對(duì)于Python/Node.js等檢查是否有阻塞操作或內(nèi)存泄漏。數(shù)據(jù)庫(kù)/緩存這是最常見的瓶頸源。在壓測(cè)時(shí)監(jiān)控?cái)?shù)據(jù)庫(kù)的CPU、連接數(shù)、慢查詢。檢查緩存命中率是否過低。6.3 測(cè)試結(jié)果不穩(wěn)定的常見原因服務(wù)器有緩存第一次訪問和后續(xù)訪問性能差異巨大。解決方案在正式測(cè)試前先使用ab進(jìn)行幾輪預(yù)熱Warm-up讓服務(wù)器的緩存如數(shù)據(jù)庫(kù)查詢緩存、應(yīng)用層緩存熱起來(lái)然后再開始正式測(cè)試并記錄結(jié)果。外部依賴服務(wù)不穩(wěn)定如果你的應(yīng)用依賴其他API或服務(wù)它們的性能波動(dòng)會(huì)直接影響你的測(cè)試結(jié)果。盡量在隔離的環(huán)境如壓測(cè)專用數(shù)據(jù)庫(kù)、Mock外部服務(wù)下進(jìn)行測(cè)試。測(cè)試環(huán)境干擾測(cè)試環(huán)境與別人共享資源被搶占。盡量在獨(dú)立的、干凈的機(jī)器上進(jìn)行測(cè)試。JIT編譯影響針對(duì)Java/PHP等應(yīng)用服務(wù)器在啟動(dòng)初期JIT編譯器尚未優(yōu)化熱點(diǎn)代碼性能會(huì)較差。預(yù)熱一段時(shí)間后性能才會(huì)達(dá)到穩(wěn)定。這也是需要進(jìn)行預(yù)熱測(cè)試的原因之一。避坑技巧實(shí)錄一次真實(shí)的性能調(diào)優(yōu)案例我曾壓測(cè)一個(gè)返回JSON數(shù)據(jù)的API初始QPS只有120。ab報(bào)告顯示Time per request很高。服務(wù)器CPU使用率卻不高。首先我懷疑是網(wǎng)絡(luò)但sar顯示網(wǎng)絡(luò)流量很低。查看Nginx錯(cuò)誤日志發(fā)現(xiàn)大量*1024 worker_connections are not enough while connecting to upstream警告。原來(lái)是Nginx到后端應(yīng)用服務(wù)器的連接池滿了。調(diào)整Nginx配置增加了upstream塊中的keepalive連接數(shù)并增大了worker_connections。再次壓測(cè)QPS提升到300但CPU依然空閑。使用curl -w “\ntime_total: %{time_total}\n”手動(dòng)測(cè)試發(fā)現(xiàn)DNS解析時(shí)間占了大部分。原來(lái)API URL用的是域名每次請(qǐng)求Nginx都要解析。在Nginx的upstream中直接使用IP地址或者在Nginx的http塊中配置resolver并啟用緩存。最終壓測(cè)QPS穩(wěn)定在了850左右。關(guān)鍵教訓(xùn)性能瓶頸可能出現(xiàn)在任何環(huán)節(jié)客戶端、網(wǎng)絡(luò)、Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)。需要結(jié)合ab的報(bào)告和系統(tǒng)的全方位監(jiān)控像偵探一樣一層層排查。ab告訴你“病了”性能差而其他工具幫你找到“病因”瓶頸點(diǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九色PORNY自拍成人精彩视频| 五月激情婷婷综合| 99色| 99爱视频| 国产午夜一区二区三区| 另类激情五月| 狠狠婷婷爱| 日韩成人电泉AV| 婷婷五月丁香基地| www.五月婷婷久久.com| 日日干天天| 久久综合热17c| 2005天天干天天1| 欧美色色色| 中文AV在线观看| www.色窝| 国产丁香五月天婷婷| 亚洲无aV在线中文字幕| 涩五月丝袜婷婷| 五月婷婷色| 日韩超碰在线| 庭庭久久内射| 五月色丁香| 欧美久久婷婷| 华人在线免费| 色婷婷狠狠18| 五月天婷婷社区| 天天综合五月| 五月天a婷婷伊人| 亚洲成人AV在线播放| 久热精品9999| 在线91日韩| 激情操逼婷婷| 色婷婷亚洲综合天堂| 99热久久这里只有精品| 香蕉久久国产AV一区二区| 激情五月天色色网| 亚洲人妻av| 99热这里都是精品| 久久免费精彩视频| 99综合网| 国产免费一区二区三州老师F1……| 五月婷在线观看| 婷婷综合激情| 午夜精品人妻无码一区二区三区| 五月丁香亭亭电影久久| 久色大香蕉| 90色免费视频| 99热99思午夜精品| 五月丁香六月婷婷啪啪| 密黄站| 天天综合网站| 天天激情站| 三十熟女| 婷婷五月天首页激情| 四色五月婷婷| 99热热这里只精品996小说| 丁香五月婷婷久久久| 九月婷婷综合色干| 九九综合九九| 五月丁香久久久| 99区视频| 99热色精品| 日韩在线视频中文字幕| 综合五月婷婷| 99日在线观看视频| 成久综合视频| 天天高潮夜夜爽| 国产无套精品一区二区| 五月婷婷在线视频| 伊人超碰在线| 日本的α片xxxwww| 91婷婷五月天嫩女| 91五月天| 久久99大全| 日本色色色| 久久伊人五月天| 天天色粽合合合合合合合| 婷婷五月免费视频| 天天天天干| 亚洲99精品九九在线| 奇米网大香蕉| 亚洲综合网激情小说| 深爱丁香激情| 婷婷激情图片| 久久视频婷婷| 五月婷婷自拍| 五月婷婷大香蕉| 热99玖玖99玖玖99九九| 91超级碰碰碰| 激情婷婷五月| 九九操屄| 99re这里只有精品国产99| 99re这里只有精品首页| 久机视频这只有精品| www.天天干| 真实熟女-91九色| 五月婷婷激情性爱| 六月激情久久| 超级碰碰碰久久网站| 色三级色三级| 婷婷国产成人| 伊人深爱综合| 琪琪色五月天| 丁香五月婷中字幕| 嫩草AV久久伊人妇女超级A| 99啪在线视频| 国色天香伊人狠狠色| 久热中文字幕| 99 福利 导航| 欧美成人A片AAA片在线播放| 国产成人AV| 大香蕉九九热| 婷婷欧美| 99热欧美精品| 五月丁香五月婷婷在线观看| 久久六月婷婷| 热99这里只有精品视频| 色99在线| 婷婷五月激情六月丁香| www.狠狠| 91丨熟女丨首页| 操骚货在线| 福利视频在线播放| 可以免费观看的av网址| 99精品无码视频| 五月丁香性| WWW.桔色成人.COM| 色婷婷视频| 成人短视频在线免费观看| 99在线看视频| 五月天激情国产综合婷婷| 97香蕉碰碰人妻国产欧美| 六月婷婷啪啪| 色色色色色色色色五月先| 大香焦A∨| 天天粽合合合合| 色播五月婷婷| 激情综合啪啪| 久久激情视频| 五月丁香色色网| 日本三级日本三级三级人妇四虎| 婷婷五月综合在线| 国产中文亚洲欧美日韩性交| 疯狂做受XXXX高潮A片动画| 五月天婷婷影院| 99精品在线观看视频| 激情五月天.色网| 26uuu国产精品| 五月色丁香| 丁香六月色婷婷| 日本一级特黄大片AAAAA级| av第一二区| 婷婷色五月丁香六月欧美啪| 久婷婷五月天影院| 五月丁香啪啪啪| 99热老司机| 热久国产| bbwcuckold精品熟妇| 色欲色香综合网| 欧美99热| 日韩精品视频中文字幕| 五月在线| 五月丁色AV| 六月天婷婷| 婷婷五月激情基地| 岛国午夜视频| 婷婷伊人五月天| 久久之人妻| 99在线观看| 亚洲色五月天是什么| 伊人激情| 五月天播播中文字幕 | 五月天另类激情在线| 蜜臀99久久精品久久久久| 欧美性爱五月天| 大香av| 欧美日韩成人在线| www色综合| 久久婷婷五月综合一| 色日本五月天| 色婷婷五月六月丁香综合视频| 国产精品国产成人国产三级 | 玖玖婷婷五月天| 五月六月丁香激情视频| 色九月丁香婷婷蜜桃在线观看| 婷婷五月天综合久久| 超碰日日操| 色色色色色色网站| 亚洲va欧美va天堂v国产综合| 欧美影院婷婷| 9 大屁股在线视频精品| 开心五月婷婷| 日本在线视频www色| 五月情丁香色| 97婷婷丁香| 久久小视频| 丁香五月婷婷骚视屏| 色欲五月婷婷| 26uuu成人网| 91人人网| 亚洲色网址| 五月六月丁香激情视频| 五月天久久网站| 高清一区二区三区日本久| www.狠狠干com| 99热色婷婷| 丰满少妇猛烈A片免费看观看| 五月天婷婷在线播放| 99精品在线播放| 开心五月婷婷伊人| 色五月激情五月| 色老久久| 伊人五月天| 色五月 激情婷婷 综合五月天| 大香婷婷| 久热精品9999| 桃色五月婷婷| 国产精品A成V人在线播放| 五月婷婷丁香五月| 五月婷婷中文字幕| 亚洲 五月 婷婷 成人| 五月婷婷综合网| 99视频日韩| 亚洲精品一区中文字幕乱码| 婷婷深爱五月| 色欲天天综合网| 五月婷婷综合精品| 久久这里只有国产视频| 久久99热精品a片在线观看| 亚洲操逼片| 五月婷中文娱乐综合| 国产美女无遮挡裸体毛片A片| 久久看婷婷| 天天干天天爽天天操| 狠狠操天天操| 午夜理论片最新午夜理论剧| 成人五月天综合网| 久久五月婷婷电影| 婷婷99| 网色99| 9热在线观看| 另类丁香五月天区图| 99热官网| 黑人巨粗进入警花疼哭A片| 91人妻PORNY九色大屁股| 九色啦蜜臀| 五月丁香六月婷婷欧美综合| 色婷婷亚洲六月婷婷中文字幕| 色婷婷六月精品| 九九sese| 很很干五月天| 亚洲久久婷婷| 国产精品日韩十五区| 久久婷婷婷婷伊人| 99国产视频网| 久99热在线观看| 五月天综合| 欧美中文五月天| 亚洲亚洲亚洲AAAAAA| 色婷五月天网站| 五月天成人网婷婷| 可以观看的AV| 五月伊人网| 亲子乱AV一区二区三区下载| 91九色首页| 亚洲色五月| 国产67194| 狠狠色综合网| 丁香五月成人自拍| 五月婷婷人人人操| 狠狠另类视频| 色色色色色网站| 欧州色色| 99这里只有精品|v| 琪琪色五月婷婷老师| 五月精品99综合| 七七久久婷婷| 深爱激情中文五月天av| 精品99只有。| 色在线99| 大伊香蕉精品视频在线| 99超碰在线观看| 另类图片天天影视在线观看| 秋霞电影理论| 婷婷久久精品| 色色欧美色色| 九色91美女| 这里只有精品日韩精品| 国产五月天欧美色| 99色在线观看| 激情久久综合网| 日本色色图| 色色色视频免费无码| 99九九视屏| 五月综合婷婷五月| http:色情日本com| 午夜爱插插| 激情com| 日韩久久这里只有精品| 五月丁香黄色视频| 五月婷综合激情| 日本欧美在线| 韩国天天婷婷| 日本少妇裸体做爰高潮片| 亚洲成人无码免费| 丁香五月婷婷亚洲综合精品在线| 丁香五月婷婷亚洲色图| 爆乳熟妇一区二区三区四区| 99九九精品| 丁香五月婷婷欧美成人色图| 久久曰曰| 99视频久久| 五月天婷婷导航| 婷婷五月天激情电影| 丰满人妻妇伦又伦精品国产| 色五月激情网| 中文字幕成人影视| www九月婷婷| 亚洲五月丁香综合网| 99热6这里只有精品| 人妻久久久| 久99久视频精选| 日本va欧美va欧美va精品| 99热在线观看精品免费| 97人妻超级碰碰碰碰碰| 亚洲五月天综合色| 激情六月综合| 久久五月婷| 天天插综合| 久99| 婷婷五月丁香五月丁香| 91美女被操| 亚洲热久| 激情五月综合| 99热人人操人人操| 五月丁香六月婷婷久久久综合| 色优久久| 婷婷综合久久| 91超级碰| 91久热| 9热视频在线观看| 岛国午夜视频| 免费在线观看欧美激情xx小视频| 香蕉视频性爱BB做爱| 丁香五月婷婷久久久| 麻豆雪千夏| 久久密臀婷婷| 噜噜色噜噜网| www91久久| 99性视频| 97婷婷在线| 噜噜噜噜综合在线| 在线观看996精品| 激情五月少妇| 亚洲色图在线视频| 亚洲黄色精品| 久久思思热| 97人人操| 婷婷综合五月| 伊人大香五月天| 激情五月天婷婷| www.狠狠| 国产XXXX搡XXXXX搡麻豆| 777久久综合视频| h在线看免费版在线看| 玖热精品综合视频| 另类图片五月天| 热无码A∨| 思思热在线观看| 九九视频精品在线免费| 99操九九网| 狠狠色综合五月| 激情综合文学| 97碰碰视频| 婷婷黄色| 91九九九九| 丁香五月六月婷婷怡红院| 丁香五月婷婷激情蜜桃| 91九色无码日韩| AV在线大香蕉| 99re热视频这里只精品| 黄色激情五月天| 久婷久婷激情肉| 久久女婷| 亚州AV超碰人人操| 久久女人天堂| 日韩av手机在线观看| 人人摸人人干人人做| 五月亭亭色| 碰超99| 激情深愛五月視頻| 91xxxx九色| 91在线日| 新激情五月天色播| 在线婷婷| 久久久亚洲成人无码A片| 欧洲激情精品婷婷| 亚洲性天天| 牛色色碰| 亚洲精品视频在线播放| 天天色综合综合| 高清国产AV| 丁香婷婷久久| 91人碰| 婷婷黄色五月天在线视频| wwww.9免费视频| 色婷婷丁香| 五月丁香婷中文字幕| 9久9久| 天天爽人人综合免费7799| 五月婷婷之美女图片| 秋霞AV淫| 色婷小说| 亚洲精品久久久久久久久久吃药| 色婷婷五月综合在线| 天天爱天天做天天舔| 九月丁香八月婷婷久久综合久97| 欧美精品中文字幕亚洲专区| 亚洲精品成人| 婷婷五月天在线一区| 久久这里只有国产| 超碰免费大香蕉| 日韩黄色影院| 九九无码| 亚洲AV成人片无码网站| 精品人妻一区二区三区四区不卡在| www。五月天激情| 丁香婷婷午夜| 超极99精品| 思思热视频| 久久久这里有精品| 日本成人小说婷婷六月| 婷婷丁香五月激情图片| WWW,激情五月天,COM| 色五月,婷婷大香蕉| 无码激情AAAAA片-区区| 久久婷综合| 日本色色网站| 色久综合| 婷婷五月天成人网| 性综合网| 99热这里都是精品| 五月婷婷啪啪| 色丁香五月| 91小黄书网址在线观看| 婷婷丁香激情五月| 九月婷婷丁香| 开心五月丁香啪| 国产精品久久在线观看技巧| 韩国情人在线电视剧免费观看高清版全集 | 婷婷五月天99| 亚洲 在线 性爱 | 日本色婷婷五月天成人电影| 色5在线| 99玖玖免费视频| 99精品超在线播放| 色婷婷先锋| 色九月综合网| 六月婷婷香蕉| AV在线中文| A1片久久久| 婷色视频| 色婷婷9| 欧美日本黄色| 热99国产精品| 美女100%露全身无挡网站| 五月丁香网av| 婷婷五月天激情综合深爱| 五月婷伊人| 色五月婷婷、老熟女| 色情丁香五月天| 婷婷五月天亚洲天堂| 一區四區歐美日韓| www五月天激情com| 久久久无码精品成人A片小说| 丁香五月AV| 伊人超碰| 少妇高潮呻吟A片免费看软件 | 常久最新免费的色吊丝| 无码九九| 久99久视频免费观看| 91九色小视频| 激情啪啪五月天| 五月婷婷激情色情网| 99热官网| 玖玖在线视| 婷婷丁香五月综合网| 九九熱最新視頻| 色婷婷视频| 久久婷婷五月天激情新地址| 五月青青草综合| 天天日夜夜爽。| 欧美成人性爱网| 欧美性爱一区| av国产精品| 丁香,开心成人,久久| www.韩日视频| 五月婷亚洲精品AV天堂| 色人五月婷婷| 丁香综合婷婷五月天| 大香蕉久艹| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 久久草中文日韩欧美| 久久免费精品小视频| 婷婷久久夜| 久久机热/这里只有精品| 97操碰碰无码视频| 五月天激情色色| 激情 婷婷| 99色色网站| 九九久热| 疯狂做受XXXX高潮A片| 婷婷六月成人| 天天五月香欧美| av性爱网站| 丁香六月婷婷久久综合| 国产操肏网站| 五月丁香婷婷中文网| 婷婷射图| 97AV人人插人人操| 五月天a婷婷伊人| 久操97| 成人无码精品1区2区3区免费看| 热久免费视频9| 在线观看熟女少妇| 激情综合色婷婷啪啪六月天| 色婷婷网大全在线| 播五月婷婷开心| 深爱激情丁香| 亚洲狠9| 思思色播| 色婷婷97| 欧美色偷拍| 天天干天天干天天干天天干天天| 色色日本| 啪啪丁香五月| AVDV久久| 夜色.cnm| 激情五月丁香六月婷婷| 丁香五月综合| 色5月婷婷| 五月婷在线| 激情综合网激情五月俺也去| 婷婷五月天无码视频| 亚洲无码成人| 久久加勒比| 天天免费日日夜夜夜夜| 五月日韩中文字幕| 亚洲婷婷丁香五月天激情小说| 超碰在线精品| 五月天婷婷操逼视频| 激情五月天伊人影院| 激情内射人妻1区2区3区| 97人妻碰碰碰久| 婷婷色在线视频| 丁香香蕉婷婷| 色综合久久五月天| 国产激情在线观看| 日本久久人| 亚洲成Av人片乱码色第1集| www.五月激情红色| 九九99精品免费播放| 婷婷激情蜜桃玖玖丁香| 五月天电影网| www.色五月天.com| 蒲京久久无码视频| 狠狠xx| 一本久婷婷综合| 激情五月婷婷色播网| 婷婷五月综合性爱| 五月丁六月香| 丁香五月开心亚洲| 亚洲综合九九| 综合激情五月四射婷婷| 婷婷伊人綜合中文字幕| 啪啪五月天啪啪| 2025最新亚洲激情在线| 日韩精品AV一区二区三区| 激情无码五月天| 99热婷婷| 婷婷五月天激情五月天| 日本黄色精品| 天天色宗合| 99热无码精品| 99国产99| 精品99在线| 妇激情基地| 国产真人做爰视频免费| 这里精品| 日本久久婷婷| 99精品成人无码A片观看金桔| 天天摸夜夜爽天天做| 五月丁香婷婷激情图片| 色婷婷A| 思思99热热热99| 国自产拍偷拍精品啪啪一区二区 | 91久久精品无码一区二区三区| 91性高潮久久久久久久久| 美女va| 7777国产盗摄农村女人| 色婷婷五月综合在线| 亚洲色情久久| www.91av.com| 在线另类视频| 亚洲AAAA网| 18久久| 能看的AV| 亚洲色网址| 全亚洲最大的婷婷五月天网站COM| 久久九九怡红院| 天堂伊人干| 99热这里只有精品9| 五月婷婷六月丁香免费| 亚洲视频另类| 丁香五月色| 激情五月婷婷丁香| 99视频精品视频| www.久9| 丁香九月婷婷| 99久久婷婷五月综合| 五月天亚洲最大成人| 久久9热综合| 91日本在线观看| 开心激情网五月| 六月丁香婷婷拍拍| AV成人在线播放| 综合五月激情| 五月天婷婷综合久久| 色八戒操婷婷| 中文幕无线码中文字蜜桃| 久色大| 色婷婷五月综合在线| 91色九| 久99久视频精品| 丁香婷婷影院| 五月婷婷啪啪啪| 色婷婷六月天在线| 日日色五月天| 天天插天天玩天天干| 丁香五月婷婷影院| yazhoujiqingav| 26uuu欧美日本| 天天久| 69激情小说| 欧美情月伍月天| 五月天婷婷丁香花| 色欲色香综合网站| 91久久网站| 成人片黄网站色大片免费毛片| 噜噜噜狠狠色综| 久久99网| 五月丁香婷婷综合视频| www.夜夜騎夜夜狠| 天天爽,天天操。| 99精品视频免费在线播放| 日本99在线| 99热狠狠操| www.99操| 99资源人人| 玖玖99婷婷| 青柠影视免费高清电视剧| 99久在线精品99re8| 日韩人妻在线观看| 亚韩在线视频| 91se在线视频| 婷婷激情综合网| 人妻22p| 综合久久影院| 色色色婷婷五月| 天堂综合久久| 91久久1118| 婷婷的久久网站| 九色婷婷| 狠狠操狠狠插| 国产人妻人伦精品一区二区| 国色天香成人网| 亚洲国产精品VA在线看黑人| 丁香婷婷五月份| 欧美婷婷色| www.色色色com| 五月停停99| 丁香五月婷婷欧美成人色图| 五月天激情网址| 97久久精品| 99热精品在线| 激情婷婷人妻| 激情五月婷婷色| 五月亭亭狠狠| 色九网| 五月天开心网| 色啪久 | 搡BBBB搡BBB搡18| 日本综合九九| 97欧美在线| 99天堂网| 精品成人无码A片观看香草视频| 国产精品婷婷午夜在线观看| 噜噜狠狠色综合久| 亚洲五月婷婷| 91人妻九色大屁股| 天天操婷婷| 婷婷色色综合激情| 日本久久爱| 日本三级中国三级99| 成人丁香五月| 综久久久| 婷婷五月丁香五月| www色中色综合| 色婷婷久久| 久久五月丁香| 婷婷激情五月天激情小说| 丁香婷婷五月六月久久| 色五月婷婷激情五月| 久久这里有精品| 538在线精品| 7777国产盗摄农村女人| 久久久91| 日韩欧美骚货| 国产成人99久久亚洲综合精品| 久久99热网| 91干在线| 99国产小视频| 五月婷婷影院| 五月天伊人久久久久| 这里只有视频精品| 99热在线播放精品| 婷婷丁香五月天哟啪| 九月丁香五月婷婷| 日本天天操| 亚洲AV无码一区二| 97色色色色色色色色色色色色色| 日韩在线视频网站| 丰滿爆乳一区二区三区| 蜜臀AV在线成人| 99热首页| 欧美色激情四射| 丁香五月激情六月欧亚激情综合导航| 天天做天天爱天天要| 五月天婷婷综合网| 欧美激情综合色综合啪啪五月| 亚洲小说欧美激情| 日本综合久久| 国产综合色婷婷精品久久| 深爱1激情网| 婷婷色综合| 91精品国产91久久久久青草| 色五月婷婷一二| 色啦啦视频| 久久只有精品| 色色色99| 色九九综合| 超碰在线免费9| 操比激情五月| 丁香五月婷婷综合网| 99精品无码| 深爱五月月天| 99久久婷婷国产综合| 97干婷婷| 五月婷婷激情综合av| 67194线路二在线观看| 日日噜噜久久婷婷五月天| 9久热| 婷婷操久久| 五月激情六月丁香| 一本九九色| 伊人AV五月婷| 久久月天堂| 亚洲va欧美va国产综合久久久| 久久久国产精品黄毛片| 深爱激情AV| 国产精品人人做人人爽人人添| 狠狠五月激情在线| 午夜色婷婷| 在线va网站| 婷婷五月av| 新99色色色色色色| 国产精品涩涩涩视频网站| 五月色亭丁香| 丁香六月婷| WWW.桔色成人.COM入口| 精品成人无码A片观看香草视频| 久久6这里只有精品| 噜噜在线| 色色网站免费观看| www...com黄在线观看| 五月久久丁香| 99免费青青蜜臀| 五月婷婷深深爱| 26UUU欧美激情一区二区| 99热大香蕉| 亚洲成人免费电影| 欧美在线干| 涩涩涩婷婷| 91嫩草国产线观看亚洲一区二区| 五月丁香婷婷开心| 大香蕉Av在线| 色五月婷婷综合| 天天做天天双| 亲子乱AV-区二区三区| 五月丁香六月婷婷网| 激情爱爱网站超大免费| 伊人五月天在线| 情五月亚洲婷婷| 婷婷字幕在线| 五月丁香六月成人| 色狠狠999综合网| 久久婷婷七月丁香| 99热精品在线观看| 丁香色情五月综合激情| 操人妻AV| 久久九精品| 丁香婷婷精品视频| 激情五月天影院| 人人97碰| 亚洲AV影片在线观看| 夜夜干天天操| 99在线观看亚洲| 成人免费超碰| 香蕉综合在线| 伍月婷婷六月丁香| 激情综合在线观看| 免费三级黄色| 91超碰在线播放| 99久久思思| 一本色道久久88加勒比—| 99热婷婷| 久久婷婷六月综合综合| 丁香六月亚洲| 日本免费91| 日日夜夜天天| 亚洲人成色A777777在线观看| 天天做天天要天天爱| 九色成人AV在线| 五月激情视频| 激情婷婷啪啪| 婷婷日在线观看| 超爽内射| 天天插天天干| 女同激情久久av久久| 色青青视频| 亚洲综合视频网| 日本91在线播放| 激情五月丁香五月| 26uuu精品一区二区| 五月天伊人av| 99黄色在线视频精品熟女| 久久se 综合网| 操人91| 人妻内射视频| 六月五月久久丁香| 色色色综合网| 99在线一区| 国产又爽又猛又粗的视频A片| 激情六月婷婷| 五月激情婷婷丁香| 天天撸夜夜爽| 婷婷6月综合网| 97丁香五月| 99视频综合网| 亚洲亚洲人成综合网络| www.yw尤物| 丁香五月婷婷偷拍| 九九热国产| 丁香五月人妻熟女| 天天爽成人综合网站| 婷婷九月综合| 婷婷伊人视婷婷婷| 91黄色五月天视频| 亚洲无AV在线中文字幕| 五月婷婷天| 在线另类视频| 精品99在线观看| cc精品国产性传播| 欧美va亚洲va在线播放| 五月激情精品视频| 五月婷婷干干干| 猫咪伊人久久| 欧美人久久| 久久加勒比| 99日视频在线| 亚洲一二三网| 激情五月成年| 久99婷婷色综合| 9久热精品在线视频| 中文幕无线码中文字蜜桃| 五月丁香六月激情在线| 婷婷色色五月天| 热九九精品| 久久婷婷亚洲| www.99色| 人人爱人人草| 丝袜大香蕉| 五月丁香| 婷婷五月花| 色五月丁香五| 久久综合五月情| .肏屄视频一区二区| 99精品手机在线视频| 91n网站cad入口在线观看| 久久婷婷一级片| 日本97人人| 五月天婷婷涩涩| 色五月婷婷五月天激情综合| 五月天婷综合| 午夜一区| 五月在线婷色| 99热这里只有精品69| 亚洲久久婷婷| 婷婷成年人免费视频| 亚洲熟妇无码乱子AV电影| 五月天丁香成人社| 色色99| 色色色综合网| 超碰熟女农村在线69| AV在线不卡网站| 热99免费在线| 丁香五月性| 丁香婷婷六月天| 新精品99| 色丁香五月天| 婷婷亚洲综合| 9久热视频| 五月婷婷深深爱| 欧美五月丁香在线| 岛国av电影网站| 类似婷婷激情综合网站| 色墦五月丁香| 96自拍视频九色在线观看| 一本狠婷婷综合| 97干欧美| 99色1| 99热综合| 亚洲综合另类| 狠狠色噜噜色狠狠狠综合色 | 久久五月天激情婷婷| 9999三级片| 激情五月无码| 久久久精品人妻| 天天干天天干天天| 丁香九月激情在线视频| 婷婷操久久| 激情综合网激情五月网| www.天天日| 99熟女| avv在线| 九九精品这里只有| 丁香六月欧美| 欧洲色区| 2016日日夜夜操| 激情五月天开心网丁香无码| 99精品视频免费观看| 婷婷中文字幕| 六月丁香停| 五月丁香六月婷婷亚洲激情综合| 激情五月天婷婷| 国产亚洲精品AAAAAAA片| 久久玖玖综合| 天天拍夜夜爽日日| 伊人久久大香线蕉av最新| 欧美精品在线观看| 五月天啪啪视频| 九色色| 亚洲激情网| 久久久性爱网| 毛片毛片毛片毛片| 99热在线观看| 涩九九九九| www.ppypp| 五月丁香婷婷综合| 涩综合网| 久久免片| 色就色94欧美setu| 激情五月图| 五月丁香琪琪| 五月婷天堂视频| er99免费视频在线| 天天日天天干天天操| 97成人超碰免| 性生活久久朋友人妻| 国产成人精品一区二区三区视频| 狠狠色狠狠| 岛国av网站| 久久九九思思| 丁香久久五月天视频在线观看| 色色网站| 丁香大香蕉| 丁香婷婷色色| 亚洲av午夜精品一区二区| 综合图区激情| 99免费超碰在线| 丁香五月色色色色| 亚洲久热| 久久五月天婷婷| 婷婷97碰碰| 夜夜爱爱亚洲| 狠狠做深爱婷婷久久综合一区| 婷婷综合丁香| 天天日,夜夜爽| 色情综合网| 人人干天天舔| 国产精品色色| 人人色人人摸人人看| 淫视馆aV二区一区| 九九99免费理论| 99re视频在线播放| aa久久| 久久五月网| 99热碰碰热| www.久久久.com| 超碰成人在线观看| 九九综合色| 91久久婷婷| 狠狠色成人影片| 激情五月天在线观看色婷婷| 26UUU精品一区二区| 亚洲婷婷视频| 色色综合网站| 欧美久久五月婷婷| 九九99久久精品| 婷婷深爱五月丁香网| 碰久久精品w| av狠狠操| 97人人搞| 婷香五月激情视频| 日本婷婷综合精品| 成人无码免费一区二区中文| 激情综合色婷婷啪啪六月天| www.1024久久| 丁香婷婷激情五月天无毒不卡蜜桃| 影音先锋91资源站| 日本在线视频www色| 欧美色色色| 99国产精品久久久久久久久久久| 丁香花五月天| 97碰 在线视频观看| 人人摸人人澡人人| 九月婷婷久久久| 五月综合激情婷婷六月色窝| 热热久久久久久久久| 日笨久久网| 99热欧美| 五月丁香综合精品| 色五月婷婷天堂| 五月婷婷久久综合| 天天操天天操| 1234操逼网| 婷婷综合久久| 六月色色婷婷| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 久久精品国产一区二区三区四区 | 99热在线观看| 99久久大片| 国产精典视频在线观看| 大地9中文在线观看免费高清| 五月激情婷婷开心| 97干97色| 婷婷中合| 久久资源网五月婷| 色九月激情综合网| 《久久综合九色综合97婷婷| 99热在线观看免费精品| 丁香六月亚洲综合| 久久作爱| 在线免费视频caop| 日韩亚洲视频| 色久激情在线| 91avse| 91狼友视频在线观看| 成人网站在线观看视频| 色婷婷九月综合| 97狠狠色| 五月深情久久| 五月丁香啪啪啪| 天天干天天干天天操| 深情六月婷婷综合久久| 五月婷婷色白丝| 色婷婷丁香五月| 天天天天操| 婷婷色色播五月天| 51成人| 碰碰碰碰碰99| 欧美久热| 亚洲成人网站在线播放| 亚洲性色XXXXX| 婷婷五月天成人在线视频| 青青操日本摸摸看看| 天天干天天插| 亚洲网视屏| 思思热视频| 99久久精品网| 亚洲激情综合色站| 九九re精品视频在线观看| 亚洲日比视频| 激情五月婷婷| 色播五月婷婷| 日韩99视频| 婷婷五月天狠狠| 99在线视频在线观看| 99激情网| 任你日视频| 色色影院黄大片| 日韩熟女啪啪视频| 大地资源色婷婷视频在线| 99精品在线播放| 偷偷操99| 26uuu成人网| 日韩精品二三区| 99视频在线观看欧| 久久这里只有精品07 | 成人五月天。COM| 99原创自拍视频在线观看| 丁香五月AV| 120分钟婬片免费看| 欧美五月婷婷| 九九色大香蕉| 欧美综合激情丁香五月六月婷| 日逼免费视频| 综合色视频| 变态另类9| 啪啪 综合网| 丁香激情五月天| 婷婷激情小说| 久久狠狠干| 色色综合色| 久久久久久久久人妻| 精品51XX| 色婷婷五月天在线观看| 99re免费精品视频| 欧美在线视频免费播放| 激情五月婷婷网| 婷婷五月综合激情免费视频| 1010日日无码| 婷婷五月天亚洲综合网| 五月天色在线| 丁香五月23111| 色五月成人网| 天天日天天干天天插天天射| 丁香五月亚洲婷婷| 丁香五月中文字幕久色| 五月天婷婷丁香社区| 丁香五月天激情网| 这里只有精品视频99| 国产VA亚洲VA96| 五月天婷婷激情综合| 丁香婷婷影院| 色日本综合| 99久在线精品| 天天爽夜爽| 成人视频网| 韩国中文字幕91| 伊综合蕉| 成人资源在线| 五月婷婷五月天| 久久最新色色色| 亚洲综合色网站| 亚洲VA在线| 玖玖热视频| 丁香六月婷婷综合激情欧美| 激情五月久久| 夜夜嗨一区二区三区直播内容| 婷婷五月激情欧美大胆视频| 人人97操| 婷婷黄色| jiujiu无码五区| 午夜丁香五月天综合| 久久久无码精品成人A片小说| 日本精品99| 99国产精品久久久久久久久久久 | 中文字幕在线免费看线人| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 教师性爱毛片| 婷婷五月天毛片| 国产 码在线成人网站| 久久婷婷五月综合激情国产| 激情五婷网| 97福利视频| 极品人妻VIDEOSSS人妻| 色爱99| 清纯唯美 激情四射| 欧美碰碰| 成人噜噜网| 久久久久人妻精选| 日韩成人中文字幕| 五月丁香六月激情综合| 天天操天天国产三级片处女学生妹| 日本婷久久| 五月丁香六月婷婷a v| 五月丁香激情综合啪啪| 色5月婷婷| 日韩有码久久| 99高级会所久久| 天天摸天天舔天天天天爽| 六月丁香五月婷婷| 久久色午夜在线导航| 日日噜人人人做人| 亚洲99热| 国产精产国品一二三在观看| 五月婷婷黄色毛片| 99 色色吧| 久久伊人9| 青青草婷婷五月天| 996er热| 99色爱| 九九在线精点品| 男人天堂AV在线一区二区| 五月天婷婷色五月天| 天天日综合| 成人午夜天| 婷婷丁香五月麻豆| 激情婷婷色五月| 国产伦亲子伦亲子视频观看| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 六月婷婷激情| 婷婷成人五月天成人文学小说| 婷婷久久网| 丁香婷婷色情| 一级操逼内射在线视频| 婷色五月天| 久久婷婷色色| 九九99精品视频在线观看| 99精品偷自拍| www.狠狠| 在线天堂9| 狠狠色噜噜狠狠亚洲A∨| 五月综亚洲| 丁香婷婷深情五月亚洲| 91打屁股视频网站| 丁香六月激情网C0W| 无码日本精品XXXXXXXXX| 婷婷五月电影| 丁香五月天激情视频| 丁香五月婷婷色综合| 久久久久久草黄色片AV在线观看| 丁香五月天黄色片| 五月婷婷激情日本| 五月丁香婷婷六月| 婷婷99视频全集高清| 色婷婷伦理| 婷婷五月天激情四射| 午夜一区| 中文字幕在线播放视频| 另类 在线| 99精品热| 婷婷色色丁香| 国产裸舞表演WWWW| 影音先锋男士资源网一区| 色婷婷伦理| 亚洲天堂婷婷丁香| 丁香五月aV| 国产婷婷色综合AV蜜臀AV | 六月丁香啪| 久久激情综合| 婷婷五月天伊人在线| 五月婷在线| 婷婷色五月婷婷姐妹| 激情小说婷婷| 狠狠操之狠狠操| 九九热免费视频| 色色影院aaaav| 无码激情AAAAA片-区区| 夜夜天天久久婷婷| 久久国产一区二区三区| 欧美婷| 97超碰9久热婷婷热| 思思热在线精品视频|