在局域网上运行速度非常慢的ASP.NET MVC网站,但工作良好的本地主机

一年多来,我一直在开发一个“内联网”网站,供他们用来做各种日常工作。

它是MVC 4,预编译视图,运行在Server 2012 i7 16GB RAM上的IIS 7.5。

突然之间,所有的局域网机器,使用Chrome或IE浏览器,都需要25-55秒的时间! 即使是静态页面。 我login服务器,缩放放大,没问题? 1013ms。

我安装了Glimpse并发布,然后在LAN机器上,它的分解是

  • 要求32000ms,导线55ms ..
  • 查看12ms,10ms,各种偏色,…..最后一个25秒。
  • 在网站上运行的Ajax是12ms-15ms响应,Glimpse更新正常。
  • 一瞥AXD设置页面加载也很快。

我故意装了一个页面,其中有大约50个部分碰到DB 50次。 这些部分是预期的。 每个渲染12-15ms。 但最后的渲染是25秒? 然后加载一个漂亮的静态页面。 没有偏见,但结果相同。 (不是数据库然后,对吧?没关系,因为IIS在本地机器上做DB请求,我知道本地工作是完美的)

我检查了铬networking。 55秒等待,不是DNS(或至less它说不)它只是标记为等待。 然后传输就像200ms所有其余的文件cahced。 所以我清除caching,最初25-55秒,然后所有的JS,CSS在500ms内迅速下载。

所以它不是一个networking问题,如在有缺陷或不妥协的电线。 其完美的千兆位全速吞吐量。

本周我没有发表任何东西。 我重启了所有的路由器和交换机,所有的计算机和服务器。

  • 服务器充当一个域,但客户端是家庭高级版,没有连接到域。
  • 由于这个DNS设置为Internet网关,并将DNS设置为服务器导致互联网问题,所以我只能添加一个主机“webbapp 192.168.1.1”(工作超过12个月)
  • 我使用WebMatrix成员身份进行表单身份validation,所以这是一次到MainDB的连接string。
  • 日常例程使用连接string存储在MainDB中,但Linq2SQL使用不同的名称。
  • 然后有5个其他数据库被用来searchlogging,只有从search页面被击中。
  • 我以用户身份login到SQLpipe理器。 它很快。 我检查了主数据库文件是2.2GB,所以我现在清除了日志文件和330MB。 它在本地更快,但仍然没有改变LAN机器。
  • 我回收了应用程序池。 我确定暂停时间高于1分钟,即90分钟
  • 它没有设置为webfarm,用户标识是默认的。 我试过本地pipe理员。 不用找了。
  • 我创build了一个新的应用程序池,将其更改为在那里。 LAN机器没有变化。
  • 我重新发布了这个网站,可能是一些腐败? 不。 一样。
  • web.config被设置为debug = false
  • 我删除了优化,这是我最近做出的一个改变。 所以我只是倾销所有的CSS,JS的文件,因为他们以前。 这并没有改变任何东西。

我保持眼睛资源经理。 在处理器中甚至没有凹痕(空闲,没有其他东西在运行或阻塞)。 硬盘几百kb在转移。 RAM很充足。

我查了一下正在向服务器发出的请求,谁知道这个请求是一千多个DDoS机器? 病毒什么的。 不。

  • 在IIS上没有发生任何请求。 所以不是DDoS。
  • 从IIS的日志文件看起来很好。 没有错误
  • 事件查看器,没有错误。
  • 在IIS中启用跟踪。 什么也没发生
  • 重新启动SQL Server分开
  • 禁用AV

这个问题同时影响了所有的机器(12/11/2014)(较新的,旧的,笔记本)。 所以我只能怀疑Windows Update? Chrome更新?

有谁和我一样有地狱的日子? 我不知道还有什么要检查的。

花了超过10个小时试图解决这个问题。 第一次使用xperf ,是真正的好经验,但不能确定问题。

今天早上一切正常,我没有做任何改变。

我怀疑是网络错误。 我忘记了一个开关,可能是因为它同时影响局域网上的所有PC,然后同时解决所有的问题。