【发布时间】:2015-07-14 16:01:12
【问题描述】:
我们有一组在 Azure 云托管平台上运行的 MVC 5 网站。我们有几个不同版本的运行这些网站的环境(开发、登台、生产),我们遇到了一个非常难以解决的问题。似乎间歇性地,当向生产环境发出请求时,请求将被拒绝,或者文件将被缓慢地提供到服务器超时并中止请求的地步。这似乎只发生在生产环境中,似乎不会发生在开发或暂存环境中。
鉴于我们的网站最近才开始接收流量,生产环境实际上在这种情况下使用较少,因此不是机器资源不足的问题。此外,我们还可以通过 web ui 监控机器的资源,我们在这里没有发现任何问题。
在配置这些系统时,我们无法控制它们的设置方式。为此,它们之间不太可能存在配置差异,因为它们是(可能)从图像设置的,并通过 Web UI 进行配置。据我们所知,这些系统上的设置在它们之间是相同的。为了确保不是机器配置的问题,我们通过重新创建来镜像生产环境,但我们仍然遇到同样的问题。
我们环境中的网站通过 SSL 证书得到保护。为了消除潜在的罪魁祸首,我们在生产站点上关闭了 SSL 并对其进行了测试。这似乎没有解决问题,我们仍然收到间歇性失败的请求。
我们认为这可能与路由有关,而 MVC 处理文件,因此我们尝试下载静态文件(图像、javascript 文件)以及动态文件(视图、捆绑的 javascript),但仍然得到这些失败的请求。在我们的捆绑配置中,我们没有覆盖默认的 RouteExistingFiles 值,因此 MVC 不应该处理静态文件的路由(至少据我了解,如果我错了,请纠正我)
我们的测试是针对帐户上的主域名运行的,看来问题不是由任何与 DNS 相关的东西引起的。
这似乎与我们的数据库连接没有任何关系,因为我们在提供静态文件时没有访问我们的数据库,也没有在我们加载登录页面时(我们主要针对它进行测试)
对于可能导致此问题的原因,我们确实缺乏想法,我们真的希望有人可能在 Azure 云平台上遇到过类似的问题?或者,如果有人有任何建议,将不胜感激。
【问题讨论】:
标签: asp.net-mvc azure iis