Bench通用延迟基准库
Bench 是一个通用的延迟基准库。它有简单的界面,可以测试各种系统。Bench 每秒发出固定频率的请求,并且同步测量每个请求的延迟。延迟通过 HDR Histogram 捕捉,它可以观察整个延迟,并校正 Coordinated Omission。Bench 提供一些基本工具,可以将输出绘制出如下面这样的图:
示例代码:
package mainimport ( "fmt"
"time"
"github.com/tylertreat/bench"
"github.com/tylertreat/bench/requester")func main() { r := &requester.RedisPubSubRequester{
URL: ":6379",
PayloadSize: 500,
Channel: "benchmark",
} benchmark := bench.NewBenchmark(r, 10000, 30*time.Second)
summary, err := benchmark.Run()
if err != nil { panic(err)
}
fmt.Println(summary)
summary.GenerateLatencyDistribution(bench.Logarithmic, "redis.txt")
}评论
