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

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
返回資訊列表
成人亚洲精品久久久久| 亚洲综合干| 久久综合首页| 五月天色婷婷伊人网| 91视频久久久| 九九热这里只有精品23| 97超碰在线免费观看| 六月丁香五月婷婷| 另类A片| 久热这里有精品视频| 免费91久久精品| 色五月超碰| 亚洲小说欧美激情| 婷婷久久五月| 久热9| 久久曰9| 天天狠狠夜夜狠狠2023| 97精品在线| 这里只有精品视频看看| 情婷婷五月天在线| 五月丁香六月色婷婷综合五月天| 色综合久久99色| 久草婷婷在线| 99久久婷婷国产综合亚洲| 丁香五月手机在线| 99性爱| 欧洲色| 99只有这里是精品| 久久99这里只有精品视频| 午夜色婷婷| 丁香色情五月综合激情| 久超免费视频| 免费在线a| 六月成人网| 丁香五月六月综合激情| 99色色网| 99久久综合| 久久92| 热99这就是精品视频| 丁香五月激情站| 精品国产va久| 丁香五月婷婷俺也要去| 亚洲av电影网站| 欧美色色色色色| 欧美日韩AAAA| 激情五月天 婷婷| www,av好吊操| 免费视频99| 五月丁香狠狠地噜噜噜噜| 欧美婷婷六月丁香综合色| 婷婷六月视频| 色五月开心婷婷| 国产9色在线/日韩| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 天天爽天天| www,婷婷五月天,com| 琪琪理论片| 丁香五月综合高清在线| 六月丁香婷婷天堂| 亚洲综合色网| 色五月激情综合网| 9色婷婷| 在线成人va| 五月激情综合网婷婷| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久综合天天综合| 99热天堂| 性做爰1一7伦| 六月婷婷青青青视频| 婷综合六月| 91九九精品| 丁香美女主播视频在线观看| 色欲天天综合| 天天狠狠夜夜狠狠2023| 五月丁香色停停啪啪啪| 亚洲一区二区无遮挡A片| 一起操 91N.com| 91九色欧美| 99视频久久| 五月婷婷黄色| 九九99久久| 亚洲无码色| 九月丁香婷婷综合| 任你爽在线视频| 激情五月天婷婷色色色色色色色色色色色| 丁香五月天堂网| 欧美激情xxxXX| 99在线精品在线视频| 99ri精品在线| 另类婷婷五月天啪帕帕| 九九性视频| 色五月婷婷视频| 99热免| 日韩欧洲亚洲| 丁香婷婷综合激情五月色| 99热永久在线观看| 五月丁香琪琪| 色欲色香,www,com| 丁香五月激情婷婷| 乱精品一区字幕二区| 1级欧美日韩| 丁香玖玖| 亚洲A色| 激情性爱五月天| 日比网免费国产| 超碰色色综合| 97资源碰碰在线| 久久久人妻久久久| 九热视频在线精品15| 国产一级片| 久热爱大香蕉在线蜜臀悦色| 色欲日日躁| 久久9热| 国产XXXX搡XXXXX搡麻豆| 婷婷综合偷拍| 99亚洲日韩| 五月婷婷久久综合| 涩五月婷婷| 婷婷五月天中文字幕| 天天骑天天操| 快乐激情五月色婷婷| 色婷婷色婷婷五月| 亚洲九九99精品视频在线播放| 噜噜噜噜噜久| 色色婷婷丁香| 狠狠九九婷婷韩| 久久这有这里精品| 色综合99| 欧美啪啪五月天| 99色啊| 久久99综合网| 中文字幕成| 狠狠狠狠狠草| 少妇水多A片太爽了| 五月停停色色丁香| 久久五月天网| 亚洲一区二区无遮挡A片| 丁香婷五月天| 202丰满熟女妇大| 五月丁香激情综合| 啊V视频在线观看| 日本全黄一级999| 色婷婷丁香五月天在线视频 | 欧美色五月天| 婷婷五月天丁香久久| 久久亚洲网| 国产免费一区二区三区三州老师F1F1.CC | 色播丁香婷婷五月激情| 免费看欧美成人A片无码 | 亚洲热热视频| 午夜免费高清AV片| 五月婷视频在线| 婷婷五月综合丁香久久| 色五月激情婷婷| A片试看120分钟做受图片| 怡红院 久久| 久久久性爱视频| 亚洲区1| 五月婷婷九月婷婷九月婷婷| 97超碰免费超级在线观看| 嫩草视频在线观看| 26uuu精品一区二区| 久久九九爽| 性爱网五月天| 99热成人永久免费| 亚洲免费综合一区| 涩综合婷婷| 日逼影音先锋AV男人资源站| 天天插天天日| 婷婷99视频精品| 大香蕉中文| 铁牛TV人妻| 五月综合视频| 超碰人人干| 怡红院视频| 亚洲av成人在线| 久久人人看| 五月天婷婷久久| 亚洲操人| 先锋资源 996| 9热久久| 五月丁香色综合| 国产色网站| 婷婷五月天亚洲| 九九综合视频在线观看| 久久视9精| 六月婷婷激情小说网| 俺来也狠狠| 丁香五月六月欧美| 人妻久热| 99国产精品久久久久久久久久久| 99无吗| 激情九九六月激情免费视频| 99热日| 99热 免费| 欧美三级A做爰在线观看| 秋霞簧片| 337p大胆噜噜噜噜噜91Av| 97啪啪| 99开心五月五月丁香激情| 少妇AB又爽又紧无码网站| 狠狠久综合| 岛囯综合激情网| 99热这里精品| 日本va欧美va精品发布视频| 香蕉操亚洲| 大香蕉av在线| 女高怪谈在线观看| 久久一热免费视频| 99伊人性爱在线影院| 色五月综合网| 国产精品VA在线| 91九色国产| AV在线不卡播放| 五月天色五月| 婷婷六月中文字幕| 亚洲色五月| 日本三级成人秘书精品片| 婷婷五月天开心网| 情涩婷婷五月天| 色久影院| 涩 五月 婷婷 狠狠| 色色婷婷五月| 五月天婷婷综合| 人妻性爱| 五月丁香六月激情综合网 | 婷婷综合色网| 美女被操一区二区| 99精品视频在线观看| 亚洲无码成人| 色五月婷婷在线观看| 啪啪啪大香蕉| 182TV亚洲| 久久精品凹凸分类| 成人无码髙潮喷水A片| 久久人妻人人| 色99网站| 99热这里只有精品免费观看| 婷婷开心激情综合五月天| 丁香五月 无码| 精品人妻伦九区久久AAA片| 日日干夜夜干| 97五月天| 九九激情| 夜夜操天天干| 人人操Av| 提提热五月天婷婷| 天天爽天天日人人爱| 亚洲色图五月丁香| 国产AV不卡福利| 丁香六月丁香婷婷激情| 国内一级片| 久草热在线视频| 丁香激情四射| 夜夜资源站| 精品久久久人妻| 婷婷丁香五另类网站| 秋霞电影一级黄| 大香蕉久久草| 日本精品99网站| 人妻中文av| se色婷婷视频| 99热99精品在线观看| 伊人久久大香蕉网| 丁香婷婷啪啪| 丁香九月综合| 99热99re6国产在线播放| 色色色综合视频| 99久久婷婷国产综合| 热久国产| 婷婷激情五月天网站| 欧洲综合视频| 婷婷丁香色五月亚洲| 五月丁香激情四射综合| 欧美色图天堂网| 久操大| 亚洲天堂久久| 丁香六月天婷婷在线| se99高清无码| 六月丁香婷婷网| 狠狠人妻久久久久久综合丁香| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | www.色五月天.com| 综合五月网| 天天爽天天摸天天爱| 五月婷在线视频免费播放| 激情综合激情五月| 久久99免费视频| 婷婷五点亚洲| 亚洲精品影视| 99热在线观看| 影院久久久| 六月婷婷网| 天天肏天天肏天天肏| 超碰无码318604| 色情五月丁香| 九九热AV| 婷婷黄色网| 色 五月 天 婷婷 丁香 九月| 超碰色婷婷| 久久久激情视频| 色五月涩涩婷婷蜜桃| 激情欧美婷五月| 五月WWW| 99视频在线精品| 亲子乱AV一区二区三区下载| 26uuu国产| 五月天婷婷婷| 五月丁香福利| 婷婷五月色亚洲| 成人va视频| 五月丁香啪| 国产真人做爰视频免费| 国产肏屄大片| 色国产五月| 欧美丁香婷婷五月天| 色色五月婷婷| 久久婷婷五月综合色丁香| 激情99热| 99年操人人爽| 国产成人网| 色噜久| 1024成人免费看| 这里只有精9| 99色区| 九九一综合精品| 怡红院精品视频久久久久久久久| 99re最新地址视频| 欧洲亚洲精品| 99人妻碰碰久久久禁片| 九九热九九| 色狠狠色狠狠| 大地资源色婷婷视频在线| 综合网网欲色| 五月婷婷丁香六月在线| 香蕉久久国产AV一区二区| 婷婷五月丁香四射| 五丁香激情综合| 五月婷激情| 色欧美色色色| 婷婷欧美偷拍综合| 激情婷婷丁香五月天| 六月婷婷五月丁香| 可以免费观看的av网址| 五月婷婷偷拍| 男人天堂AV在线一区二区| 97涩涩丁香五月天| 日本久久精品| www久| 强伦轩人妻一区二区电影| 亚洲亚洲人成综合网络| 人人草成人视频| 色久女| 亚洲 欧洲 国产 伦综合| 婷婷五月丁香色情| 97精品综合| 美欧日韩国产成人在战| 日本美女五月天| 丁香九月激情在线视频| 六月婷婷激情小说网| 久99热| 影音先锋按摩| 久9热| 久99| 99亚洲视频| 色婷婷狠| 五月激情六月综合| 桃色Av色哟哟| 天天插天天干| 婷婷永久在线| www.久9| 色五月丁香伊人五月| 综合天堂AV久久久久久久| 五月婷婷色丁香| 亚洲综合五月天| 日韩啪啪视频| 成人做爰A片免费看视频| 免费AV黄在线播放| 99国产精品久久久久久久久久久 | 99亚州综合精品成人网| 天天综合网~91| 九热视频| 色播婷婷五月天| 啪啪啪综合网| 综合狠狠干| 97超碰,人人舔,人人操,人人摸 | 亚洲经典三级| 久草xx性爱视频| 色色草97| 99色综合| 婷婷激情蜜桃玖玖丁香| 97人人操人人操人人操人人| 五月丁香操婷逼| www.婷婷亚洲基地| 爱射综合| 激情五月婷婷综合色播小说| 91网站黄| 亚洲激情四射| 五月丁香在线| 久久久久久人妻| 欧亚洲在线高清视频| 精品夜夜澡人妻无码AV| 五月婷天天搞视频| 色色色色色色色色五月先| www.天天日| 日本va网站| 九九成人电影婷婷| 第四色大香蕉| Jh7Uf088VHafNm| 成人 九九九九| 久久婷婷激情| 婷婷五月精品中文字幕| 狼友视频在线观看18| 久久色情| 色五月天成人| 99热 在线观看| 97超碰9久热婷婷热| 射久久丁香五月| 日本a片网址| 亚洲AV在线免费看| 丁香五月亚综合图片| 黄网免费观看| 日韩人妻在线播放| 另类图片五月天| 日本九九热| 9999热在线免费观看| 九九热精品| 色色哒五月婷婷六月丁香| 色婷婷丁香综合中文字幕| 五月婷婷爽爽爽| 久热超碰91| 亚洲视频丁香网va| 超碰免费成人| 狠狠色综合网站久久久久| 色色婷| 99在线小视频| 丁香五月丁香伊人| 色九亚洲| 婷婷狠狠18禁久久| 国产性爱大片久久| 亚洲亚洲人成综合网络| 久久丁香五月婷婷| 婷婷久久综合| 六月丁香婷婷六月激情综合| 97色色色视屏| 91精品人妻少妇无码影院| 亚洲无码影音| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 操日视频| 亚洲亚洲永久无码777777| 丁香六月婷月91婷月| 超级久久久| 性色做爰片在线观看WW| 天天爱天天操| 五月丁香久久| 久久9久| 国产激情在线| 五月婷丁香| www.狠狠艹| 婷婷五月天亚洲激情戏精品| 人妻五月天激情开心网| 婷婷五月丁香狠狠| www.25五月婷婷| 婷婷丁香五月综合| 2017狠狠干| 色97啪啪| 天堂网啪啪| 人人97操| 秋霞av不能| 激情电影五月婷婷| 91av成人| 超碰色女人| 亚洲4区国产欧美| AV片在线观看| 性爱七区| 五月天婷婷綜合院| 97人人做| 久久XX| 91爱操| 婷婷激情肏屄网| 超碰成人在线观看| 美日韩成人| 国产精品久久..4399| 97色婷婷五月天| 97在线/亚洲| 91色逼| 久久香视频| 亚洲超级碰| 婷婷六月综合基地| 大香蕉婷婷丁香天堂AV| 五月婷婷六月丁香激情深爱| 狠狠狠狠狠狠草| 69婷婷丁香午夜| 久草久青福利| 九九热在线观看视频网站| 五月天婷婷色小说| 激情五月婷婷五月| 色情五月婷婷| 熟女少妇内射日韩亚洲| 97在线日韩| 综合超碰熟| 91怕怕网| 99 r热| 丁香五月婷婷色五月| 五月天激情中文字幕| 五月婷婷丁香狠狠撸久久| 婷婷无码五月天| 99精品视频偷拍| 亚洲无码色色| 五月天丁香久久综合 | 亚洲精品va| 五月丁香婷婷啪啪综合网| 欧美婷婷五月| 婷婷黄色| 婷婷婷婷婷婷婷婷婷婷丁香| www.99精品视频| 久久丁香五月婷婷| 麻豆五月丁香婷婷| 日本欧美成人片AAAA| 一二线视频 另类| 国产亚洲av片| 99热国内| 丁香五月区| 99视频| 黄色毛片精品| 丁香五月 六月婷婷首页| 五月六月丁香激情| 天天射影院| 人妻激情视频| 26uuuu精品一区二区| www.色婷婷.com| 99久久9| 99精品超在线播放| 五月丁香色婷| 国产性爱亚洲是图| 伊人九九综合| A A色色| 亚洲午夜AV| 激情性爱五月天网页| 国产精品久久久久久白浆色欲| 五月婷婷无码专区| 日韩无码成人电影| 9191avse| 丁香五月综合| 涩涩激情五月婷婷| 一二三区视频韩国| 天天艹夜夜艹| 九九综合伊人| 久久久精品人妻| 少妇人妻偷人精品无码视频新浪| 97超级碰碰碰| 综合激情网激情五月。| 极品少妇XXXX精品少妇偷拍| 91操片| 五月丁香六月婷婷亚洲综合| 人妻内射一区二区在线视频| 99成人网一区| 精品A√| 五月丁香六月激情| 97婷婷丁香五月天激情图片| 99久在线精品99re8| 亚洲无aV在线中文字幕 | 精品色色| 一区二区三区四区牛| 五月天婷婷开心| 久久人妻视频| 午夜婷婷丁香| 久久xxxx| 色五月激情问网站| 亚洲综合另类| 五月伊人综合| 丁香五月人妻| 97成人丁香婷婷| 色优久久| 五月丁香啪啪网| 九热...av| 日韩精品成人在线| 久久婷婷丁香| 日本色图综合| 激情丁香五月婷婷| 精品无码色| 97婷婷色| 美女要搞搞天天搞搞搞网站| 五月天电影网| 九九热这里只有国产精品| 春色激情| 色色色免费视频| 日逼影音先锋AV男人资源站| 婷婷深爱五月丁香| 亚洲免费av在线| 日本色视| 久超超碰| 国外亚洲成AV人片在线观看| 天天橾日日橾夜夜橾17| 国产AV成人精品| 天天日天天爱天天噪| 亚洲成人AV一区在线观看| 五月天综合图片| 亚洲色99综合天堂| 色色色无码| 久久99网址| 人妻av在线| 丁香五月婷婷深爱综合激情| WWW.久久.COM| 国产精品视频久久99| 4438成人电影| 色五月婷婷网| 精品少妇蜜臀91| 丰满少妇乱A片无码| 婷婷激情五月天小说| 91oumei| 久久久99久久| 婷婷五月免费观看| www.91AV.COM| 激情五月天影院| 五月花婷婷丁香| 日韩淑女人妻luan伦激情精品一区二| 无码激情| 丁香五月六月婷婷综合激情| 色狠狠色综合久久久绯色AⅤ影视| 五月天婷婷视频| a色色片| 日本婷婷激情四射中文字幕在线观看| 五月婷婷六月色| 九九黄色网| 9国产在线视频| 桔色成人官方网站| 激情综合色网| 99福利视频导航| 五月丁香啪啪综合| 操啊操av| 婷婷啪啪| 成人av在线网| 99综合网| 精品爆操| 日逼免费视频| 无码人妻激情| www,99热在线观看| 婷婷在线精品| 综合视频久久| 天天综合影院| 国产五月丁香在线| WWW.久久久久久久| 成人精品免费在线观看| 丁香五月天啪啪| 激情综合五月开心狠狠| 六月香五月婷| 日本99久久| 五月深情久久| 任我肏视频精品| 九九av| 五月天婷婷操逼视频| 亚洲另类婷婷五月综合| 五月丁香爱婷婷深深| 免费观看高清无码| 九八Av| 激情五月婷婷五月| 日韩综合久久| 激情图片五月天| 男女久久婷婷五月天| 婷婷综合在线播放| 九九十99视频| 91日本在线免费| 在线观看免费视频| 丁香婷婷六月| 婷婷色网| 久久综合九九| 丁香六月婷婷综合缴| se色99| 久久婷婷草| 琪琪色网址| 久久99网| 日日色综合| 色五月色五天色情网| 色综合网址| 色婷五月天| 激情五月天婷婷五月天| 婷婷五月激情视频| 999热在线视频| 色色无码日韩| 综合激情伊人影视在线| 一级片sese片.COM| 色色激情五月天| 婷婷五月天堂| 99色热视频| 激情av在线| 五月婷婷婷| 99热国产婷婷| 亚洲操操| 玖玖在线资源视频| AA丁香综合激情| 《诡秘之主》在线观看| 99热免费精品热久久66| AV伊人青草丁香六月| 久热久色| www,欧美干干干干干干| 亚洲人成人五月天| AV性爱在线| 性热视频99精品| 综合久久综合久久| 亚洲1区| 欧美丰满熟妇BBB久久久| 做爰丰满少妇1313| 久久这里只有精品视频15| 五月婷狠狠| 婷婷六月色情| 99久久99视频只有精品| 97大香蕉五月天| 丁香青青五月天| 99视频在线观看网址| av在线激情| 五月色无码| 国产日韩亚洲欧美在线观看| 天天干天天干天天干| 色在线99| 国产免费一区二区在线A片视频| ..真实国产乱子伦毛片| 午夜丁香六月婷| 色色五月天激情| 26uuuavcom| 激情五月天 婷婷| 天天干天天拍| 丝雨一区二区| 爆乳熟妇一区二区三区爆乳| 五月综合激情图片| 婷婷狠狠操| 色婷视频| 亚洲Av成人在线观看| 婷婷五月天激情网| 亚洲综合婷婷五月天| 青青草原伊人网| 无码AV久久久久久久久| 久久五月天免费网站| 亚洲1区| 天天色官网| 久久色五月天激情小说| 在线播放成人网站| 五月天丁香花婷婷| 婷婷五月天色丁香| 亚洲最大激情无码| 丁香五月婷婷偷拍| 欧美日韩一区二区三区四区| 一级片sese片.COM| 开心五月网| 亚洲天堂久久| 欧美日综合| 色五XX| 91超级碰碰| 99热综合色图| 26uuu欧美宗合| 欧美性生交XXXXX无码小说| 婷婷五月综合网| 噜噜噜精品欧美成人在线观看| 日韩黄黄| 久久免费高| 丁香六月婷婷综合麻豆| 色一情一乱一乱一区91Av| 91精选国| 性小说五月天| 日日操天天操| www99久久| 久久久久久久合一狠狠做深爱| 久久思思热| 丁香色成人| 开心五月激情网| 97干在线视频精品店| 色婷婷基地在线| 超碰人人干| 爱久久小说下载网| 可以免费观看的av网址| 99九九99九九九视频精彩| 九九无毛| 开心五月婷婷在线| 五月丁香婷婷钟和色图| 日本婷婷综合精品| 婷婷综合视频| 六月婷婷色综合| 天天色色天天| 亚洲AV人人操| 国产白丝在线一区| 超碰93在线观看| 五月婷婷婷婷| 日本久久99久久| 久久久久思思热| 伊人在线另类| 日日爱699| 婷婷情色五月| 天天干天天操| 日操夜操天天操不卡| 天天天添天天操| 亚洲免费婷婷| 我爱宗和色| 欧美精品在线观看| 九九精品碰| 九九色精品| 丁香激情四射| 男人的天堂五月丁香| 日日噜人人人做人| 99在线精品免费视频| 99日逼视频| 六月丁香深深爱| 99热精品网| 亚洲亚洲人成综合网络| 久久在线大香蕉| 欧美性爱中文字幕| 日欧一片内射VA在线影院| 久久99综合网| a色色色色色| 亚洲精品五月| 亚洲色99综合天堂| 这里只有精品视频在线| 99久热精品在线| 91婷婷| aaa丁香五月天| 五月天婷婷综合网| 激情婷婷色五月| 欧美操综合| 亚洲成人网在线观看| 玖玖色综合| 99精品视频免费观看近期发布| 日本五月视频| 激情亭亭五月| WWW久久久| 久久这里这里有精品免费视频| 天天插操| 婷婷成人AV| 欧美激情五月综合| 99色综合久久| 大香蕉九九| 色五月天天| 97精品综合久久内射| 亚洲综合视频在线| 六月天无码网址| 色噜久| 我爱大香蕉| 久久这里只有精品久久| 337久久| 偷偷操99| 亚洲舔观看| 五月Huangsewang| 丁香五月婷婷激情中文| 99九九玖玖| www.henhengan| 亚洲综合在线丁香五月| 影音先锋噜一噜| 99视频| 五月天综合在线观看| 99热99| 欧美大片| av在线中文| 这里只有精品在线播放| 五月丁香福利| 操97在线观看| 成人精品在线| 狠狠干综合| 亚洲AAA| 丁香丁婷五月激情| 97超碰欧美中文字幕| 97操碰| 9九色首页| 丁香五月天网友自拍啪啪啪视频| 啪啪一区| 热九九九九| 97天堂| 五月婷婷导航| 丁香五月综合在线观看| 久久婷婷老| www超碰| 成人在线综合| 五月好婷婷| 丁香亭亭久久| 天天骑日日爽| 天堂综合久久| 天天日P天天射P| 国产av天堂| av色色国产| 最新va在线播放| 五月天激情久色| 色丁香五月| 色婷婷综合电影| 91丁香色| 日日做A爰片久久毛片A片英语| 久久五月丁香| 五月婷婷激清网| 就要爱综合| 夜夜爱影院| 人人干女人| 久久99jiu9| 色九九中文字幕| 久久性爱视频| 精品婷婷| 免费观看欧美成人AA片爱我多深| 色久五月| 日本婷婷综合精品| 色婷婷丁香五月天在线视频| 六月99天天婷婷激情综合| www.色色五月天.com| 五月天婷婷丁香人人操91| 91 久热| 丁香五月影| 亚洲激情综合| 亚洲激情网站| 婷婷亚洲五月色综合| 丁香五月AV综合激情| 日日干日日色| 5月婷婷激情6月| 丁香五月综合福利视频导航| 免費亭亭成人| 婷婷亚洲丁香五月| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 色婷婷久久视屏| 婷婷五月欧美| 久久五月婷天天干| 丁香五月五月婷婷| 粉嫩AV久久一区二区三区| 婷婷大美在线| 久久五月天黄色五月天色网址| 2020久久婷婷五月| 天天舔天天插天天干| 丁香五月激情综合啪啪| 天天日,天天插| 五月天久久网站| 丁香五月婷婷狠狠色| 99国产精品白浆在线观看免费| 激情五月天色播| 国产精产国品一二三在观看| 综合久久激情久久| 97干在线看| 9久久精品| 人人操Av| 狠狠艹狠狠艹| 五月丁香六月激情啪| 操操操Av| 九九RE视频在线精品| ..真实国产乱子伦对白在线_欧| 色色色香蕉五月婷| 婷婷伊人视婷婷婷| 色之综合网| 精品综合五月| 婷婷六月综合激情| 久久久97| 丁香六月婷婷操逼网| 婷婷色五月天色| 亚洲精品亚洲人成人网| 99日韩网站| 激情图片久久| 色五月av| A1片久久久| 五月色丁香综合| 在热视频精品| 色色99| 国产古装妇女野外A片| 色婷婷色和| 激情四射五月天| 久草xx性爱视频| 激情久久肏屄视频| 琪琪色影音先锋| 色色激情网| 伊人五月网| 婷婷五月激情图片| 久久久久久久人妻| 以及AA大片看看| 五月色色色| 色999;丁香五月| 色啪网| 9|人妻人人操| www,久久久| 婷婷五月丁香手机在线视频| 色色五月婷| 婷婷六月香| 99热99思午夜精品| 96丁香六月婷婷蜜桃综合久久| 丁香五月婷婷啪啪| 校花娇喘呻吟校长陈若雪视频| 99色中文| 深夜A片| 狠狠操狠狠插| AV色婷婷| 激情丁香六月| 成人做爰A片免费看视频| 五月天操逼网| 狠狠色综合网站久久久久| 超碰在线国产| 色综合区| 久热这里只有精品3| 久99婷婷色综合| 久久综合久色欧美综合狠狠| 成人av在线电影| 五月婷婷影| 亚洲在线网站| 五月综合婷婷开心网| jiqingliuyuetian| 俺去也五月| 看婷婷五月天网| 91ncom.色| 青青艹b| 五月婷婷色吧!| 亚洲色无码A片一区二区麻豆| 色五月网址| 第四色大香蕉| 97久人人| 五月天色五月| 丁香五月婷综合| 99精品免费欧美小视频| 色色色色色色色色综合网| 五月婷婷啪啪网| 色婷婷偷拍| 亚洲国产网址| 激情五月婷婷色播网| 这里只有精品96| 五月婷婷开心激情六月蜜桃| 噜噜噜久久| 伊人青草成人| 婷婷91| 99视频色在线观看| 色五月丁香六月婷婷| 九七色色六月丁香| 99热在线播放| 任你爽免费视频| 久99久视频| www.思思99热| 欧美三级韩国三级日本三斤| 春色激情第四色| 婷婷色情五月| 欧美色狠婷久| 99热在线观看精品| 日韩五月婷婷| 91九色网| AA片在线观看视频在线播放| 色高清无码视频| 久久国产一区二区三区| 激情综合网,婷婷| 六月婷婷综合网2| 亚洲色婷婷视频| 成人 AV播放| 久久婷婷五月综合色奶水99啪| 婷婷丁香五月色偷偷| 第四色五月婷婷| 久久久五月天| 色色婷婷丁香| 呦呦v线| 婷婷色色宗合网| 色停停五月,在线观看| 91精产品自偷自偷综合| 狠狠干夜夜干| 婷婷五月激情丁香激情| 色综合久久久久| 色婷婷色五月综合| 日本天堂久久| 4399亚洲视频| 婷婷综合欧美| 韩国真做片在线观看| 日韩在线五月天婷婷| 91丨人妻丨国产丨丝袜| 天天操加勒比| 激情五月天开心网丁香无码| 亚洲成人影视在线| 婷婷干五月综合在线播放| 六月婷欧美| 狠狠色综合网| 那里有AV网址| 操人91| 激情五月图| 亚洲99一级无嗎特制在线| 丁香五月综合激情性爱 | 亚洲国产精品VA在线看黑人| 天天爽夜夜爽| 六月丁香停| 亚洲激情综合| 人草人人| 啪啪综合网| 久久婷婷七月丁香| 色婷婷亚洲婷婷| 91dy.av| 色综合久久综合中文综合网| 99色天堂| 亚州色色色| 五月婷婷色播视频| 亚洲免费成人电影AV| 97香蕉久久超级碰碰高清版| 热久久66| 大香蕉婷婷久久| 碰碰人人人| 色色五月天丁香| 俺也去综合| 婷婷丁香人妻天久久| 超碰2021| 激情综合网五月天| 五月婷婷五月天在线| 久久精品亚洲一级牲爱综合| 91一道本| 无码AV免费精品一区二区三区 | 激情婷婷丁香| 天天透天天爱| 天天日夜夜草进麻麻的子宫| 丁香六月啪啪| 91日综合欧美| 婷婷激情久久| 五月天开心激情综合网| 久久久久丁香婷婷五月天| www婷婷亚洲| 久99视频在线观看| 亚洲一级 片内射网站在线观看| 成人电影一区| 五月婷婷丁香俺日污视频| 久久五月天黄色五月天色网址| BT综合在线视频观看| 99re资源在线视频导航| 中文字幕无码人妻少妇免费视频 | 亚洲操人| 99视频| 久久五月天精品视频| 色啪影院| 婷婷伊人綜合| 色婷婷亚洲综合av| 色欲一区二区三区精品A片| 国产99久久久| 色欲久久久久久综合网综合网| 亚洲中文乱字字幕线在永久| 狠狠色五月激情| www999日韩精品| 婷婷99丁香| 六月婷婷最新网址| 久久综合66| 婷婷中合| AA丁香综合激情| 狠狠色狠狠操| 亚洲色频| 另类图片天天影视在线观看| 99精品在线观看视频| 怡红院视频| 五月开心婷婷网| 日韩综合天堂| 五月丁香偷拍| 91尤物九色在线| 九九色院| 国产97色在线 | 日韩| 婷婷五月天丁香久久| 九九九九九九热| 99cao婷婷| 九九99九九精品免费 | 成人丁香色| 激情久久综合| 99色热视频| 日本99久久| 啪啪一区| 久久国产精品乱子伦_靑青草…| 久久欧洲久久| 人妻性爱av网站| 激情黄色五月天| 激情五月天之六月婷婷| 啪啪啪啪五月天| 婷婷五月激情片| 亚洲人人96@| 夜夜爽日日躁| 亚洲激情综合| 亚洲丁香婷婷五月天综合色| 亚洲看av的网站| 操你av| 丁香色婷婷五月天| 来吧亚洲综合网| 色五月丁香六月婷婷| 丁香六月综合激情| 另类视在线| 桃色五月天| 99精彩视频| 日本玖玖在线| 狠狠色丁香婷婷五月| 91性高潮久久久久久久久| 99热国品免费| 深爱婷婷色| 婷婷久久色| 五月丁香色婷婷色| 亭亭玉月丁香| AAA级久久久精品| 日韩av网站在线观看| 99热这里| 亚洲九九九九| 亚洲最大五月六月丁香婷婷| 色欲影香| 久久九九色| 婷婷视频在线碰| 操操自拍| 超碰com| 天天影视天天爽天天草| 天天色图| 日韩黄在免| 丁香五月婷婷色偷偷| 丁香五月天激情五月天激情五月天激情网 | 婷婷久久丁香| 国产在这里只有精品| 99精品丁香五月| 久xxxx| 99re思思在线视频| 色天天综合| 婷婷色五月激情| 在线看的免费网站| 99九九在线精品热动漫| 99热99日…..| 夜夜爱伊人| 强壮公让我夜夜高潮A片视频| 国产XXXX搡XXXXX搡麻豆| 91丨九色丨熟女丰满| 久久老码第一| 激情无码网| 五月花婷婷| 强伦轩人妻一区二区电影| 丁六月激情| 人妻av在线| 亚洲AV久久久久久久久久久久久久久久| 激情综合色| 丁香五月婷婷亚洲另类| 色综合com| 婷婷五月色丁香在线看| 99亚州综合精品成人网| 婷婷五月激情四射手| 99re思思热在线视频| 天天操天天爱天天玩| 99久久97久久欧美综合网| 免费视频WWW在线观看网站| 久久婷婷五月天蜜桃| 色婷婷色情| 啪啪99| 婷婷99视频全集高清| 啪啪五月婷婷| 丁香五月大片| 激情五月天综合网| 婷婷中文综合网| 美女天天艹人人爽| 色色激情网| 色婷婷aV四虎| 色香五月天| 九九免费视频| 日韩av在线免费观看| 五月天电影网| 婷婷五月花| 九九Av| 激情六月天婷婷| 超碰成人影视| va婷婷在线免费观看| 狠狠干夜夜干| 丁香六月婷婷综合| 99热只有| 玖玖色资源| 天天干天天操| 91男人资源站| 2025天天爽天天摸| 精品一区二区三区免费毛片爱| 91九色国产| 日本三级黄色大片| 中文字幕欧美久久| 激情五月天开心| 99热伊人综合| 四色AVwww| 91919191919久久成人视频| 日日婷婷不卡| 日日夜夜天天| 人妻系列久久久久久久久久久| 99热超碰在线| www狠狠| 九九这里是免费的视频5| 99丁香五月婷| 丁香五月影视| 久婷婷| 大香蕉五月丁香| 九九这里只有精品在线视频|