go语言中常用的功能之十二(web基准测试和并发测试)

本文介绍了Go语言中的基准测试、Web测试和并发测试。基准测试通过`Benchmark`函数进行,例如计算函数的执行效率和内存占用;Web测试利用`net/http`库实现;并发测试中,通过改变锁类型观察性能差异,并注意`-cpu`参数以控制并发数量,避免导致系统卡死。
摘要由CSDN通过智能技术生成

go语言常见的web基准测试和并发测试

1. 基准测试

基准测试又称为性能测试,用于测试函数的执行效率占用内存等 书写遵循下面的
规范即可

  1. 文件名称以源文件名_test.go
  2. 函数名以 BenchmarkYourFuncName(b testing.B)
  3. 批量基准测试使用如下代码格式:
for i := 0; i < b.N ; i++ {
	//about your func call
} 

这里的 b.N 是由系统计算的常量,不必考虑

我们来看个例子

calc.go

package calc

func Dec(a, b int) int {
   
	res := a - b
	if res < 0 {
   
		return res
	}
	return res
}

calc_test.go

package calc
import "testing"

func BenchmarkDec(b *testing.B) {
   
	m,n := 12356596,565858
	except := m - n
	for i := 0; i < b.N; i++ {
   
		fact := Dec(m, n)
		if except != fact {
   
			b.Errorf("%d - %d except %d but fact %d \n", m, n, except, fact)
		}
	}
}

运行:

go test -bench .

该命令只运行 Benchmark开头相关函数对应的文件,如果你在项目根目录执行&#x

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值