免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

TPS、并發(fā)數、響應時間底層關系:從Little定律到性能測試實踐

TPS、并發(fā)數、響應時間底層關系:從Little定律到性能測試實踐 在這個月面試了 10 個候選人之后我只能說“會做性能測試”和“懂性能測試”之間隔著一條很深的認知鴻溝。絕大多數簡歷上寫著“熟練掌握 JMeter有性能測試實戰(zhàn)經驗”的候選人都能熟練地告訴我線程數設多少、Ramp-Up 怎么配、聚合報告怎么看。但當我把這個問題拋出去——TPS、并發(fā)數、響應時間這三者的底層關系是什么——場面往往會陷入尷尬的沉默。有人照著面試題背答案“TPS 并發(fā)數 / 響應時間”。這個公式對嗎對但不全對。它只在極理想的模型下成立。一旦系統(tǒng)出現排隊、資源爭搶、線程阻塞這個公式會把你的測試引向一個深坑。還有一個有意思的現象是最近搜“jmeter 性能測試步驟”的人特別多但很多人在第一步就錯了他們根本不確認系統(tǒng)真實的并發(fā)用戶數是多少直接設置線程數 500、1000 就開始壓。壓出來的 TPS 很漂亮卻是“虛高”的。這篇文章不打算繼續(xù)講 JMeter 的按鈕在哪那些基礎操作屬于入門教程。我真正想做的是把 TPS、并發(fā)數、響應時間三者在底層的關系徹底講透包括它們怎么互相影響、為什么會出現 TPS 虛高、真實業(yè)務場景中這個關系會發(fā)生什么變形以及面試中怎么回答才不會被面試官追問到原地“爆炸”。讀完這篇文章你至少能得到三樣東西一套能說服面試官的、關于三者關系的底層邏輯框架。一個判斷系統(tǒng)真實并發(fā)承載能力的“靠譜”方法。若干直接能用于工作場景的性能測試設計思路。1. 這篇文章真正要解決的問題先說一個扎心的事實大部分性能測試報告寫出來只是為了應付上線檢查而不是為了發(fā)現系統(tǒng)瓶頸。如果你只是想把壓測報告做得“好看”那不需要理解三者的底層關系——把線程數拉高把聚合報告里的 TPS 看成一個數字截圖貼上去完事。但如果你要解決的是以下任何一個問題你就必須從根本上搞明白這三者的關系線上出現卡頓或超時但你在測試環(huán)境壓不出來。測試環(huán)境怎么壓都穩(wěn)如老狗一到線上就出問題。老板問“我們系統(tǒng)能扛多少并發(fā)”你給不出一個可信的數字。不是不愿意給是你根本不知道從哪個維度推導。你壓測出來的 TPS 很高但上線后一遇活動流量就掛。你想做容量評估、限流配置、容量規(guī)劃但不知道用哪個指標做依據。很多人以為性能測試的核心是“會用壓測工具”其實性能測試的核心是建立指標之間的換算關系。你需要的不是一個孤立的 TPS 數字而是“在什么并發(fā)數下、響應時間達到多少、TPS 還能不能撐住”的關聯模型。這篇文章就是圍繞這個關聯模型展開的先從底層定義開始把三個概念從“你腦子里的模糊印象”撥正為“可計算、可推導的工程指標”再拆解三者之間在不同系統(tǒng)狀態(tài)下會經歷怎樣的關系變化接著用真實的場景案例講清楚為什么并發(fā)數翻倍后 TPS 反而下降最后回到 JMeter 操作層面告訴你一套能落地的壓測設計方法。不管你是準備性能測試面試還是正在寫壓測方案這篇文章的目標都是讓你從“會用工具”提升到“能講清楚系統(tǒng)表現”。2. 先把三個概念徹底說清楚從生活場景到技術定義在推導關系之前必須先確保我們聊的是同一個“并發(fā)數”。很多人在這一步已經跑偏了。面試時我經常追問“你的并發(fā)數是怎么定的”答案五花八門有說線程數的有說注冊用戶數的有說同時在線數的。這些說法都混淆了不同層面的并發(fā)概念。2.1 并發(fā)數是“同時發(fā)出的請求數”不是“在線人數”為了把這個問題說透先講一個生活場景。想象一家銀行網點有 3 個柜臺窗口相當于系統(tǒng)有 3 個處理線程大廳里坐著 50 個等待辦理業(yè)務的客戶。這時候真正的“并發(fā)數”是多少不是 50。50 個客戶坐在大廳里只能叫“在線人數”或者“待處理任務數”。真正的并發(fā)數是同一時刻正在窗口辦理業(yè)務的客戶數量——也就是最多 3 個。其他 47 個人要么在排隊要么在填單子他們沒有占用柜臺資源。從技術上理解并發(fā)數是同一時刻系統(tǒng)正在處理的請求數量也就是“在途請求數”。這個“在途”包括請求已經在操作系統(tǒng)網絡隊列里等待、已經被應用接收、正在執(zhí)行 SQL、正在等待下游依賴返回等所有狀態(tài)。這個區(qū)別非常關鍵。你做壓測的時候把 JMeter 線程數設為 500這 500 個只是“正在嘗試發(fā)起請求的客戶端”它們大多處在等待響應階段并不等同于系統(tǒng)“同一時刻正在處理”的請求數更不是業(yè)務層面真正的“在線用戶數”。我用一個稍微嚴謹一點的說法幫助記憶并發(fā)用戶數在線用戶數業(yè)務概念應用層有多少用戶同時活躍。并發(fā)請求數在途請求數技術概念系統(tǒng)同時處理的請求量。壓測線程數施壓數工具概念你開了多少并發(fā)連接去發(fā)起請求。三者有關聯但絕不是一回事。2.2 響應時間一個被你錯誤統(tǒng)計的指標響應時間Response Time, RT字面理解是“從發(fā)起請求到收到完整響應的時間”。但在性能測試中你需要把這條時間鏈路拆開看。一次完整的請求耗時通常包括網絡傳輸時間客戶端到服務器的往返時延RTT。排隊時間請求到達服務器后在連接池、線程池、隊列里等待被處理的時間。處理時間應用執(zhí)行業(yè)務邏輯、讀寫數據庫、調用下游接口的時間。響應傳輸時間結果返回客戶端的時間。這里有一個最常見的坑JMeter 中顯示的響應時間默認只包含“從發(fā)出請求到收到響應”的時間它包含了網絡、排隊和處理時間但不包含你在前置處理器、后置處理器中所做操作的時間。更關鍵的是響應時間是一個分布不是一個固定的數。同一系統(tǒng)在同樣的壓力下1 個請求可能 50ms 返回另 1 個請求可能 800ms 返回。所以你應該關注的是響應時間分布平均值Avg容易被極端值拉偏參考意義有限。TP90 / TP95 / TP9990%95%、99%的請求耗時在多少毫秒以內。這個比平均值更接近真實體驗。最大值Max常被 GC垃圾回收、網絡抖動之類因素拉得極高看個趨勢就好別拿來做結論。在后面的關系模型里我提到的響應時間都默認指“穩(wěn)定狀態(tài)下的平均響應時間”。在做性能評估、容量規(guī)劃時建議你把 TP99 作為核心指標。2.3 TPS事務吞吐量系統(tǒng)的“實際產能”TPSTransactions Per Second是每秒完成的事務數。它衡量的不是系統(tǒng)能“接收”多少請求而是系統(tǒng)能“完成”多少業(yè)務操作。這里有個區(qū)別需要明確TPS 和 QPSQueries Per Second經常被混用。嚴格來說QPS偏重“查詢”類請求每秒查詢量。TPS偏重“事務”類請求它更強調一個完整業(yè)務操作通??赡馨鄠€請求。舉個例子你打開一次訂單列表頁面會同時調 3 個接口。從 JMeter 的角度如果你給每個接口各創(chuàng)建一個 Sampler一次打開頁面就是 3 個請求如果你把整個操作封裝成一個“邏輯事務”那一次頁面打開就是 1 個事務。在做性能壓測時比較規(guī)范的做法是用“事務”作為計量單位而不是用“請求數”。因為業(yè)務方最關心的往往是“每秒能完成多少訂單”而不是“每秒能處理多少 HTTP 請求”。如果壓測報告上只寫“TPS 500”卻沒有說明這個 TPS 是接口級別的還是業(yè)務事務級別的這份報告的參考價值要打一個很大的折扣。2.4 一個簡單的三句話總結為了后文推導方便先把三個概念的準確描述統(tǒng)一起來并發(fā)數表示的是“系統(tǒng)同時處理的在途請求數量”它決定了系統(tǒng)處于什么壓力相位。響應時間表示的是“一個請求完成一次完整往返的代價”它反映單個用戶感受到的快慢。TPS 表示的是“系統(tǒng)單位時間內真正處理完的事務總量”它反映的是系統(tǒng)的產能。一句話概括并發(fā)數是施壓的強度響應時間是單筆處理的代價TPS 是系統(tǒng)整體的產出能力。接下來我們就要推導這三者之間到底存在什么樣的數學底層關系。3. 三者關系的核心模型從 Little 定律到實戰(zhàn)公式3.1 排隊論視角下的核心公式在性能工程的底層理論中有一個幾乎繞不開的定律——Little 定律。它最初來自排隊論后來被廣泛應用在計算機系統(tǒng)性能分析中。Little 定律的數學表達式很簡潔L λ × W翻譯成性能測試術語就是并發(fā)數L TPSλ × 平均響應時間W什么意思呢它描述的是一個處于穩(wěn)定狀態(tài)的系統(tǒng)內部同時在處理的任務數并發(fā)數等于單位時間新到達并被處理完成的任務數TPS乘以每個任務在系統(tǒng)內部停留的時間響應時間。這個公式非常重要因為它建立了三個指標之間的硬性換算關系?;谶@個公式可以導出兩個常用形態(tài)TPS 并發(fā)數 / 平均響應時間 平均響應時間 并發(fā)數 / TPS3.2 為什么教科書公式在實戰(zhàn)中經常“失效”你會在很多面試題和培訓資料里看到上面的推導公式。但如果實際壓測過系統(tǒng)你一定會發(fā)現一個現象并發(fā)數從 100 提到 300TPS 絕對不是按 3 倍線性增長。原因在于Little 定律有一個隱含假設——系統(tǒng)處于穩(wěn)定狀態(tài)沒有過載沒有隊列溢出沒有資源競爭激化。說得更直白一點Little 定律假設系統(tǒng)是一個“理想管道”。但真實系統(tǒng)不是理想管道真實系統(tǒng)有線程池上限處理線程被占滿后新增請求只能排隊。數據庫連接池上限連接不夠用應用線程阻塞等待。CPU 多核爭搶線程切換開銷變大真正干活的時間比例變小。鎖競爭多個線程同時搶一把鎖串行化的時間變長。內存 GC并發(fā)升高后GC 頻率上升Stop-The-World 導致響應時間惡化。當這些瓶頸開始顯現時關系模型就變成了這樣并發(fā)數繼續(xù)上升 → 響應時間快速惡化 → TPS 不再上升甚至下降這個拐點就是性能測試中最重要的發(fā)現系統(tǒng)的最佳并發(fā)區(qū)間在哪里。為了讓你看清楚這個變化過程我用一張關系演變表來描述系統(tǒng)從空閑到被打垮的過程階段并發(fā)數變化響應時間TPS 變化系統(tǒng)狀態(tài)空閑期低并發(fā)穩(wěn)定且小隨并發(fā)線性上升資源空閑產能未被充分使用健康期并發(fā)提升輕微上升總體平穩(wěn)隨并發(fā)近似線性增長資源利用率逐漸提升飽和點到達拐點開始明顯上升增長趨緩達到峰值某個資源開始打滿過載區(qū)繼續(xù)加壓急劇上升不增反降排隊嚴重資源耗盡崩壞區(qū)極端高并發(fā)大量超時大幅下跌線程池拒絕、連接池滿、雪崩風險這五個階段至關重要。所謂“懂性能測試”核心就是能識別出你的系統(tǒng)當前處于哪個階段以及拐點在哪里。3.3 用一個具體場景驗證公式假設有一個系統(tǒng)壓測場景如下平均響應時間 200ms0.2 秒并發(fā)數 50按公式計算TPS 50 / 0.2 250這說明如果每個請求耗時 0.2 秒系統(tǒng)同時能處理 50 個請求那 1 秒內能處理完 250 個請求。現在把并發(fā)數提升到 100會出現什么情況理想情況如果系統(tǒng)資源充足、沒有競爭響應時間仍為 0.2 秒則 TPS 100 / 0.2 500翻倍。常見情況并發(fā)提升后線程切換、鎖競爭、數據庫連接等待一起出現平均響應時間可能漲到 0.35 秒那么 TPS 100 / 0.35 ≈ 286。雖然并發(fā)翻倍了TPS 只多了 14%。過載情況并發(fā)數到 200 以后響應時間漲到 1.2 秒TPS 200 / 1.2 ≈ 167不但沒漲反而比并發(fā) 100 時更低。這就是為什么很多人在壓測時會看到“TPS 虛高”或“TPS 暴跌”的現象——因為測試沒有建立“由響應時間推導 TPS”的意識只是機械地增加線程數看著聚合報告里的數字上躥下跳卻說不出系統(tǒng)到底哪里出了問題。4. 真實系統(tǒng)里三者關系會發(fā)生哪些變形4.1 不同接口類型下的關系差異很多剛接觸性能測試的人會犯一個錯誤把所有接口都用同一套并發(fā)-響應時間模型來理解。實際上不同接口類型下三者的關系表現差異巨大。先看“快接口”。典型的例子是查詢類的接口比如登錄校驗、緩存查詢、狀態(tài)檢查。這類接口響應時間很短通常在 5ms 到 50ms 之間。在低并發(fā)階段它們能支撐非常高的 TPS因為每個請求在系統(tǒng)內逗留時間極短。但這類接口一旦并發(fā)打高最先出現問題的是網絡層和線程池響應時間可能從 10ms 暴漲到 500ms。再看“慢業(yè)務”。典型例子是報表導出、批量任務、大文件上傳、涉及大量復雜 SQL 的查詢。這類接口響應時間可能在 1 秒甚至更長。重點在于慢接口是 TPS 的天敵。同樣是 100 個并發(fā)請求快接口能輕松做到 2000 TPS慢業(yè)務可能只能做到 50 TPS。不是因為系統(tǒng)能力差異而是因為每個請求占據處理線程的時間太長。這種差異在容量規(guī)劃時的含義完全不同。壓測一個查詢接口時你可以用“并發(fā)數 500、TPS 3000”來規(guī)劃但壓測一個導出報表接口時同樣的并發(fā)數 500 可能直接把系統(tǒng)打掛因為每個請求處理時間太長線程池很快就耗盡了。4.2 有狀態(tài)系統(tǒng)與無狀態(tài)系統(tǒng)的區(qū)別另外一個影響三者關系的因素是系統(tǒng)的“狀態(tài)性”。無狀態(tài)應用比如純 Redis 查詢、靜態(tài)資源服務、計算型接口不依賴會話數據、不持有用戶狀態(tài)。它的并發(fā)模型相對簡單Little 定律的推導會比較貼近現實。資源充足時并發(fā)和 TPS 基本線性關系。有狀態(tài)應用比如在線交易、購物車、WebSocket 長連接、分布式鎖、樂觀鎖更新等。此時系統(tǒng)不僅要處理計算還要處理“狀態(tài)同步”。并發(fā)升高時數據一致性、鎖沖突、臟讀重試帶來的額外開銷會急劇增加響應時間會非線性上升。從壓測角度看有狀態(tài)系統(tǒng)的性能測試絕不能用無狀態(tài)系統(tǒng)的“線性模型”去預測結果。你必須通過階梯加壓的方式找到真實的飽和點。4.3 異步化對三者的關系顛覆還有一個不可忽視的變量異步化。如果系統(tǒng)大量使用消息隊列、異步回調、線程池異步處理用戶的“請求-響應”鏈路和“業(yè)務處理鏈路”就解耦了。這種情況下會出現什么對用戶來說響應時間變短了因為請求只是被接收后放進了隊列立即返回“受理成功”。對系統(tǒng)來說真正的業(yè)務處理是在后臺異步進行的TPS 的計量口徑變了。對壓測來說你看到的響應時間是“受理時間”而不是“業(yè)務完成時間”。此時仍套用“TPS 并發(fā)數 / 響應時間”就會得出嚴重失真的結論。一個系統(tǒng)中如果有大量異步處理你必須分別觀察“入口 TPS”和“處理 TPS”以及兩者之間的隊列積壓量。隊列積壓量才是觀察系統(tǒng)壓力的關鍵指標而不是直接看響應時間。所以在回答三者關系之前先要反問當前系統(tǒng)是同步的還是異步的如果是異步系統(tǒng)三者的關系鏈條要重新梳理。5. 為什么你會看到“TPS 虛高”——并發(fā)數、響應時間與統(tǒng)計口徑的三角關系“TPS 虛高”是我們搜索熱詞中出現頻率非常高的一個詞。這個詞概括了性能測試實踐中一類常見的錯誤認知壓測報告上的 TPS 很高但真實性存疑。5.1 虛高 TPS 是怎么產生的先說結論TPS 虛高的本質是統(tǒng)計口徑和真實業(yè)務模型不匹配而不是壓測工具出了問題。常見產生虛高 TPS 的操作有第一種只用低響應時間接口做壓測。如果一個系統(tǒng)只有一個查詢接口響應時間 10ms那 500 并發(fā)就能壓出 20000 TPS。但這能代表系統(tǒng)整體能力嗎明顯不能。業(yè)務高峰期的流量是混合的包含慢接口、寫接口、長事務。壓測場景設計時如果只挑快接口打得到的 TPS 沒有任何參考價值。第二種忽略事務定義直接把 HTTP 請求數當 TPS。這在 JMeter 中特別常見。默認情況下JMeter 聚合報告里的 Throughput 是按照 Sampler 的執(zhí)行次數來統(tǒng)計的。一個頁面包含 10 個接口用戶一次完整操作會產生 10 個請求。如果你把這個數字直接當成業(yè)務 TPS報告上的數字會比真實業(yè)務吞吐量高出 10 倍。第三種高并發(fā)長時間壓測取峰值 TPS 當結果。很多壓測報告習慣取“最高那一段的 TPS”作為成果。但是這個最高值通常出現在系統(tǒng)資源尚未穩(wěn)定、緩存未預熱、垃圾回收尚未開始的時候。你真正應該關注的是系統(tǒng)在“持續(xù)壓力下”的穩(wěn)定 TPS而不是瞬時峰值。第四種忽略錯誤率。如果系統(tǒng)大量返回 500、超時、連接拒絕JMeter 會統(tǒng)計這些“失敗的請求”嗎默認情況下JMeter 不會將斷言失敗或者 HTTP 非 2xx 狀態(tài)碼算作成功事務但如果你沒有配置斷言或者把錯誤響應也當作“完成”來統(tǒng)計你的 TPS 就會把失敗請求也計算進去看起來很高實際上是假象。5.2 怎么避免 TPS 虛高從工程經驗來看避免 TPS 虛高的核心有四點壓測場景必須包含核心鏈路而不是只挑快接口。事務定義必須和業(yè)務操作對齊。打開訂單列表 1 個事務而不是 3 個 Sampler。報告 TPS 必須關聯錯誤率和響應時間分布。TPS 再高如果 TP99 已經突破 2 秒也不算健康。結果必須取穩(wěn)定段平均值而不是瞬時峰值。如果你在壓測報告中寫“TPS 峰值 5000”面試官或者老板追問一句“響應時間多少錯誤率多少并發(fā)多少什么場景壓了多久”你能清晰回答才算真正對這個數字負責。6. 通過壓測實驗反向驗證三者關系JMeter 階梯加壓實操理論講完了現在進入實操環(huán)節(jié)。既然你是做性能測試的JMeter 是繞不開的工具。這一節(jié)我會給你一套可以直接執(zhí)行的壓測設計思路用 JMeter 來驗證“并發(fā)數、響應時間、TPS”三者之間的動態(tài)關系。6.1 環(huán)境準備本小節(jié)以最常用的 JMeter 為例。當前 JMeter 的主流版本為 5.x需要 JDK 8 或以上版本建議使用 JDK 11 或 17。不同 JMeter 版本的界面細節(jié)會有差異但核心操作思路一致。如果還沒有安裝 JMeter可以去 Apache JMeter 官網下載解壓版解壓后進入bin目錄Windows 雙擊jmeter.batmacOS/Linux 執(zhí)行./jmeter即可。為了方便演示準備一個簡單的被測服務。你可以使用任意本地 Web 服務這里用一個最小的 Spring Boot 項目提供一個模擬業(yè)務處理接口// 文件路徑src/main/java/com/example/perfdemo/controller/DemoController.java package com.example.perfdemo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.concurrent.TimeUnit; RestController public class DemoController { /** * 模擬耗時業(yè)務接口。 * delayMillis 參數用于模擬業(yè)務處理耗時默認 100 毫秒。 */ GetMapping(/demo) public String demo(RequestParam(value delayMillis, defaultValue 100) long delayMillis) throws InterruptedException { // 模擬業(yè)務處理耗時實際項目中這里是 SQL 查詢、下游調用、復雜計算等 TimeUnit.MILLISECONDS.sleep(delayMillis); return success; } }這個接口很簡單每個請求進來模擬處理 100ms然后返回。為什么設計這個接口因為你只有讓每個請求固定占用一定時間才能清晰觀察到并發(fā)數增加后線程池、CPU、響應時間和 TPS 之間如何互相制約。如果不想寫代碼啟動服務也可以使用任一 Linux 環(huán)境用 Python 開啟一個臨時 HTTP 服務再通過time.sleep模擬耗時。核心目標只是“有一個可被壓測的接口”。6.2 JMeter 測試計劃設計打開 JMeter按下面的步驟建一個最小測試計劃右鍵“測試計劃”添加一個“線程組”。在線程組下添加“Sampler - HTTP 請求”。在 HTTP 請求中配置協議http服務器名稱或 IPlocalhost端口號8080方法GET路徑/demo?delayMillis100在線程組下添加“監(jiān)聽器 - 聚合報告”和“監(jiān)聽器 - 響應時間圖”。線程組配置這里先不固定因為我們要做階梯加壓。階梯加壓的核心思路是同樣的測試腳本從低并發(fā)開始逐步增加線程數每一檔保持運行一段時間觀察各項指標的變化趨勢。比如按下面規(guī)模來階段線程數Ramp-Up 時間持續(xù)時間階段1101 秒30 秒階段2201 秒30 秒階段3502 秒30 秒階段41005 秒60 秒階段520010 秒60 秒階段640020 秒60 秒為什么要設置“持續(xù)時間”因為性能測試必須看穩(wěn)定狀態(tài)下的表現。啟動后立即出現的數字可能受線程初始化、緩存預熱影響。一般建議每個階段的持續(xù)時間不少于 30 秒最好 60 秒以上讓數據趨于穩(wěn)定后再記錄。如果你不想手動創(chuàng)建 6 個線程組也可以使用 JMeter 的插件Ultimate Thread Group需要在 JMeter Plugins Manager 中安裝它可以在一張圖表里配置多個階梯階段的線程數。核心思想不變階梯加壓、逐級遞增。6.3 使用命令行執(zhí)行壓測JMeter 官方建議在壓測時使用命令行模式而不是 GUI 模式因為 GUI 模式本身會占用系統(tǒng)資源影響壓測結果的準確性。按下面的命令執(zhí)行jmeter -n -t perf-test.jmx -l result.jtl -e -o report參數說明-n非 GUI 模式運行。-t指定測試計劃文件路徑。-l輸出原始結果文件JTL 格式。-e測試結束后生成 HTML 報告。-oHTML 報告輸出目錄目錄必須不存在或為空。執(zhí)行完成后打開report目錄下的index.html即可看到完整的圖表化報告包括 TPS、響應時間分布、錯誤率等信息。6.4 預期結果與數據解讀在我設計的 Demo 接口下預期你會看到以下現象低并發(fā)階段10、20平均響應時間接近 100ms 左右TPS 隨并發(fā)數近似線性增長。中等并發(fā)階段50、100響應時間可能小幅上升到 120ms 左右TPS 仍在增長但增速放緩。較高并發(fā)階段200、400響應時間明顯上升可能出現 300ms 甚至 500ms 以上的值。TPS 要么增長極其緩慢要么開始下降。為什么在這個 Demo 中并發(fā) 200 就出現明顯拐點因為 Spring Boot 默認內嵌 Tomcat 的max-threads默認值是 200。當并發(fā)請求數超過 200 時多余的請求會進入 Tomcat 的accept-queue排隊。這樣一來請求的“等待時間”開始大幅增加響應時間快速上升TPS 增速放緩甚至下降。這個實驗清晰地展示了一個道理系統(tǒng)的最大并發(fā)承載能力取決于系統(tǒng)內部最窄的資源的處理能力。對 Demo 服務來說最窄的資源就是 Tomcat 的最大工作線程數。每增加一個線程都在增加處理能力但一旦線程池滿了加并發(fā)只會讓隊列越來越長TPS 不再增長。6.5 通過一個最小 Python 腳本模擬并發(fā)與 TPS 的關系如果你希望在代碼層面更直觀地理解“并發(fā)數、響應時間、TPS”三者之間的換算可以用一個最小 Python 腳本模擬這個過程。# 文件路徑simulate_concurrency.py import time import threading import requests from concurrent.futures import ThreadPoolExecutor BASE_URL http://localhost:8080/demo?delayMillis100 def send_request(_): start time.time() try: requests.get(BASE_URL, timeout5) except Exception as e: print(f請求異常: {e}) return time.time() - start def run_test(concurrency, total_requests200): start time.time() with ThreadPoolExecutor(max_workersconcurrency) as executor: latencies list(executor.map(send_request, range(total_requests))) total_time time.time() - start avg_rt sum(latencies) / len(latencies) tps total_requests / total_time print(f并發(fā)數{concurrency}, 總請求數{total_requests}, 總耗時{total_time:.2f}s, f平均響應時間{avg_rt * 1000:.1f}ms, TPS{tps:.1f}) return tps, avg_rt if __name__ __main__: for concurrency in [10, 20, 50, 100, 200, 400]: run_test(concurrency)運行方式python simulate_concurrency.py需要注意這個腳本的并發(fā)模型是有限線程池它模擬的“并發(fā)數”是從客戶端視角發(fā)起的并發(fā)連接數和服務器端實際并發(fā)處理數是兩碼事。它只能幫你從宏觀上理解趨勢不能取代 JMeter 這類專業(yè)壓測工具。如果通過這個腳本觀察輸出的 TPS你會發(fā)現一個現象在低并發(fā)時TPS 粗略滿足TPS ≈ 并發(fā)數 / 平均響應時間在并發(fā)數超過系統(tǒng)處理能力后平均響應時間上漲TPS 不再同步上漲。7. 常見問題與排查思路并發(fā)數、TPS、響應時間“對不上”怎么辦在實際項目中你會發(fā)現壓測出來的數據和公式推導的對不上甚至同一套系統(tǒng)隔一天壓出來的數據都不一樣。下面整理了幾個高頻問題。問題現象可能原因排查方式解決方案并發(fā)數增加TPS 卻幾乎不變系統(tǒng)存在單點瓶頸如數據庫連接池、單線程處理邏輯、鎖競爭查看數據庫連接池使用率、CPU 使用率、線程阻塞情況加大連接池上限優(yōu)化鎖粒度拆分熱點資源并發(fā)數增加響應時間暴漲TPS 下降系統(tǒng)已經過載線程池滿請求在排隊查看 Tomcat 線程池活躍線程數、隊列長度降低并發(fā)壓力先找拐點優(yōu)化處理耗時引入限流保護TPS 很高但錯誤率同步上升斷言未配置完整失敗請求被計入成功或服務端大量返回錯誤查看 JTL 日志中的錯誤碼添加響應斷言核對壓測結果統(tǒng)計口徑在 JMeter 中增加斷言過濾錯誤響應后再統(tǒng)計 TPS壓測響應時間正常但線上響應時間很慢壓測數據不真實只打了緩存命中場景未覆蓋慢查詢線上數據量和并發(fā)模型更復雜檢查壓測數據是否與線上數據特征一致檢查慢查詢日志使用貼近生產的數據量增加混合場景同一套系統(tǒng)兩次壓測結果差異極大壓測機自身資源不足或 JVM 垃圾回收產生抖動監(jiān)控壓測機 CPU、內存使用率查看服務端 GC 日志壓測機單獨部署避免資源爭搶壓測前預熱系統(tǒng)偶爾出現個別請求響應時間極高網絡抖動、GC 停頓、線程池滿的瞬間排隊查看 TP99、TP999 而不是只關注平均響應時間分析 GC 日志和網絡監(jiān)控調整 JVM 參數JMeter 聚合報告中的 Throughput 和手算 TPS 不一致事務定義不一致JMeter 默認按請求統(tǒng)計未按事務統(tǒng)計檢查是否是“邏輯事務組”模式確認每個事務包含幾個 Sampler使用“事務控制器”包裹完整業(yè)務流程統(tǒng)一 TPS 統(tǒng)計口徑值得強調的一點是在排查性能問題時不要只盯著壓測工具的輸出。TPS、響應時間、并發(fā)數只是“現象”底層原因往往在系統(tǒng)資源層CPU 使用率、線程池活躍數、數據庫連接池活躍數、GC 頻率、網絡帶寬、磁盤 IO。任何一層的資源耗盡都會表現為“并發(fā)數上去了、TPS 上不去”。8. 性能測試設計與工程最佳實踐到這里你已經理解了并發(fā)數、響應時間、TPS 之間的底層關系。接下來需要把這套認知沉淀為工程實踐否則理論永遠是理論。8.1 從業(yè)務流量反推壓測負載很多人在設計壓測場景時憑感覺設置線程數。正確的做法應該是從業(yè)務流量反推。假設你的業(yè)務在高峰時段的日活用戶是 10 萬核心接口的 QPS 預估是 2000平均響應時間要求小于 500ms那壓測配置應該這樣推導根據 Little 定律需要并發(fā)數 QPS × 平均響應時間 2000 × 0.5 1000。但是 1000 是“業(yè)務請求并發(fā)”不是“JMeter 線程數”。因為 JMeter 一個線程可以連續(xù)發(fā)起多個請求實際線程數還需要考慮單線程的循環(huán)次數和思考時間Think Time。如果你的壓測腳本沒有設置思考時間1000 個并發(fā)線程會不間斷地發(fā)起請求這屬于“極端壓力”不是“真實壓力”。真實用戶的操作是有思考間隔的。所以壓測時通常分兩種模式不上思考時間探求系統(tǒng)最大處理能力找到性能拐點。加上思考時間模擬真實用戶行為評估線上容量。兩種模式的目標不同不能混為一談。8.2 階梯加壓是常規(guī)操作不要一上來就直接壓 1000 并發(fā)。更穩(wěn)的做法是先小并發(fā)例如 10跑一遍確認功能正確、無報錯然后按 1-2-5-10-20-50 的倍數關系遞增每個梯隊保持至少 30 秒記錄每個梯隊下 TPS、響應時間、錯誤率三個指標。這種做法的好處是你不僅能知道系統(tǒng)“掛了”還能找到“從哪個并發(fā)開始變慢”。這個拐點比“壓崩了”這個結果有價值得多。8.3 場景設計要覆蓋混合鏈路性能壓測不應該只壓一個“最慢接口”或“最快接口”。真實用戶的一個操作往往調用多個接口包含讀緩存、讀數據庫、寫數據庫、調用下游等不同行為。比較合理的場景設計是按照生產環(huán)境的流量占比設計不同接口的混合比例。舉例來說查詢訂單接口占比 60%創(chuàng)建訂單接口占比 20%取消訂單接口占比 10%支付回調接口占比 10%這種混合場景壓出來的結果才接近線上真實情況。8.4 正則提煉并發(fā)數設置與確認針對熱搜詞“jmeter 壓測怎么確認系統(tǒng)的并發(fā)數”這里給出一個可執(zhí)行的確認路徑第一步從業(yè)務方獲取核心接口的高峰 QPS 數據和平均響應時間要求。第二步用 Little 定律計算理論并發(fā)數并發(fā)數 QPS × 平均響應時間。第三步在 JMeter 中用該并發(fā)數初步執(zhí)行壓測觀察實際響應時間是否達標。第四步逐步增加并發(fā)數直到響應時間不再滿足要求此時記錄的并發(fā)數就是系統(tǒng)當前的“極限并發(fā)數”。第五步加上安全余量通常取極限并發(fā)數的 70% 左右作為生產環(huán)境的限流閾值或容量規(guī)劃基線。注意如果系統(tǒng)使用異步模型、消息隊列等架構這個推導過程還需要額外引入隊列積壓量的監(jiān)控指標而不是只盯響應時間。8.5 關注穩(wěn)定性測試與異常場景除了短時間壓測找拐點還需要做穩(wěn)定性壓測。常見做法是以 70% 到 80% 的極限并發(fā)數持續(xù)壓測 30 分鐘到 1 小時觀察是否存在內存泄漏、連接池泄漏、線程數持續(xù)增長、GC 時間不斷變長等問題。穩(wěn)定性壓測最容易暴露的問題包括內存泄漏導致 Full GC 頻繁響應時間周期性惡化。數據庫連接池泄漏連接被占滿。日志框架導致 IO 阻塞。定時任務與峰值流量疊加導致資源競爭。8.6 安全提醒別在生產環(huán)境亂壓壓測是會對系統(tǒng)產生高負載的行為任何時候都不要未經授權直接對生產環(huán)境發(fā)起壓力測試。正確的做法是先在測試環(huán)境驗證壓測腳本和預期結果。如果確實需要進行生產環(huán)境的容量驗證需要提前協調好運維、研發(fā)、DBA 等相關人員選定低峰期并在有監(jiān)控告警和回滾預案的情況下進行。生產壓測前必須確認限流降級策略已經就緒避免壓測導致雪崩。一句話壓測不是“大家都在測”就可以隨便做的事授權、備份、回滾、監(jiān)控缺一不可。9. 回到面試題怎么回答 TPS、并發(fā)數、響應時間的底層關系把前面的內容理清之后現在可以回答標題里那個問題了。如果在面試中我被問到“TPS、并發(fā)數、響應時間三者之間存在什么樣的底層關系”一個能讓面試官眼前一亮的回答思路是這三者之間的關系不能用一個孤立的公式來概括而應該用系統(tǒng)在不同負載階段的行為變化來描述。在系統(tǒng)還沒達到資源瓶頸時它們基本滿足 Little 定律并發(fā)數 TPS × 平均響應時間。也就是說TPS 和平均響應時間的乘積必須等于系統(tǒng)的在途并發(fā)數。這是排隊論中一個守恒關系。但一旦系統(tǒng)進入過載區(qū)這個公式就會“變形”。因為響應時間不再穩(wěn)定而是隨著并發(fā)數上升而快速惡化此時 TPS 會被響應時間拖住甚至下降。所以更準確的表述是并發(fā)數是輸入它影響響應時間和 TPS響應時間是被影響項它反映了系統(tǒng)壓力TPS 是輸出它體現系統(tǒng)的真實產能。核心的工程能力在于找到“系統(tǒng)從線性增長階段進入飽和階段的拐點”這個拐點才是容量評估的關鍵。接著主動給面試官講一個自己實際做過的壓測場景“我之前壓測過一個訂單查詢接口在并發(fā) 100 時 TPS 能到 1200響應時間 80ms并發(fā)拉到 300 后響應時間漲到 250msTPS 反而降到了 1100。后來定位到是數據庫連接池不夠用連接等待時間大量增加。調整連接池參數后同樣的并發(fā)下TPS 重新回到了 1800 左右。”這段回答的好處在于展現了你懂理論公式Little 定律。展現了你知道公式的邊界過載區(qū)會失效。展現了你做過真實測試能說出具體數字變化。展現了你有排查問題的能力定位到連接池。這個回答的邏輯鏈條比背誦“TPS 并發(fā)數 / 響應時間”要完整得多。10. 總結從“會壓”到“懂性能”回到最初的話題會做性能測試的人很多但能講清楚 TPS、并發(fā)數、響應時間底層關系的人才是真正能解決線上疑難雜癥的人。這篇文章從頭到尾其實就圍繞一條主線并發(fā)數是施加給系統(tǒng)的壓力響應時間是系統(tǒng)感受到的代價TPS 是系統(tǒng)交出的產能。三者的關系從理想狀態(tài)的 Little 定律出發(fā)在真實系統(tǒng)中會因為線程池、連接池、鎖競爭、GC、異步化等因素發(fā)生變形。理解這些變形找到系統(tǒng)的拐點才是性能測試的核心價值。如果你正在準備性能測試面試不要只背公式。你可以按照這篇文章第 6 節(jié)的思路自己搭一個 Demo 服務用 JMeter 跑一遍階梯加壓親手畫出 TPS 和響應時間隨并發(fā)數變化的曲線。當你親眼看到并發(fā) 50 時 TPS 穩(wěn)定增長、并發(fā) 200 時響應時間開始“起飛”、并發(fā) 400 時錯誤率飆升——你對三者的理解就不再是文字層面而是刻進直覺里的東西。下一步你可以繼續(xù)深入學習JMeter 的分布式壓測配置、全鏈路壓測方案、容器化環(huán)境下的性能測試、數據庫慢查詢分析與索引優(yōu)化、JVM 調優(yōu)與 GC 日志分析。這些都是性能測試進階路上繞不開的主題。如果這篇文章對你有幫助建議收藏備用。下次做壓測時把本文第 8 節(jié)的“并發(fā)數確認路徑”拿出來對著做一遍你會發(fā)現性能測試報告的質量會有明顯提升。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠色狠狠干| 五月色俺婷婷| 免费观看高清无码| 色婷婷电影网| 99九九在线| 秋霞影音91人妻久久| 开心五月婷婷综合在线精品素人| 色色综合热| 色一情一乱一乱一区9| 狠狠色狠狠| 精品无码色欲AV| 婷婷五月中文字幕| 婷婷丁香91| 五月天伊人| 欧美影院| 丁香五月手机在线| 日本操B视频| 久久久久久草黄色片AV在线观看| 亚洲不卡| 超碰成人av| 亚洲精品又粗又大又爽A片 | 国产JK精品白丝AV在线观看| 婷婷五月天基地| 六月婷婷色综合| 森林影视大全,最好看的2019年视频 | 91久久婷婷人人澡草 | 美女五月狠狠| 婷婷五月激情五月激情| 五月婷网站| 天天爽爽日日做做| 亚洲五月婷婷在线| 99色看| 成久综合视频| 99'无码| 午夜丁香| 99热乎| 久操大香蕉| 婷婷五月丁香色播| 久久久久久激情| 丁香97综合| av高清无码| 九九亚洲| 精品一区久热| 91操屁股| 色综合99| 丁香婷婷六月天| 五月天婷婷六月激情网| 亚洲尤物在线| 停停五月丁香| 亚洲激情综| 97干视频在线| 丁香激情五月天| 99综合| 99热老网站| 99狠狠色| 国产精品扒开腿做爽爽爽A片唱戏| 色综合天堂| 婷婷久久色| 欧美婷婷色五月网| 五月天婷婷xxx| 伊人婷婷青青cao| 日本69日人视频| 亚洲不卡| 色插综合网| 3p日韩网站视频| 亚洲激情色色| 97丁香五月| www.jiujiujiu| 激情五月丁香社区| 国产午夜精品AV一区二区麻豆| 亚洲春色奇米影视| 人人干99| 5月丁香六月婷婷| 婷婷五月天啪啪| 亚亚州久久高潮| 丁香五月六月| 无码AV久久久久久久久| 九九人人精品| 婷婷五月色网| 色爱亚洲| 色婷婷最新域名 | 久久久久人妻网址| 4399精品一区二区| 天天操夜夜啊| 五月婷婷色五月| 亚洲婷婷基地| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 99久久9| 丁香五月欧美| 伊人网啪啪| 99亚色色色| caopeng97日韩| 五月WWW| 人妻精品一区二区三区| 国外亚洲成AV人片在线观看| 97人人搞| 激情文学五月丁香六月婷婷| 免费无码毛片一区二区A片| 日逼影音先锋男人资源站| 人人97碰| 亚洲另类视频| 猫咪伊人AV| 五月天丁香综合久久国产| 久这里只有精品| 激情五月天小说| 丁香五月Av| www.久操| 色色色色色色综合| 少妇性BBB搡BBB爽爽爽视頻 | 91丁香五月| 五月激情六月| 久久婷婷伊人| 亚韩在线视频| 91碰超| 麻豆WWWCOM内射软件| 丁香六月激情四射| 五月伊人婷婷999| 日本a片网址| 色婷婷亚洲六月婷婷中文字幕| 久久九九99| 丁香五月婷婷五月| 天天婷婷| 久久99三级在线视频| 免费色色色| 婷婷月综合| 色婷网站| 五月丁香婷婷俺| 激情综合网五月婷婷| 青青日韩| 色婷五月天| 操碰99在线视频观看| 久久婷婷成人视频| 日日爽夜夜爽| 成人小说 五月天 婷婷| 202丰满熟女妇大| 九九RE视频在线精品| 五月婷婷av| www.久99| 九九热只有精品| 天天久综合网永久入口18| 亚洲色涩视频| 亚洲视频一区| 开心婷婷五月中文字幕组| 色色国产| 久久这里只有精品16| 热久久这里只有精品| 99九九精品视频| 99精品视频推荐| 激情综合色| 国产AV影片| 婷婷综合网伊人| 亚洲无码99| 9色在线视频| 久久久久久9| 九九人人精品| 激情五月天在线视频| 99热在线观看| 中文字幕丰满孑伦无码专区| 五月婷婷自拍| 色五月婷婷av| 成人做爰A片免费看网站找不到了| 婷婷精品在线| 老师的粉嫩小又紧水又多A片视频| sS丁香五月婷婷| 桃色五月天| 色狠狠狠干| 婷婷社区五月天| 国产日产成人亚洲欧美国产VA| 在线色色| 色丁香婷婷美女视频网站| 大地9中文在线观看免费高清| 5月婷婷视频网站综合| 婷婷五月天电影网| 婷婷五月天狠狠搞干| 亚洲9久久精品| 99热综合网| 91久久九久久九久久九久久九久久 | 激情五月天婷婷播播久久综合91| 丁香五月婷婷AV在线| 色五月婷婷小说亚洲中文字幕组| 久久sp免费视频| h在线看免费版在线看| 天天日夜夜欢| 婷婷五月天VI| 亚洲操逼片| 激情丁香久久| 亚洲色婷婷五月天| 欧洲色区| 欧美性爱中文字幕| 亚洲综合干| 丁香五月天亚洲综合| 免费黄色AV| 深爱激情网五月| 91夫妻视频| 久久久精品人妻| 99亚洲精品视频在线观看| 丁香网站| 久久99网站| 成人网丁香五月| 美欧成人视频| 天天狠狠综合精区| AA丁香综合激情| 可以看的AV网站| 激情五月综合网| 亚洲六月色| 五月婷婷|欧美| 婷婷丁香六月激情综合| 丁香六月啪啪| 综合久久久| 激情98色婷婷五| 丁香色五月 97干| 新激情五月天色播| 婷婷六月丁香激情综合| 久久久精品色| 丁香五月六月综合欧美| 久久五月婷婷开心网| 五月天婷综合| 91av视频在线观看最新网址| 久久婷青青草原| 日韩成人网址| 四虎成人精品永久免费AV九九| 日韩欧美四五区| 欧美大香蕉视频| av操B网站| 丁香五月天堂| 99热这里是精品| 五月情婷婷| 五月天激情综合首页| 91精品国产综合久久蜜芽解析速度| 日本色婷婷| 色色亚洲| WWW.17C亚洲精品| 五月婷婷久久网| 美女va| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 99视频啪啪| 99操久久| 婷婷五月激情综合| www久久久| 五月天丁香久久| 五月婷婷先锋| 操逼视频网址| 涩丁香91| 综合五月丁香六月婷婷| 色色色色区| 婷婷天天五月天| 午夜精品777| 激情综合婷婷| 五月丁香好婷婷姑娘综合网| 亚洲天堂AAA| www色婷婷久久综合久色| 91人妻PORNY九色大屁股| 色娸娸综合网| 玖玖视频福利| 日日操夜夜爽天天天| 亚洲小视频免费看| 中文字幕日韩无码制服诱或| 久久在线人妻| 婷婷五月天在线观看| 激情小说视频图片| 五月婷婷亚洲| 婷婷九月色| 色偷偷综合| 伊人久久婷婷| 韩国真做片在线观看| 色墦五月丁香| 99操不停| 国产成人网| 激情婷婷丁香五月天小说| 综合色色网| 久热中文字幕| 伊人婷婷激情| 这里只有精品视频在线| 99热这里只有精品8| 丁香五月天社区| 色色三级视频| 99毛片| 免费黄色AV| 婷婷精品免费久久| 天天成人综合视频| 久热99热| 超碰成人黄色网| 9色操| 婷婷刺激综合| 97色伦另类图片小说视频| 婷婷精品性性性性性性性| 四月丁香五月婷婷久久| 女人天堂AV| 亚洲午夜在线视频| 久久xxxx| 五月丁香在线观看| 99热只有| 大香蕉狼人久久| 在线五月婷婷小电影| 日日爽日日操| 激情九月婷婷| 六月婷婷操逼| 深爱婷婷色| 夜夜干天天操| 色伊人91在线视频| 三级三久久线久久99久目本WW| 激情综合五月激情| 97热精品| 日本色啪| 狠狠色丁香综合| 人人摸人人干人人做| 天天搞天天色综合| 日韩啪啪自拍| 丁香六月婷婷综合网| 久狠狠| 成人午夜无码视频| aa久久| 天天操九九插| 久久伊人五月天| 久久久婷婷色五月资源网| 久久久中文| 一本伊人色婷| 少妇AB又爽又紧无码网站| 极品九九九九九九| 深情五月天| 婷色五月天| 六月丁香停| 国产探花AV在线| 婷婷视频网| 99在线播放| 婷婷丁香五月天综合网| 伊人婷婷五月天| 丁香五月婷婷亚洲另类| 99热这里只有精品86| 9久精品| 婷婷五月天中文字幕| 99热这里只有精品13| 九月婷婷久久久| www色哟哟| 婷婷五月天综合蜜桃| 99热精品在线观看| 在线色色| 久久新地址| 国产精品岛国片在线观看免费| 开心 五月 综合| 五月丁香影院| 99热99精品| 五月天激情无码| 9色婷婷| 99热最新地址在线| 99色在线视频| 夜夜爽天天| 91精品久久久久| 大香蕉伊在| 99热精品6| 婷婷色色网站| 26uuu欧美激情另类| 无码99| 婷婷激情五月天网站| 天天日天天爽夜夜爽| 大香蕉五月丁香| 伊人网大香| 亚洲成人超碰| 欧美精品99久久久| 亚洲丁香五月综合| αv中文字幕在线观| 这里只有精品99www| 日本va网站| 思思热在线视频精品| 、激情六月天| 国产做爰视频免费播放| 丁香五月综合在线视频| 99人妻碰碰碰久久久久| 久久婷婷五月天| 久久性爱视频| 精品一二三区久久AAA片| 情婷婷五月天在线| 2022久久婷婷| 色婷婷狠狠18禁| 狠狠色丁香| 五月丁香色| 色色色综合视频| 国产精品99久久久久久久女警| 天天天天天操| 第五婷婷伊人丁香| 五月天色婷婷综合| 色狠狠综合| 99热官网精品在线| 婷婷网五月天| 婷婷五月天激情综合深爱激情| 久久38视频| 六月婷婷综合| 高清无码 一区 二区 三区| 亚洲超碰青涩| 婷婷五月天堂| 成人性爱精品视频| 97久久草草超级碰碰碰| 成人做爰高潮A片免费视频| 丁香五月在线看| 综合激情五月婷婷| AV在线不卡播放| 人妻久久久久久久| 五月天激情网图片 - 百度| 99五月香婷婷丁香在线视频| 99re免费精品视频| 女人天堂 AV| 色色色综合色| 人人操人人妻| 97五月天| 九色七七| 婷婷丁香五月综合激情小说| 99热 这里只有精品 国产 日韩| 婷婷伊人久久无码色五月| 人人干av| 激情亚洲婷婷六月| 天天噜天天插| 六月丁香六月婷婷欧美| av在线免费播放观看| 九月丁香婷婷综合| 思思热视频| 亚色网站小视频| 99热99在线精品| 99激情视频| 玖玖午夜视频| 精品人妻一区二区三区四区不卡在| 狠狠做五月| 九 九九九AV| 欧美一级色| 五月天婷婷操逼视频| 6080av| 久久99婷婷| 五月色婷丁香| 91无码一起草| 国产真实乱了老女人视频| 九九99香蕉在线视频播放| 免费久久这里只有精品99| 婷婷五月综合久久中文字幕| 婷婷久久婷婷| 亚洲永远av在线播放| 五月天伊人| 色女人久久| 欧洲激情精品婷婷| 色欲色香伊人| 99热在线观看免费| 色性五月天| 婷婷五月天日本国产| 丁香九九九九| 五月丁香福利| 亚洲激情网| 98永久精品| 婷婷五月综合网激情| 婷婷五月花| 亚洲综合婷婷| 亚洲亚洲人成综合网络| 69精品人人人人| 色色婷婷五月天| 97福利视频| av在线免费播放| 久草性爱| 五月丁香色| 91干视频| 激情小说婷婷| 黄桃AV无码免费一区二区三区| 五月丁香免费看| 亚洲精品国产setv| 色色com| 婷婷丁香五月亚洲17cao| 精品久久久999| 激情五月婷| 六月丁香婷婷综合狠狠爱夜夜爱| 国产精品色婷婷99久久精品| 亚洲AV人人操| 亚洲综合色网| 日本啪啪视频HD| 69超碰在线| 色五月亚洲| 丁香激情综合| 99在线热视频| 99国产er热视频| 色色综合日韩| 99热在线这里| 亚洲天堂爱爱| 中文字幕乱码亚洲精品一区| 99热在线极品极品| XX久久| 丁香五月综合高清在线| 五月的丁香六月的婷婷| 五月婷亚洲精品| 极品另类| 99热这里有精品| 超碰在线50| 夜色爱爱亚洲| 他改变了拜占庭| 欧美色六月婷婷| 色婷婷五月天视频在线| 91九色|疯狂|高潮|对白|| 人妻AV在线| 亚洲视频在线观看| 激情爱爱网站超大免费| 久久五月丁香六月婷| 99综合免费视频| 日韩精品一区二区亚洲AV观看| 婷婷综合五月| 91碰碰视频在线观看| 狠狠综合区| 只有精品在线观看| 综合久久五月天| 婷婷啪啪| 美女91一起草| 日韩av大全| 玖玖五月丁香| 五月天丁香婷婷网| 99re66热这里只有精品| 色五月激情五月天| 婷婷成人基地| 九九色婷婷| 无码婷婷五月天| 91视频精品99| 五月天久久小说| 久久久中文| 久8色色| 日韩九区| 888久久久| 久久丁香五月婷婷激情综合网| 99性视频| av中文字幕免费观看| 日韩啪| 丁香婷婷在线| 婷婷五月花| 婷婷综合在线播放| 久久婷婷色五月| 日日撸夜夜操| 婷婷免费无马| 日本狠狠干| 亚洲视频在线观看| 婷婷五月亚洲激情| 97久久久久| 亚洲第二AV| 日 日干 日日做| 久操人妻| 99热综合网| 婷婷五月花丁香| 99精品国产在热久久| 久久丁香五月天| 综合网啪| 婷婷欧美激情| 日本成人噜噜噜| 9热网站| 天天搽天天射| 久9视频| 91色色色| 丁香五月电影| 婷婷五月天丁香| 久久婷婷五月天激情| 热久91| 亚洲va在线| 丰满少妇猛烈A片免费看观看| 国产亚洲99久久精品| 狠狠干在线| 久久大香蕉伊人| 欧美成人精品老美女噜噜噜| 婷婷五月丁香图片人人操| 性婷婷| 在线另类| 五月丁香狠狠爱婷婷综合| 97久久超碰| 99热99网| 成人做爰高潮A片免费视频| 99热 这里只有精品 国产 日韩| 丁香五月中文字幕| 蜜臀AV在线成人| 欧美内射AA| 二色av| 久久人妻久久| 5月婷婷6月丁香aV| 久久视9精| 人人草人人爱手机视频看看| 一级性感毛片| 欧美色久| 狠狠艹狠狠艹| 潘金莲AAAAAAAAAA| 色婷婷亚洲五月天| 婷婷综合色图| 激情六月天| Se.婷婷五月天| 国产偷人爽久久久久久老妇APP| 色五月天综合| 丁香五月激情啪啪啪| 夜夜干 夜夜操| 丁香婷婷色九月| 亚洲激情综合| 亚洲婷婷激情888精品久| 亚洲一级 片内射网站在线观看| av操一操| 大香蕉520| 色婷婷小说| 99re热免费观看视频精品| 九月丁香欧美综合| 开心激情综合| 国产精品热搜丁香五月婷婷| 中文字幕在线免费| 成人国产欧美大片一区| 草综合14| 五月花综合网| 97香蕉人人在线观看| 中文字幕永久免费| 天天成人综合视频| A片一曲| 国产AV一区二区三区日韩| 婷婷久久亚洲| 婷婷五月丁香综合亚洲 | 人妻中文字幕精品| 色婷婷色99国产综合精品| 五月丁香亚洲综合网| 丁香五月最新网址| 性一交一乱一交A片久| 色在线视频网2025| 九九免费视频在线| 色婷婷69| 久久99网| 狠狠干狠狠干| www.91九色| Va另类视频| 久久久.COM| 五月激情四射网站| 色播五月婷婷| 五月婷婷综合在线| 色5月婷婷| 在线播放成人网站| 六月丁香婷婷色狠狠久久| 99ER热精品视频| 淫视馆AV在线| 欧美成人色婷婷| www.精品99| 激情中文在线| 99热九九九九| 天天揷综合网| 久热9| 26uuu精品一区二区| 可以免费看的av网站| 99er6免费视频热播| 丁香视频| 97干在线免费| 色综合久久之分久久| 五月婷在线| 开心五月天激情网| 五月天婷婷爱| 五月婷婷综合潮喷| 九九爱看亚洲| 五月丁香AV、伊人业余、性色熟妇| 伊人玖玖精品| 91久久久久久久久久| 91久久久久| 欧美成人一区二区三区在线视频| 五月丁香啪啪网| 久久久久亚洲AV成人无码电影| www.五月瑟| 婷婷基地五月色| 婷婷五月天成人动漫 | 婷婷淫淫狠狠六月| 国产综合网在线| 亚洲性色XXXXX| 99热这里只有精品98| 天天开心天天色| 97色在线视频| 大香网伊人久久综合| 九九精品综合| 丁香九月婷| 婷婷涩五月| 久婷婷婷| 九九热这里只有精品7| 黄网免费看| AV在线大香蕉| 久热99| 99开心五月五月丁香激情| 9久久精品| 久久久婷| 激情五月丁香综合蜜桃| 久久激情五月| 五月丁香网站| 国产亚洲精品AAAAAAA片| 色婷婷丁香五月天| 97很鲁在线视频| 久久精品凹凸分类| 日本偷拍九九九| 月丁香久久久| 丁香五月情| 九九九热精品| 亚洲另类毛片| 成人国产欧美大片一区| 五月天开心色色网| 麻豆精品| www.五月婷婷| 99极品视频| 亚洲色欲AAAAAA| 99热99色| AV在线大香蕉| 婷婷在线播放| 任我肏视频精品| 婷婷丁香五月天影院 | 超碰成人影视| 夜夜爱影院| 久久色情| 五月婷婷无码专区| 免费看欧美成人A片无码| 国产 亚洲 在线| 天天操夜夜操| 色婷婷综合丁香五月天| 婷婷色五月激情| 激情校园 亚洲| 玖玖精品视频| 99性视频| 国产综合丁香五月天| 大香蕉综合在线| 三十路磁力链接| 丁香五月天婷婷中文字幕| 五月天综合视频| 老妇六区| 色情丁香五月婷婷精品| 五月婷婷久久网| 97色女人在线| 日韩成人不卡| 丁香六月婷婷综合| 婷婷综合色播网| 久久人人看| 偷拍丁香九月激情| 色墦五月丁香| www.五月.com| 日日夜夜干| 久久图色4| 婷婷综合五月天激情| 人人摸人人澡人人| 久久无码成人| 女性自慰系列第五页| 中国激情网| 九九久久精品| 丁香五月综合激情啪啪| 久久A区B区| 操一区| 五月天天综合| 五月激情婷婷女| 婷婷中文字幕| 久久精品五月天| 婷婷五月天欧美图片在线播放电驴| 碰碰91| 操逼综合网| 五月天婷婷网站| 五月天婷婷久久| 91AV视频| 99青青草| 婷婷丁香熟女| www.狠狠狠狠| 久久激情网| 日本啪啪网| 五月天激情国产综合婷婷| 麻豆AV一区二区三区| 久婷五月| 99久.| 97五月婷婷| 久热这里只有精品99re | Av在线不卡一区| 五月婷婷色情| 国产精品久久久爽爽爽麻豆色哟哟 | 五夜丁香| 91在线日本| 自拍盗摄 另类| 伊人国产婷婷五月天| 丁香六月婷婷综合| 欧洲亚洲午夜| 狼人狠狠操| 亚洲AV第二区国产精品| 99色视频在线| 9久久AV| 五月婷婷丁香六月| 亚洲黄3级片网站欧美| 天天插,天天射| 色亭亭丁香五月天| 婷婷综合色播网| 丁香99| 91精品久久久久久综合五月天| av大片在线| 五月婷丁香在线视频在线| 欧美大肥婆大肥BBBBB| 久婷婷五月激情| 五月丁香久久| 五月天影院婷婷在线观看| 日本精品人妻无码77777| 六月色婷婷欧美| 香蕉久久国产AV一区二区| 丁香五月大片| 久久婷婷五月天丁香| 激情五月视频| 丁香六月婷婷久久亚洲天堂| 婷婷伊人网| 五月婷激情影院| 97色久| 久久永久网址| 久久精品99国产精品日本| wwccc久久久| 九九热狼人| 亚洲综合激情五月| 综合99视频| 婷婷五月天AV| 六月婷婷狠狠| 久久五月丁香综合| 亚洲综合另类| 99热永久在线观看| 激情综合色婷婷啪啪五月天| 日本色色色| h亚洲| 成人丁香| 色综合色色色色色| 91精产一区三区免费观看| 色综合激情| 米奇激情婷婷| 操操精品| www.色综合| 99热这里只有精品最新| 激情综合网五月| 色色五月婷婷| 怡红院视频| 免费AV播放| 5月丁香美女影院| 99九九在线视频| 日韩抽插操逼| 玖玖爱导航| 五月丁香六月婷| 毛片色五月| 99欧美| 五月激情综合婷婷| 五月天婷婷色色| 婷婷五月精品中文字幕| 九九综合伊人| 国内精品99| 99热老司机| 五月婷婷狠狠干| 亚洲成人网在线观看| 日韩青青| 99热网站| 五月丁香综合激情| 五月丁香综合精品| 久艹大香蕉| 久久精品凹凸分类| 色婷婷丁香五月| 丁香五月婷久久| 夜夜骑日日操| 97久久精品| 操逼电影免费看| www激情| 色色com| 逼逼AV| 色五月琪琪| www.久操| 91无码色色| 婷婷五月天开心网| 深爱激情五月天| 五月丁香六月婷婷a v| 97碰碰视频在线观看| 亚洲视频在线网| 全部老头和老太XXXXX| 99碰超| 亚洲另类视频| 人妻精品久久久久久| 激情六月丁香综合| 丁香婷婷五月六月久久| 一区二区传媒视频| 操大屄五月天视频| 无码AV免费精品一区二区三区| 激情综合区| 五月婷婷五月| 婷婷精品性视频| 婷婷五月天熟妇| 妻久久久久| 99免费视频久久| 91碰视频| 香蕉狠狠爱视频| 超碰9在| 丁香五月 激情文学| www.色色色com| 亚洲无AV在线中文字幕| 丁香六月啪啪| 色婷婷丁香五月天| 99这里都是精品| 亚洲激情婷婷| 青青草五月天| 日日操天天操| 五月色丁香| 色色网站在线| 操一操干一干| 日韩人妻无码专区| 99综合网| 三男玩一女三A片| 成人无码精品1区2区3区免费看| 日韩aaa| 天天草天天爽| 99亚洲精品| 亚洲亚洲人成综合网络| 桃色成人网| AV片一区在线观看| 色色色九九九五月婷婷| 99热亚洲只有色| 99综合99| 中文字幕成| 超碰免费大香蕉| 五月婷网| 狠狠草天天草| 色青青视频| 婷婷情色激情| 狠狠穞A片一區二區三區| 久久Xx| www.久久爱| 99久久9| 色婷婷综合久久| 大香蕉伊然在亚洲90| 午夜日韩久久久网站| 精品99在线| 99热在线爱| 五五月五月| 色婷婷色五月天| 97色97干| 五月激情在线| 日韩欧美成人一区二区三区| 卡视频1区2区| 狠狠色狠狠| 这里只有视频精品| 五月宗合激情网| 夜色综合网| 日韩无码专区| 婷婷丁香精品视频在线观看| 激情五月婷婷视频一区二区三区| 成人网站免费在线播放| 久月丁香爱婷婷综合| 久热这里只有精品在线| 丁香九月综合| 99在线精品免费视频| 69人人操人人爽| 大香蕉精品视频| 丁香伊人综合| 久久久噜噜噜久久人妻| 亚洲中文乱字字幕在线永久| 亚洲激情四射色| 99亚洲视频| 色婷婷婷综合五月天| 99热这| 五月婷婷丁香| 成人免费网站免费看| 五月天婷婷色色| 激情五月婷婷色播网| 婷婷伊人久久| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久久婷婷原创视频| 久久五月激情综合| 日本九九热| 91九色国产| 人妻视频一区而且二区| 91超级碰碰碰| 亚城区在线| 超碰在线成人| 欧美人人女女精品综合五月天| 国产xxxxx在线观看| 五月丁香综合在线| 国产精品第一国产精品| 色婷婷久久综| 99er视频在线| 亚洲色婷婷五月天| 黑人无码一区| 婷婷五月深深爱| 人妻久久久| 另类激情四射| 无码网站视频| 777精品久无码人妻蜜桃| 九九综合色综合| 色色免费网战视频| 99色热| 9 1超碰九色| 亚洲五月花| 俺也去五月婷婷丁| 他改变了拜占庭| A1片久久久| 色护士综合| 玖玖资源网站最新站| 激情五月天婷婷丁香| 黑人熟妇一区二区三区| 久热网在线视频| 性做爰A片免费视频A片直播| 香蕉久久国产AV一区二区| 99免费在线视频| 丁香六月综合| 亚洲人妻一区二区| 九九视频在线观看视频6 | 亚洲综合久| 五月天婷婷綜合院| 99啪在线| 九九婷婷五月天| 一本久久婷婷| 久久婷婷五月激情网站| 久久久天堂国产精品女人| 婷婷久久网| 国产精品久久..4399| 黑人无码一区| 久久人妻精品| 海外网站专业操老外| 99在线精品视频在线观看| 丁香花综合永久入口| 婷婷激情五月综合丁| 九九热青草| 亚洲 无码 中文字幕 中出| 免费精品99| 4399在线观看免费高清电视剧| 亚洲视频99| 青草青草久热这里只有精品| 91五月天| 熟女色专区| 亚洲天堂99| 亚洲激情网站无码| 亚洲精品又粗又大又爽A片 | 美女100%露全身无挡网站| 偷偷与邻居做爰完整视频| 婷婷丁香五月视频| 国产午夜精品AV一区二区麻豆| 国内裸舞二区| 狠狠精品干练久久久无码中文字幕 | 天天搞天天爽| 99丁香五月婷婷在线| 日韩淑女人妻luan伦激情精品一区二| 久久九⑨| 综合久久9| 五月开心婷婷极品激情| 丁香色婷婷| 丁香激情合作五月| 超碰熟女农村在线69| 激情五月婷婷色| 大香伊人婷婷影院| 婷婷色片| 色综合久| 嫩草AV久久伊人妇女超级A| 五月丁香婷婷啪啪综合网| av首页在线| 天天日天天舔| 婷婷伊人网| 乱岳熟女50岁| 丁香六月婷婷一区二区三区| 97热久久| 天天色天天| 精品久久久久久久久久久久人妻| 91九九热| WWW.99热| 色 五月俺去也| CAoub青青超碰| 激情五月天在线视频| 678五月丁香亚洲综合| www.韩日视频| 国产熟女一区二区三区五月婷| 婷婷亚洲五| 色爱爱综合网| 免费亚洲婷婷中文字幕| 天天草天天爱| 99热99思午夜精品| 五月丁香免费看| 丁香五月冃欧美| 99爱99操| 河北真实伦对白精彩脏话| 婷婷六月丁香五月| 精热在线综合网| 久久综合55| 久久只有18视频| AV天堂婷婷五月天| 五月丁香啪啪综合| 亚洲五月六月婷婷| 九九热99视频| 丁香五月天啪啪激情综和网| 色婷婷成人网| 激情久久伊人| 色吧五月| 999热在线视频| 开心五月婷婷五月| 亚洲国产成人AV在线| 夜夜爱网站| 5月婷婷6月六月丁香| www.99热视频在线观看| 超级碰碰碰碰视频| 色色欧美。| 成人日韩欧美| 99精品性爱| 六月丁香五月激情网| 久99久热| 99re久热| 国产国产乱老熟女视频网站97| 国产激情在线| 色婷婷五月天不卡| 九九视频这里只有精品在线播放| 玖玖五月丁香| 99精品综合| 婷婷五月天影院| 91色在线/日韩| 无码任你操| 亚洲 小说 欧美 激情 另类| 久热99| 婷婷玖玖五月天| 1024人妻无码中文字幕| 另类天堂| 欧美婷婷五月丁香| 亚洲成人中心| 婷婷五月天激情基地| 99热日本| 久久一热免费视频| 99精品在线播放| 激情性爱五月| 午夜免费高清AV片| 欧美,日韩成人在线| 9热网站| 婷婷五月综合激情| 99性视频| 九九RE视频在线精品| 99九九视频精彩在线| 丁香五月激情在线| 亚洲国产色色| 五月丁香婷婷综合网色欲| 婷婷五月天va| 婷婷五月天色丁香| 婷丁五月| 婷婷色女| 青青草性爱视频| 欧美激情综合| 国产亚洲色婷婷久久99精品91| 91超级碰在线| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 日本44久久在线| 夜色五月天| 猫咪伊人AV| 亚洲精级| 97涩婷婷| 色综合色综合色综合| av超碰在线| 999九九九久久久99HD| 99在线播放| 婷婷丁香www视频日本韩国| 狠狠色噜噜色狠狠狠综合色 | 99热日韩| 综合色久| 日韩成人综合网| 天天操综合网| 亚洲情综合五月天| 超碰婷婷色| 岛囯综合激情网| 欧美男女婷婷| 天天综合 99久久婷婷| 成人婷婷| 丁香婷婷人妻| 开心五月婷婷六月丁香| 婷婷性爱无码视频| 激情五月狠狠| 丁香五月天视频| 久久久久9| 91狠狠综合久久| 亚洲A片成人无码久久精品青桔| 亚洲乱码日产精品BD| 人人操超碰| 97热久久| 久久99网站| 婷婷色香六月综合激情| 激情五月婷婷色播网| 亚洲无码99| 九九热免费| 免费观看全黄做爰的视频| 丁香婷婷激情四射五月| 98永久精品| 丁香六月AV| av人人操| 伊人www22综合色| av九九| 在线免费观看激情视频| 久久久久8888| 日韩狠狠色婷婷| 五月婷婷中文字幕| 99热最新网址| 在线成人va| 六月大香蕉| WWW.五月天9999| 久草五月天| 色播五月| 97色精品视频| 五月丁香91| 99色看| 97久久人人操| 99re欧美精品| 性爱网五月天| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 丁香久久| 亚洲热久| 5月婷婷综合| 五月天桃色深爱网| 五月香婷婷| 69精品人人人人人人| 激情丁香婷婷五月天| 婷婷五月天无码| 91五月天| 成人网站av免费网站推荐| 婷婷成人综合免费视频| 色噜噜狠狠一区二区三区| 婷婷五月天色| 日熟女| 天天干天天爽天天爽| 日韩亚洲视频| 色五月开心久久网| Av性爱网| 色五月五月婷婷| 婷婷福利影院| bbwcuckold精品熟妇| 六月色婷婷| 丁香五月开心七月| 狠狠搞五月天| 婷婷娌伦网| 欧美A片在线视频免费观看| 99热 这里只有精品 国产 日韩| www.99热视频| 中日韩美欧成人一区二区精品在线| 久操激情| 五月丁香六月欧美综合网站| 久久AAAA片一区二区| 丁香九月激情| 五月综合色| 青青久久五月天丁香婷婷| 激情婷婷五六月天| 成人短视频在线| 亚洲色五月婷婷| 色婷婷五月天综合网| 九九AV| 五月天婷婷色在线视频免费观看 | 超碰成人免费| 九九大香蕉黄色影院| 玖玖伊人网| 亚洲九九99精品视频在线播放| 丁香五月偷拍| 色激情综合| 操逼视频一区| 五月亭亭欧美女人| WWW·色色色·COM| 五月婷婷性爱网| 五月婷婷丁香大陆免费| 激情www| www.久久久久久久| 五月婷婷在线观看黄| 碰人人97| 狠狠操性爱av| 热99视频精品在线| 久久久五月激| 国产偷人爽久久久久久老妇APP| 九九av| 五月天婷婷无码| 五月婷久久| 五月婷婷啪| 99操逼| 狠狠草狠狠草| 婷婷五月天激情四射| 五月婷婷综合激情网| 欧美日韩123| 97丁香婷婷| WWW.99热| 亚洲五月花| 人妻自慰在线| 丁香激情五月| 六月激情婷婷色| 五月天婷婷成人网| 五月激情网五月综合网| 国产真人做爰视频免费| 伊人丁香婷婷东京| 91人人爱| 天天爽夜夜爽夜夜爽精品视频| 墨西哥毛片内射精| 激情开心五月天|