gpt4 book ai didi

debugging - Windows Azure 角色无响应

转载 作者:行者123 更新时间:2023-12-04 18:48:06 24 4
gpt4 key购买 nike

我有一个辅助角色,其中运行多个线程来处理来自客户端的连接。在负载测试期间,我们注意到该角色变得无响应,并保持该状态,直到我们重新启动它。在 Visual Studio 调试器中查看它(通过暂停事件进程),我们可以看到许多线程正在等待,但当它取消暂停时,不会发生任何事件。我如何知道是什么导致角色保持该状态?

最佳答案

正如您提到的,当您执行负载测试时,您的辅助角色开始出现问题,因此可以安全地假设该角色最初工作正常。这得出这样的结论:问题是特定于应用程序的,而不是特定于平台的。您可以通过两种方式从 Windows Azure VM 获取一些诊断信息:

  • 选项 1(首选):为了检查 Azure VM 中发生的情况,您确实需要为您的角色添加 Windows Azure 诊断,以便您可以获得性能计数器、内存详细信息、角色进程运行状况等数据从 Azure VM 转移到 Azure 存储,您可以离线分析。

  • 选项 2:启用对 Azure VM 的 RDP 访问,然后登录到 Azure VM 并在 Azure VM 中安装 Perfmon、Process Explorer 和其他运行状况监控工具并监控正在发生的情况。

  • 选项 3(最后的手段):RDP 到 Azure VM 并安装 WinDBG 并调试主机进程

在这种情况下,当你的 worker 角色停止工作时,这就是我真正向任何人建议的:

  1. 查找 CPU、内存压力、线程列表,并找出哪些线程被阻塞以及可能的原因。
  2. 查看主机工作进程的运行状况,上次启动的时间,是否由于某种原因回收,在 Azure VM 中运行了多长时间
  3. 如果您有一个在辅助角色中设置为“ProgramEntryPoint”的单独进程,请检查其运行状况
  4. 检查应用程序和系统级别的事件日志以获取任何线索。在辅助角色中,我没有看到应用程序事件日志中有任何内容,但值得一看。
  5. 我使用进程监视器来监视一些进程并收集日志,以查看进程何时终止、最后的状态是什么、它正在访问什么以及是否因其他问题而陷入困境。

最重要的是,您确实需要在 Azure VM 中挖掘根本原因,就像在本地计算机中所做的那样。

关于debugging - Windows Azure 角色无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com