在系统维护过程中,平时免不了要对系统进行性能压测,http协议压测工具比较多,例如ab等,https压测可以使用go-wrk.

    go-wrk安装步骤

export GOROOT=/usr/lib/golang
# GOPATH
export GOPATH=/root/go
# GOPATH bin
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

go get github.com/tsliwowicz/go-wrk
该命令执行可能会报错,主要因为被墙了无法下载net 或者text,由于go get其实是将package下载下来,然后进行本地安装的,因此我们也可以将golang.org的相关包clone到本地然后再进行安装。
为了使包的导入方式不变,我们需要在src目录下面构造目录结构

安装net 
mkdir -p $GOPATH/src/golang.org/x/
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/net.git net 
go install net

安装text
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/text.git text
go install text
如果报错:can't load package: package text: no Go files in /usr/lib/golang/src/text
执行:cp -r text /usr/lib/golang/src/ 
然后重新执行
go install text

然后再重新执行就可以安装成功了
go get github.com/tsliwowicz/go-wrk

继续执行
cd /root/go/src/github.com/tsliwowicz/go-wrk/
vim go-wrk.go
flag.BoolVar(&http2, "http", true, "Use HTTP/2")
改成
flag.BoolVar(&http2, "http", false, "Use HTTP/2")

cd ..
go install ./go-wrk

 

压测指令

/root/go/bin/go-wrk -T 3000 -c 500 -d 10 -http false "https://ad.cmvideo.cn/test?timestamp=20191125153500&msisdn=15232345454"