我有许多小型MVC应用程序部署为Microsoft Windows Azure网站。这已经工作了几个月。
昨天我推出了一个新的,部署不起眼,一切正常。但几个小时后,访问该网站无法访问。症状是,当浏览器尝试导航到该站点的URL时,它会尝试加载几分钟,然后放弃一个完全空白的页面。
我试图停止并重新启动该网站,它只运行一次,但症状在几分钟后又回来了。然后我试图停止并重新启动,但它没有用。
我将相同的应用程序部署到另外三个URL。同样,在部署时,它们都可以正常工作,但是,它们在未来的某个时间间隔内会失败。他们似乎并非一下子都失败了。有时重新启动网站将解决问题,有时不会。
重要提示:如果我等待一段时间,该网站可能会再次开始工作。
但是,部署应用程序的四个版本,以便我们的用户可以转到备用版本,如果主要版本不能正常工作,则不是最佳选择。
关于我如何进行调试的任何智慧的话语?
2013年11月25日的其他信息: 站点出现故障时,IIS日志显示500或502内部服务错误。我们自己的MVC代码永远不会被命中,甚至不是app_start。
答案 0 :(得分:0)
您可以先查看日志和远程调试
http://www.drdobbs.com/windows/azure-sdk-22-supports-visual-studio-2013/240163499
应用程序是否在本地运行?
答案 1 :(得分:0)
可能不是同一个问题,但我们的Azure实例会不时将死亡的蓝色问号作为状态。
我们发现的原因是微软会不时对实例进行升级。如果您在云服务/角色中只有一个实例,那么他们会不时地进行维护,在此期间它将死。
我在他们的支持下证实了这一点。
解决这个问题的唯一方法就是创建两个实例。然后Microsoft保证~99%的可用性。
当然,我也向他们证实,这意味着成本的两倍。 = /
如果那不是问题,我会启用RDP并进入机器查看问题所在。 Microsoft提供了这些工具来帮助调试问题:http://blogs.msdn.com/b/kwill/archive/2013/08/26/azuretools-the-diagnostic-utility-used-by-the-windows-azure-developer-support-team.aspx
答案 2 :(得分:0)
首先,您应始终使用多个升级域运行多个Web角色实例。这可以在服务定义(CSDEF)中进行配置。如果没有这个,你就不会从微软获得SLA,所以你不能抱怨虚拟机出现问题。
其次,要弄清楚这些盒子可能会发生什么,你应该有两个日志(我的首选是使用页面blob或表存储来自己滚动),并且你应该总是有RDP访问预生产环境(如果你对安全性不太感兴趣的话也要生产)。一旦打开盒子,请查看事件查看器中的错误。
第三,发生停电时,请查看天蓝色服务仪表板(http://www.windowsazure.com/en-us/support/service-dashboard/)是否有停电。
最后,请与Microsoft支持部门联系。可能需要几个小时,但它们非常好。
它反复发生并持续很长一段时间(超过5分钟),我的托管服务会出现问题。再次,RDP进入并且四处寻找。祝你好运。
答案 3 :(得分:0)
要调试站点,请尝试启用诊断日志: http://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics-logging-and-instrumentation/
浏览网站的另一个好方法是使用调试控制台: https://github.com/projectkudu/kudu/wiki/Kudu-console