【问题标题】:Performance testing in Go - Where to start from? [closed]Go 中的性能测试——从哪里开始? [关闭]
【发布时间】:2016-07-27 23:15:16
【问题描述】:

我一直在学习围棋。我只是一个新手。我刚刚完成了我的网络(仍在本地主机中)。我想问一下是否有任何工具或框架、库可以测试服务器性能、跟踪运行服务器的响应时间。

我不知道从哪里开始,标准是测量每个请求的响应时间,创建虚拟自动会话以将请求发送到服务器(登录,做某事,注销),计算同时发送到服务器的请求数正确回应等。

我现在应该从什么开始?我会用什么?

【问题讨论】:

  • 您使用的是 Apache、nginx 还是其他服务器?
  • Jmeter,wrk,围攻 - 试试这些。
  • @GauravDave 我正在使用 nginx
  • 加特林很好。但首先要阅读并了解您想要、需要和可以执行哪些类型的性能测量。

标签: performance testing time go automated-tests


【解决方案1】:

使用内置工具应该是您最需要的,您只需要了解工具,例如编写 Benchmark 测试函数。

This go blog post 有关于 cpu/memory/contention 工具的概述和链接。

Brad Fitzpatrick 向a good talk 提供了有关使用分析工具的示例。

【讨论】:

    【解决方案2】:

    如果你想测试你在 go 中编写的代码,你应该构建 benchmark 测试。要达到这个结果,请阅读关于包testinghere 的 golang 文档。如果您有任何问题,请随时写在这里

    【讨论】:

    • 因为我正在测试一个Web应用程序,包括登录、做东西、处理请求、管理会话和注销,请问testing是否可以帮助我测试?它与用户会话有关,所以我很担心
    • testing 大量用于单元测试,如果您有兴趣基准测试您的功能需要多长时间登录 - 注销等没有问题,您可以创建会话一个假会话并将其用于测试。你可以查看this有用的帖子。
    • 如何创建假会话。每个会话都是通过使用 Google OAuth 登录来创建的
    • 可以在测试函数中调用api
    • 您可以在您将创建的基准测试函数中调用会话创建,然后您可以进行所有您想要的测试。还要检查this link 以了解您应该如何进行测试(基准是测试的“孩子”)
    【解决方案3】:
    1. 以负载测试工具为例,here 是 54 个(截至目前)免费和开源负载测试工具的列表。如果您想要入围的内容,请查看 Open Source Load Testing Tools: Which One Should You Use? 文章
    2. 最好让另一台主机运行负载测试,以避免相互干扰。
    3. 运行负载测试(大多数工具都有记录和回放功能,对于基线测试应该足够了)
    4. 如果您对响应时间不满意或遇到错误 - 调查并解决可能的原因:

      • 您的 Web 应用程序端缺少资源​​(CPU、RAM、网络或磁盘 IO)
      • 应用程序或 Web 服务器的配置不是最优的
      • 您的应用程序代码有问题

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多