ASP.NET MVC站点在LAN上运行速度非常慢,但工作正常

时间:2014-11-14 09:50:11

标签: windows asp.net-mvc-4 iis-7.5 windows-server-2012

一年多以来,我一直在为他们用于各种日常任务的人开发一个“内联网”网站。

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

昨天突然间所有的局域网机器,使用Chrome或IE,页面延迟需要25-55秒!甚至是静态页面。我登录服务器,缩放缩放,没问题? 1013ms。

我安装了Glimpse并发布,然后在局域网机器上发布故障

  • 申请32000ms,电线55ms ..
  • 查看12ms,10ms,各种部分,.....最后一次25秒。
  • 在网站上运行的Ajax响应时间为12ms-15ms,Glimpse更新正常。
  • 瞥见AXD设置页面加载速度也很快。

我故意加载了一个页面,其中有大约50个部分文件,这些部分文件数量达50次。这些部分是预期的。每个渲染12-15ms。但最后一次渲染是25秒?然后加载一个漂亮的静态页面。没有部分,但结果相同。 (那不是数据库,对吧?因为IIS无论如何都会在本地机器上执行数据库请求并且我知道本地工作正常,所以无关紧要)

我检查了chrome网络。 55秒等待,不是DNS(或至少它说不是)它只是标记为等待。然后传输就像200ms所有其他文件一样。所以我清除缓存,最初再次25-55秒,然后所有JS,CSS在500ms内快速下载。

所以它不是网络问题,如错误或狡猾的电线。其完美的千兆全速吞吐量。

本周我没有发表任何内容。我重新启动了所有路由器和交换机,所有计算机和服务器。

  • 服务器充当域,但客户端是家庭高级版,未连接到域。
  • 由于此DNS已设置为Internet网关并将DNS设置为服务器会导致Internet出现问题,因此我将主机添加“webbapp 192.168.1.1”(工作超过12个月)
  • 我使用WebMatrix成员身份进行表单身份验证,因此这是一次到MainDB的连接字符串。
  • 每日例程使用连接字符串存储在MainDB中,但Linq2SQL的名称不同。
  • 然后有5个其他数据库用于搜索记录,只能从搜索页面点击。
  • 我以用户身份登录SQL Manager。它很快。我检查了DB文件的主要是2.2GB,所以我现在清除了日志文件及其330mb。局域网更快,但局域网机器仍无变化。
  • 我回收了应用池。我确保超时设置高于1分钟,即90分钟
  • 未设置为webfarm,用户标识为默认值。我试过本地管理员。没有变化。
  • 我创建了一个新的应用程序池,将其更改为那里。局域网机器没有变化。
  • 我重新发布了这个网站,也许有些腐败?不。同样。
  • web.config设置为debug = false
  • 我删除了优化,这是我最近做出的改变。所以我只是将所有CSS,JS文件转储到以前。这并没有改变任何东西。

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

我检查了对服务器的请求,谁知道可能有超过1000个请求的东西DDoS机器?病毒或什么的。不。

  • 对IIS上发生的任何事情都没有请求。所以不是DDoS。
  • IIS中的日志文件看起来很好。没有错误
  • Eventviewer,没有错误。
  • 在IIS中启用跟踪。什么也没发生。
  • 单独重新启动SQL Server
  • 已停用AV

此问题同时影响所有机器(2014年11月12日)(较新的机器,旧机器,笔记本电脑)。所以我只怀疑Windows Update? Chrome更新?

有人跟我一样有地狱吗?我不知道还有什么要检查。

1 个答案:

答案 0 :(得分:0)

花了10个多小时试图解决这个问题。第一次使用xperf并且确实是很好的体验,但无法确定问题。

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

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