首页 文章

Windows 2003上的.NET应用程序性能问题

提问于
浏览
1

我们有一个2 x四核Xeon服务器,上面安装了8GB内存和Windows Server 2003企业版 . 我们安装了基于.NET Framework 3.5的应用服务器 . 服务器使用SQL Server 2005作为其数据库服务器 .

当我们安装应用程序服务器时,它曾经具有超快的性能,一切都很好 . 一旦我们加入我们的域名,其性能就会大幅下降 . 例如,花费1秒完成的任务现在需要大约30秒 . 这是非常奇怪的,因为只有基于.NET的应用程序的性能才能获得这种性能,但其他应用程序仍以正常速度运行 .

有没有人知道为什么会这样?任何帮助或建议都非常感谢 .

3 回答

  • 0

    不幸的是,回答你的问题可能需要更多 . 出现这种情况的原因有很多种,其中大多数都涉及到您的代码 .

    基于您加入域的症状,然后事情开始造成麻烦,我会说你有很多网络,你以前可以在你的机器上本地完成,现在实际上是延迟制造麻烦 .

    但基于不够的信息,这是一个疯狂的猜测 .

    我建议您分析您的代码 . 找出在执行期间花费大部分时间的地方,然后在此处发布代码或已清理的版本,以便我们帮助您优化它 .

  • 3

    我确实找到了我的问题的答案,所以我认为在这里分享它可能会很好 . CLR在尝试加载程序集时希望为具有authenticode签名的程序集生成发布者证据 . 在我们的案例中,CLR试图连接到clr.microsoft.com但我们的服务器的Internet访问被阻止,因此每当应用程序服务器尝试加载新程序集时它都会造成巨大的延迟 .

    以下文章介绍了如何禁用此功能:

    Bypassing the Authenticode Signature Check on Startup

  • 1

    我将在这里猜测,并认为你在谈论一个Web应用程序 . 如果这是正确的,您可能需要查看您在Web服务器上设置的应用程序池 . 您的应用程序可能会对哪个池在开始运行时设置自己感到困惑 .

    要检查的另一件事可能是您的数据连接,并确保您关闭所有已打开的内容 .

    最后一件事,就像Randolpho所说的那样,你真的将不得不用某种分析器来跟踪你的代码执行情况,看看哪些东西被束缚了 .

    祝好运!

相关问题