对我的Golang网络服务器进行基准测试

时间:2014-07-19 19:46:28

标签: go benchmarking

我正在寻找一些工具或Go测试包来在不同的服务器上运行一些基准测试。知道如何在我的控制台中获得一些很好的分析输出。是否可以模拟访问服务器的多个用户?

从此测试代码中获取无输出

package tests

import(
 "testing"
 )


func BenchmarkMyFunc(b *testing.B) {
  for i := 0; i < b.N; i++ {
   testplus()
  }
}

func testplus() int {
 x := 1
 return x + 1
}

谢谢

1 个答案:

答案 0 :(得分:6)

使用Go的内置分析工具或围绕它们的便利包装:http://dave.cheney.net/2013/07/07/introducing-profile-super-simple-profiling-for-go-programs

...然后使用一个不错的HTTP负载测试工具点击应用程序来生成负载:https://github.com/wg/wrk

请注意:

  • 分析会告诉您实际优化的内容,但不要过分。
  • HTTP负载测试结果仅适用于您的应用程序和计算机组合
  • 在许多情况下,您的网络堆栈配置可能会受到限制。

您还可以在测试代码中包含基准测试,并指出这些测试代码通常对基准算法/比较方法而非整个应用程序性能有用。