【问题标题】:Profiling .NET Web App with No Code无代码分析 .NET Web 应用程序
【发布时间】:2010-11-08 02:45:25
【问题描述】:

我有一个在服务器上运行的 .NET Web 应用程序,该应用程序在负载下运行并最终失败。有没有我可以在不访问代码的情况下运行的探查器?

【问题讨论】:

    标签: .net asp.net wcf performance load


    【解决方案1】:

    您可以使用像 Ants profilerJetBrains dotTrace 这样的分析器,甚至可以使用 Visual Studio 高级版中的内置分析器。

    Ants 和 dotTrace 都有时间限制的评估版本,因此您可以轻松试用一段时间。

    分析器可以在没有源代码或调试符号的情况下运行,但至少没有调试符号 (*.pdb),您可能很难解释结果。

    如果您没有任何源代码,您也将很难解决任何问题。理论上你可以用ildasm.exe反汇编代码,修复bug,然后用ilasm.exe重新组装代码,但这并不像在代码中修复那么容易。

    【讨论】:

    • 谢谢,看来 Ants 很适合这份工作,这正是我所追求的。
    【解决方案2】:

    如果涉及数据库,那通常是您改进的最佳机会。如果您没有任何代码,则尤其如此 - 您可以调整数据库索引,有时甚至可以在没有看到代码的情况下获得巨大收益。

    【讨论】:

    • 我无法帮你找到分析器。但我不会删除答案,这就是原因。你有一个问题 - 你有一个缓慢的应用程序。询问分析器会缩小您的选择范围。即使您正在单独调查数据库或由于其他原因而取消了该选项,这个答案也有价值 - 对于其他有类似问题的人来说是有价值的,对于那些只想解决真正问题的人来说,作为诱饵的价值。
    • 不,我没有错过。对于更大问题的那一部分,我只是没有现成的答案。由于您没有针对问题中的问题解决这个明显的最佳解决方案,因此值得将建议作为答案发布,如果出于上述原因没有其他原因。我也有点担心你至少不会考虑或回应这个建议,因为这确实是你最好的路线。
    • 我对你的问题有一个答案——而且是一个很好的答案。很可能比您要求的更值得您花时间。
    • 我的立场是你仍然没有看到你真正的问题。您的问题是不是您找不到探查器。这是你提出的问题,但这只是整个问题的一个方面。 实际的问题是您的网络应用程序很慢,这比仅仅寻找分析器要大。将自己限制在寻找代码分析器会损害您解决真正潜在问题的能力,尤其是因为代码分析将无法调查任何数据库问题,而这几乎总是会产生更大的影响。
    • 你完全没有抓住重点,在两个方面都错了。首先,我没有一个缓慢的应用程序,我有一个在负载下失败的应用程序(阅读问题而不是您认为我要问的问题)。其次,当我没有代码时,我正在寻找一种在 Web 服务器上分析程序集的方法。您的注意力立即转移到了数据库上,但据您所知,我的解决方案中没有数据库。 SO上有很多通用的性能问题,这不是其中之一。你怎么了?在这个场合意识到你的失败并从中吸取教训;回答被问的问题而不是你想回答的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2011-08-05
    • 2014-02-24
    • 2010-09-10
    • 2014-08-13
    • 2012-09-30
    • 2015-09-12
    相关资源
    最近更新 更多