一、壓測誤區
1.在線程組中設置了線程數、啟動時間、循環時間就以為可以完成並發,其實不然
2.如下述說明:

二、解決辦法
1.參考了一些博客,在線程組中添加常數吞吐量定時器Constant Throughput Timer即可解決問題
2.以下為常數吞吐量定時器Constant Throughput Timer使用說明:轉載自 https://blog.csdn.net/shuimengzhen/article/details/57075437
********************************************************************分割線********************************************************************************
默認情況下,Jmeter線程在發送請求之間沒有間歇。建議為線程組添加某種定時器,以便設定請求之間應該隔多長時間。
如果測試人員不設定這種延遲,Jmeter可能會在短時間內產生大量訪問請求,導致服務器被大量請求所淹沒。
定時器會讓作用域內的每一個采樣器都在執行前等待一個固定時長.
如果測試人員為線程組添加了多個定時器,那么Jmeter會將這些定時器的時長疊加起來,共同影響作用域范圍內的采樣器。
定時器可以作為采樣器或者邏輯控制器的子項,目的是只影響作用域內的采樣器。
(一)Constant Throughput Timer(常數吞吐量定時器)
Constant Throughput Timer常數吞吐量定時器可以讓JMeter以指定數字的吞吐量(即指定TPS,只是這里要求指定每分鍾的執行數,而不是每秒)執行。
吞吐量計算的范圍可以為指定為當前線程、當前線程組、所有線程組,並且計算吞吐量的依據可以是最近一次線程的執行時延。
1、 名稱:定時器Constant Throughput Timer的描述性名稱,顯示在左邊節點上,並用於命名事務
2、注釋:定時器Constant Throughput Timer注釋信息,非必填項
3、Delay before each affected samler
1)Target throughput(in samples per minute):每分鍾的天吐量
2) Calculate Throughput based on:有5個選項:
This thread only:控制每個線程的吞吐量,選擇這種模式時,總的吞吐量為設置的target Throughput 乘以該線程的數量
All active threads:設置的target Throughput 將分配在每個活躍線程上,每個活躍線程在上一次運行結束后等待合理的時間后再次運行。活躍線程指同一時刻同時運行的線程。
All avtive threads(shared):與All active threads的選項基本相同。唯一區別是,每個活躍線程都會在所有活躍線程上一次運行結束后等待合理的時間后再次運行。
All active threads in current thread group:設置的target Throughput 將分配在當前線程組的每一個活躍線程上,當測試計划中只有一個線程組時,該選項和All active threads 選項的效果完全相同。
All active threads in current thread group(shared):與All active threads in current thread group 基本相同,唯一的區別是,每個活躍線程都會在所有活躍線程的上一次運行結束后等待合理的時間后再次運行。
