bench - 通用延迟基准库


Apache
跨平台
Google Go

软件简介

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")
}