如何识别导致我网站上使用高CPU的确切代码?

时间:2017-06-22 10:43:51

标签: c# asp.net-mvc web-applications nopcommerce

我有一个nopcommerce网站,有时它在一个活动期间我们有大约300个并发用户。 CPU达到99& 100%级别,配置为40 CPU& 160 GB RAM。 RAM使用率小于15 GB,因为DB不太重。

我不是程序员,我想知道究竟是什么导致了这个CPU峰值。我怎样才能确定这一点。

我发现IIS导致了峰值,但无法找出哪个特定代码产生问题。

3 个答案:

答案 0 :(得分:2)

您可以使用探查器程序来衡量方法完成的时间或在给定的时刻使用了多少内存等。我们使用的是JetBrains工具。请看一下dotTreace和dotMemory。

答案 1 :(得分:0)

调试,查看需要多长时间执行的行。

如果您不熟悉调试,可能需要程序员来完成!

然而,您可以通过识别站点的哪个部分需要一段时间来加载或在站点周围玩,同时在任务管理器中查看CPU并查看它激活的点,这可以帮助程序员缩小他们需要看的方法。

答案 2 :(得分:-1)

使用以下代码获取总内存

long memoryUses = GC.GetTotalMemory(true);

当你发现,你的记忆太高,然后运行强力垃圾收集器。

System.GC.Collect()

希望你的问题能在此之后得到解决。