来源:未知 时间:2023-12-11 10:14 作者:小飞侠 阅读:次
[导读] 当我们执行gotest时候,返回一组数据表,看不明白什么意思,下面我们分析下这组数据表,以下面脚本为列. GOMAXPROCS=1gotest-bench=NetHTTPServerGet-benchmem-benchtime=10s 这段代码是使用 Go 语言中...
当我们执行gotest时候,返回一组数据表,看不明白什么意思,下面我们分析下这组数据表,以下面脚本为列. GOMAXPROCS=1 go test -bench=NetHTTPServerGet -benchmem -benchtime=10s 这段代码是使用 Go 语言中的测试框架 testing 和性能测试工具 go test 运行的基准测试(Benchmark)。具体来说,它测试了一个基于 net/http 包的 HTTP 服务器处理 GET 请求的性能。下面是对输出的解释: BenchmarkNetHTTPServerGet1ReqPerConn 1000000 12052 ns/op 2297 B/op 29 allocs/op BenchmarkNetHTTPServerGet2ReqPerConn 1000000 12278 ns/op 2327 B/op 24 allocs/op BenchmarkNetHTTPServerGet10ReqPerConn 2000000 8903 ns/op 2112 B/op 19 allocs/op BenchmarkNetHTTPServerGet10KReqPerConn 2000000 8451 ns/op 2058 B/op 18 allocs/op BenchmarkNetHTTPServerGet1ReqPerConn10KClients 500000 26733 ns/op 3229 B/op 29 allocs/op BenchmarkNetHTTPServerGet2ReqPerConn10KClients 1000000 23351 ns/op 3211 B/op 24 allocs/op BenchmarkNetHTTPServerGet10ReqPerConn10KClients 1000000 13390 ns/op 2483 B/op 19 allocs/op BenchmarkNetHTTPServerGet100ReqPerConn10KClients 1000000 13484 ns/op 解释每行输出: 1.BenchmarkNetHTTPServerGet1ReqPerConn: 表示这个基准测试是关于处理每个连接一个请求的性能。 2.1000000: 表示运行了 1000000 次迭代。 3.12052 ns/op: 表示每次迭代花费的平均纳秒数。 4.2297 B/op: 表示每次迭代分配的平均字节数。 5.29 allocs/op: 表示每次迭代的平均分配次数。 6.BenchmarkNetHTTPServerGet2ReqPerConn: 类似地,但每个连接处理两个请求。 7.BenchmarkNetHTTPServerGet10ReqPerConn: 类似地,但每个连接处理十个请求。 8.BenchmarkNetHTTPServerGet10KReqPerConn: 类似地,但每个连接处理一万个请求。 9.BenchmarkNetHTTPServerGet1ReqPerConn10KClients: 类似于第一个,但同时模拟了 1 万个客户端。 10.BenchmarkNetHTTPServerGet2ReqPerConn10KClients: 类似于第二个,但同时模拟了 1 万个客户端。 11.BenchmarkNetHTTPServerGet10ReqPerConn10KClients: 类似于第三个,但同时模拟了 1 万个客户端。 12.BenchmarkNetHTTPServerGet100ReqPerConn10KClients: 类似于第四个,但同时模拟了 1 万个客户端。 这些输出提供了有关服务器处理不同负载情况下性能的信息,例如每个连接处理的请求数、每次迭代的平均时间和分配情况等。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com