Azure Web Apps上的Http请求超时

时间:2015-07-14 16:01:13

标签: asp.net-mvc azure iis

我们在Azure云托管平台上运行了一系列MVC 5网站。我们有几个不同版本的环境,这些网站运行(开发,登台,生产),我们遇到了一个非常难以解决问题的问题。似乎间歇性地,当向生产环境发出请求时,请求将被拒绝,或者文件将缓慢地服务到服务器超时并中止请求。这似乎只发生在生产环境中,并且似乎不会在开发或暂存中发生。

鉴于我们的网站刚刚开始接收流量,在这种情况下,生产环境实际上是较少使用的,因此这不是机器资源不足的问题。此外,我们有能力通过web ui监控机器的资源,我们在这里看不到任何问题。

配置这些系统时,我们无法控制它们的设置方式。为此,它们之间不太可能存在配置差异,因为它们是从图像设置(可能)并通过Web UI配置的。据我们所知,这些系统的设置在它们之间是相同的。为了确保它不是机器配置的问题,我们通过重新创建它来镜像生产环境,我们仍然遇到同样的问题。

我们环境中的网站通过SSL证书加以保护。为了消除它作为潜在的罪魁祸首,我们在生产现场关闭SSL并进行测试。这似乎没有解决问题,我们仍然有间歇性的失败请求。

我们认为它可能与路由和MVC处理文件有关,所以我们尝试下载静态文件(图像,javascript文件)以及动态文件(视图,捆绑的javascript),我们仍然得到这些失败的请求。在我们的捆绑配置中,我们不会覆盖默认的RouteExistingFiles值,因此MVC不应该处理静态文件的路由(据我所知,至少,如果我错了请纠正我)

我们的测试是针对帐户中的主域名运行的,并且似乎没有将此问题归因于任何与DNS相关的问题。

它似乎与我们的数据库连接没有任何关系,因为我们在提供静态文件时没有访问我们的数据库,也没有加载我们的登录页面(主要是我们测试的)

我们真的对可能导致此问题的原因缺乏想法,我们真的希望那里的人可能遇到过与Azure云平台类似的问题?或者,如果有人有任何建议,他们将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试启用"始终开启"功能,这可以通过网络应用程序设置完成。

Azure App Service的工作原理是网站内容存储在文件服务器上,然后网站工作人员在活动时加载该网站。如果站点空闲,它将被卸载。当新请求进入时,必须重新加载该站点,这可能会导致您遇到的速度减慢。此外,内容可能会再次出现,这将进一步导致经济放缓。

有关配置网络应用程序的文档,请访问:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/