一 压测需求:
电商作为服务端,至少需要满足并发量,QPS:100/s,TPS:20/s。例如场景:
- 电商交易中,商品图片请求量最多,电商服务端需要满足并发请求查询图片信息。
- 各家可能会并发请求同一家电商商品、订单等内容。
二 压测思路:
三 jmeter具体截图记录
注明:吞吐量=常数吞吐量(常数吞吐量控制设置的)*线程数
import groovy.json.JsonOutput// 创建 JMeter 的 Variables 对象实例
def vars = ctx.getVariables()List<String> products = Arrays.asList("ProductA", "ProductB", "ProductC", "ProductD", "ProductE")
int orderNumber = 1
List<Map<String, String>> orders = new ArrayList<>()
for (int i = 0; i < 2; i++) {String currentOrderNumber =orderNumber++int randomIndex = new Random().nextInt(products.size())String currentProduct = products[randomIndex]Map<String, String> order = new HashMap<>()order.put("orderNumber", currentOrderNumber)order.put("product", currentProduct)orders.add(order)
}
// 将生成的 orders 列表转换为 JSON 数组字符串并存储到 JMeter 变量中
String jsonOrders = JsonOutput.toJson(orders)
vars.put("orders", "${jsonOrders}")
//orders=[{"product":"ProductB","orderNumber":"1"},{"product":"ProductD","orderNumber":"2"}]