【问题标题】:Go Evio application suddenly does not respond. Profiling shows all threads have stoppedGo Evio 应用程序突然没有响应。分析显示所有线程都已停止
【发布时间】:2021-04-19 16:19:25
【问题描述】:

我们在 docker 中有一个基于Evio 的应用程序。在运行一些网络负载测试时,我们可以看到所有线程突然下降,堆被刷新。几秒钟超时后,它会像往常一样继续执行。应用程序本身没有重新启动,但所有 Evio 线程都死了大约 5 秒。

什么会导致这种行为?

配置:

Go 1.14
Ubuntu 20.04.1 LTS
Docker version 20.10.6

查看分析跟踪:

【问题讨论】:

  • 好像没有涉及docker。用裸机应用重新测试。结果是一样的

标签: go profiling


【解决方案1】:

问题不在 Evio 或 Go 分析中。经过更多调查,很明显所有例程都被外部服务阻止了。在我们的例子中,gRPC 连接处于阻塞模式,其他实例无法处理如此多的请求。

这个视频也很有帮助。它显示了类似的症状以及如何分析它们。 https://www.youtube.com/watch?v=V74JnrGTwKA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    相关资源
    最近更新 更多