我有一个工作者角色,其中有多个线程运行来处理来自客户端的连接。在负载测试期间,我们已经注意到角色变得无响应,并保持在该状态,直到我们重新启动。 在Visual Studio调试器(通过暂停活动进程)中查看它,我们可以看到许多线程正在等待,但是当它未被暂停时,不会发生任何活动。 我怎么知道什么导致角色留在那个状态?Windows Azure角色无响应
5
A
回答
6
正如你所提到的那样,当你执行负载测试时,你的工作者角色会出现问题,所以假设角色最初工作正常是安全的。这推动了问题是特定于应用程序的问题,而不是特定于平台的问题。有两种方法,你可以从你的Windows Azure虚拟机得到一些诊断信息:
选项1(首选):为了检查什么是你Azure的VM发生的事情,你真的需要添加Windows Azure诊断与您的角色,以便您可以将性能计数器,内存详细信息,角色进程运行状况和其他数据从Azure VM转移到您可以离线分析的Azure存储。
选项2:启用对Azure虚拟机的RDP访问,然后登录到您的Azure虚拟机,并在您的Azure虚拟机中安装Perfmon,Process Explorer和其他运行状况监视工具,并监视发生的情况。
选项3(最后的手段):RDP到您的Azure的虚拟机并安装的WinDBG和调试主机进程
在这样的条件下,当你有一个工人的作用停止了工作,这是我真的建议到任何一个:
- 查找CPU,内存压力,线程列表并找出哪些线程被阻塞以及可能是什么原因。
- 查找主机工作进程运行状况,上次启动时,是由于某种原因进行的回收,在Azure VM中运行了多长时间
- 如果在单独的进程中设置为“ProgramEntryPoint”您的工作人员角色,检查其健康状况
- 检查系统级应用程序的事件日志是否有任何线索。在Worker角色中,我没有看到应用程序事件日志中会有东西,但值得一看。
- 我使用进程监视器来监视几个进程并收集日志,以查看进程何时死于最后一个状态,它正在访问什么以及是否被其他问题困住。
底线是你真的需要在Azure虚拟机中挖掘根本原因,方法与在内部部署机器中完全相同。
相关问题
- 1. Windows Azure VDI角色
- 2. Windows Azure WorkerRole响应
- 3. 是否使用辅助角色或Web角色:Windows Azure的
- 4. 从Web角色发布到另一个Web角色Windows Azure
- 5. Windows Azure:一个或多个角色的启动角色失败
- 6. 没有Web角色的Windows Azure项目?
- 7. Windows Azure工作者角色和SVG
- 8. 本地IIS上的Windows Azure Web角色
- 9. Windows Azure的跨角色通信
- 10. Windows Azure Web角色证书错误
- 11. Windows Azure工作者角色进程
- 12. 在Windows Azure中的Web角色缩放
- 13. Windows Azure Web角色日志文件
- 14. Windows Azure虚拟机角色上传
- 15. 唤醒Windows Azure工作者角色
- 16. Windows Azure Web角色 - RoleEnvrironment.Changing在哪里去?
- 17. 无法剖析Azure工作者角色
- 18. 在Windows Azure中:什么是Web角色,工作者角色和VM角色?
- 19. Azure工作者角色在与网络角色的内部tcp连接后变得无响应
- 20. Windows Azure - 无法创建角色入口点
- 21. Windows Azure角色环境 - 无法找到程序集
- 22. 我应该使用哪种Azure角色?
- 23. 无法从Azure的辅助角色
- 24. Microsoft Azure Web角色
- 25. F#Web角色Azure
- 26. Azure Active Directory角色
- 27. 如何使用Windows Azure Powershell命令获取Azure角色实例
- 28. Azure Active Directory组/角色
- 29. v2中的Azure AAD应用角色
- 30. Azure Web角色未启动
非常感谢你的提示。起初,这个问题仅在Azure中的worker角色中提出,但是通过对我们的测试工具进行一些调整,我们开始看到它在开发中。 我们有: *设置远程访问/ Azure诊断 *针对应用程序特定报告设置的Perf计数器和自定义事件日志 有许多正在执行异步操作的地方。我们猜测有一个未处理的异常发生,但它证明很难找到。 – Irwin
我可以问你正在使用哪个Azure SDK吗?在较旧的SDK中,Remote Forwarder存在一些问题,可能会导致Azure出现随机问题,但SDK 1.6在该问题上非常稳固。如果您使用应用程序删除RDP访问和Azure诊断程序,该问题仍会持续吗? – AvkashChauhan