Golang:使用gobench进行多次测试
我正在与wich合作,它帮助我们测试一个请求,并对性能进行了一些度量 我对发送url做了修改,我需要在每次调用中对其进行测试。但我发现不可能调用函数两次或多次Golang:使用gobench进行多次测试,go,Go,我正在与wich合作,它帮助我们测试一个请求,并对性能进行了一些度量 我对发送url做了修改,我需要在每次调用中对其进行测试。但我发现不可能调用函数两次或多次 func GobenchMain(currectRoute *string) { startTime := time.Now() var done sync.WaitGroup results := make(map[int]*Result) ... } 之后,我意识到gobench文件的问题就在这一部分: s
func GobenchMain(currectRoute *string) {
startTime := time.Now()
var done sync.WaitGroup
results := make(map[int]*Result)
...
}
之后,我意识到gobench文件的问题就在这一部分:
signalChannel := make(chan os.Signal, 2)
signal.Notify(signalChannel, os.Interrupt, syscall.SIGTERM)
go func() {
_ = <-signalChannel
printResults(results, startTime)
os.Exit(0)
}()
signalChannel:=make(信道操作信号,2)
signal.Notify(signalChannel、os.Interrupt、syscall.SIGTERM)
go func(){
_=gobench
从未被设计为用作库
把二进制文件叫做这样的东西
package main
import (
"log"
"os/exec"
)
func gobench(url string) {
cmd := exec.Command("gobench", url)
err := cmd.Run()
if err != nil {
log.Fatalf("Command finished with error: %v", err)
}
}
var searchRoutes = []string{
"http:www.myurl.com/request1",
"http:www.myurl.com/request2",
"http:www.myurl.com/request3",
"http:www.myurl.com/request4",
}
func main() {
for i := 0; i < len(searchRoutes); i++ {
gobench(searchRoutes[i])
}
}
主程序包
进口(
“日志”
“os/exec”
)
func gobench(url字符串){
cmd:=exec.Command(“gobench”,url)
err:=cmd.Run()
如果错误!=零{
log.Fatalf(“命令完成时出现错误:%v”,err)
}
}
var searchRoutes=[]字符串{
“http:www.myurl.com/request1”,
“http:www.myurl.com/request2”,
“http:www.myurl.com/request3”,
“http:www.myurl.com/request4”,
}
func main(){
对于i:=0;i
问题是什么?
package main
import (
"log"
"os/exec"
)
func gobench(url string) {
cmd := exec.Command("gobench", url)
err := cmd.Run()
if err != nil {
log.Fatalf("Command finished with error: %v", err)
}
}
var searchRoutes = []string{
"http:www.myurl.com/request1",
"http:www.myurl.com/request2",
"http:www.myurl.com/request3",
"http:www.myurl.com/request4",
}
func main() {
for i := 0; i < len(searchRoutes); i++ {
gobench(searchRoutes[i])
}
}