【问题标题】:asp.net runs fast then slow on restartasp.net 运行速度快,然后在重新启动时变慢
【发布时间】:2012-12-26 14:22:50
【问题描述】:

为什么每次服务器宕机,asp.net重启后,重启几分钟后响应时间超快。我假设是因为每个人都离开了服务器,而我是少数(或唯一)这么快回到服务器的人之一?

我已经与我们的开发人员讨论过这个问题,他们说响应时间通常取决于服务器上的每个人(200 多个桌面),当你是那里唯一的人时,它就会飞起来。真的吗?那么这是否意味着我们需要更新、更快的网络服务器?

我不是程序员,但我认为可能有两个答案,一个是上面的开发人员说的是真的,二是系统正在累积某种临时文件,当服务器崩溃时它们会被清除然后重新启动。

我们如何证明谁可能是对的?从哪里开始寻找 asp.net 的瓶颈?

Windows 服务器 2003 ASP.NET 3.0 iis6 12GB 内存

sql server 2005 (db admin说sql没有负载问题..)

【问题讨论】:

  • 由于 StackOverflow 是一个面向开发人员的网站,您可能会在这里得到的回应是开发人员是对的,而系统管理员很烂。不,我在开玩笑。顺便说一句,Windows Server 2003 现在有点老了——准确地说是 10 年。也许您应该开始考虑升级?我不知道,这只是一个提示。可以让你忙于一个有趣的项目来开始新的一年。
  • 我们确实计划在一个月左右迁移到 Windows Server 2012,因此已经做出了决定。
  • 哦,很高兴听到这个消息。祝你升级顺利。
  • 其实你在这里说你不相信也不信任你的开发者,但是你不知道怎么争辩,因为你不懂编程。另一方面,必须在您的服务器上进行严格的测试和测量才能确定延迟的原因 - 实际上您没有提供任何有价值的信息来获得好的意见。
  • 我知道如何争辩 :) 但在这些情况下,您有时需要外部意见。如果这确实是一个负载问题,那么我只会购买一台新服务器,但如果这是一个配置问题,那么这完全是另一回事,需要更多事实。我们确实运行 New Relic(应用程序监控),所以这有点帮助..

标签: asp.net sql-server iis-6


【解决方案1】:

您可以遵循并检查您的服务器是否在限制下工作的一些非常基本的步骤是:

首先,您从 sysinternals 下载 Process Explorer 并运行它以查看两件事。

  • 您的服务器是否在内存限制范围内工作?

如果是,那么是什么程序吃掉了内存,通常 SQL Server 2005 使用大量内存用于数据库缓存,这是经过多次工作后才完成的。

  • 服务器是否使用了他所有的计算能力,如果是,请检查哪个程序需要所有计算能力。

现在下一步,从 sysinternals 下载 TCPView,运行它并查看完成了多少连接、连接速度有多快等...在那里您可以看到异常情况,或者计算机是否也达到了极限。

最后一步是对磁盘进行碎片整理。

我也知道 asp.net 会话是lock the entire view on all users。因此,如果您在网络上有一个应用程序,用户过多,并且每个用户或某些用户长时间处理他们的呼叫,那么这可能会导致所有用户延迟。

【讨论】:

    猜你喜欢
    • 2015-03-23
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多