在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
参考地址:https://github.com/link1st/go-stress-testing yum install -y golang 下载软件包 wget -q https://codeload.github.com/link1st/go-stress-testing/zip/master unzip go-stress-testing-master.zip 下载执行命令 https://github.com/link1st/go-stress-testing/releases/download/v1.0.1/go-stress-testing-linux chmod +x go-stress-testing-linux cat >/root/go-stress-testing-master/build.sh <<EOF #!/usr/bin/env bash # 编译linux下可以执行文件 go build -o go-stress-testing-linux main.go # 使用交叉编译 linux和windows版本可以执行的文件 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o go-stress-testing-linux main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o go-stress-testing-win.exe main.go EOF 执行编译 sh build.sh 命令参数说明 -c 表示并发数 -n 每个并发执行请求的次数,总请求的次数 = 并发数 * 每个并发执行请求的次数 -u 需要压测的地址 测试百度 ./go-stress-testing-linux -c 1 -n 100 -u https://www.baidu.com/ 开始启动 并发数:1 请求数:100 请求参数: request: form:http url:https://www.baidu.com/ method:GET headers:map[] data: verify:statusCode timeout:3s debu:false ─────┬───────┬───────┬───────┬────────┬────────┬────────┬────────┬──────── 耗时│ 并发数│ 成功数│ 失败数│ qps │最长耗时│最短耗时│平均耗时│ 错误码 ─────┼───────┼───────┼───────┼────────┼────────┼────────┼────────┼──────── 1s│ 1│ 31│ 0│ 31.41│ 40.56│ 28.32│ 31.83│200:31 2s│ 1│ 63│ 0│ 31.79│ 40.56│ 27.70│ 31.45│200:63 3s│ 1│ 91│ 0│ 30.56│ 154.86│ 26.33│ 32.73│200:91 3s│ 1│ 100│ 0│ 30.74│ 154.86│ 26.33│ 32.53│200:100 ************************* 结果 stat **************************** 处理协程数量: 1 请求总数: 100 总请求时间: 3.263 秒 successNum: 100 failureNum: 0 ************************* 结果 end **************************** ./go run main.go -c 1 -n 100 -u https://www.baidu.com/ ─────┬───────┬───────┬───────┬────────┬────────┬────────┬────────┬──────── 耗时│ 并发数│ 成功数│ 失败数│ qps │最长耗时│最短耗时│平均耗时│ 错误码 ─────┼───────┼───────┼───────┼────────┼────────┼────────┼────────┼──────── 1s│ 1│ 29│ 0│ 30.46│ 40.27│ 27.73│ 32.83│200:29 2s│ 1│ 55│ 0│ 27.89│ 133.45│ 26.71│ 35.86│200:55 3s│ 1│ 86│ 0│ 28.80│ 133.45│ 25.89│ 34.73│200:86 4s│ 1│ 115│ 0│ 28.84│ 133.45│ 25.89│ 34.67│200:115 5s│ 1│ 146│ 0│ 29.35│ 133.45│ 25.89│ 34.07│200:146 6s│ 1│ 176│ 0│ 29.45│ 133.45│ 25.89│ 33.96│200:176 7s│ 1│ 199│ 0│ 28.62│ 184.13│ 25.25│ 34.94│200:199
参数解释: 耗时: 程序运行耗时。程序每秒钟输出一次压测结果 并发数: 并发数,启动的协程数 成功数: 压测中,请求成功的数量 失败数: 压测中,请求失败的数量 qps: 当前压测的QPS(每秒钟处理请求数量) 最长耗时: 压测中,单个请求最长的响应时长 最短耗时: 压测中,单个请求最短的响应时长 平均耗时: 压测中,单个请求平均的响应时长 错误码: 压测中,接口返回的 code码:返回次数的集合 内核优化 vim /etc/security/limits.conf root soft nofile 1040000 root hard nofile 1040000 root soft nofile 1040000 root hard nproc 1040000 root soft core unlimited root hard core unlimited * soft nofile 1040000 * hard nofile 1040000 * soft nofile 1040000 * hard nproc 1040000 * soft core unlimited * hard core unlimited 注意: |
请发表评论