2014-11-14 32 views
2

一年多来,我一直在为他们用来做各种日常任务的人开发一个“Intranet”站点。ASP.NET MVC网站在局域网上运行速度很慢,但工作正常本地主机

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

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

我安装管窥出版,然后局域网的机器上,并击穿是

  • 请求32000ms,电线的55ms ..
  • 查看12毫秒,10毫秒,各种谐音,.....最后一个25秒。
  • 在网站上运行的Ajax是12ms-15ms响应,Glimpse更新正常。
  • 瞥见AXD设置页面也快速加载。

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

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

因此,它不是一个网络问题,如在故障或不友好的电线。其完美的千兆位全速吞吐量。

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

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

我留着一个眼睛资源经理。在处理器中甚至没有凹痕(空闲,没有其他东西在运行或阻塞)。硬盘有几百kb的传输。 RAM足够。

我检查了正在向服务器发出的请求,谁知道某事正在做超过1000个请求一秒钟的DDoS机器?病毒什么的。不。

  • 对IIS上发生的任何事情没有请求。所以不是DDoS。
  • 来自IIS的日志文件看起来很好。没有错误
  • Eventviewer,没有错误。
  • 在IIS中启用跟踪。什么也没发生
  • SQL Server重启分别
  • 残疾人AV

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

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

+0

抓住Red Gate的分析器试用期,看看时间花在哪里。如果它不在IIS中使用,而且您怀疑这是最近发布的补丁,那么MS只会更新SChannel。 https://support.microsoft.com/kb/2992611(通过http或https访问这些请求吗?) –

+0

谢谢,生病了。一切都是http,服务器ipv6被禁用。我有一种直觉,认为它使用ipv6,但一切正常。 – ppumkin

+1

如果您有足够的时间,可以考虑使用频繁堆栈遍历的xperf来查看操作系统和进程在哪里花费时间。 –

回答

0

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

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

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

相关问题