", URL: target, Header: headers, Body: body}}
// 创建和执行 vegeta 测试
results := attacker.Attack(vegeta.NewStaticTargeter(targets...), vegeta.Rate{Freq: rate, Per: time.Second}, duration, "Load Test")
// 分析结果
metrics := &vegeta.Metrics{}
for res := range results {
metrics.Add(res)
}
metrics.Close()
// 打印结果
fmt.Printf("Requests: %d\n", metrics.Requests)
fmt.Printf("成功率: %.2f%%\n", metrics.Success*100)
fmt.Printf("最大延迟: %s\n", metrics.Latencies.Max)
fmt.Printf("平均延迟: %s\n", metrics.Latencies.Mean)
fmt.Printf("P95 延迟: %s\n", metrics.Latencies.P95)
fmt.Printf("P99 延迟: %s\n", metrics.Latencies.P99)
fmt.Printf("QPS: %.2f\n", metrics.Rate)
}
|