1

我目前对 ASP.NET Core 应用程序进行 CPU 采样,向它发送大量请求(> 500K)。我看到应用程序的峰值工作集约为 300 MB,考虑到对应用程序发出的请求数量,我认为这并不大。但是我观察到的是,当我在我的应用程序中启用某些功能时,每秒请求数会大幅下降。

问题: 我也应该进行内存分析吗?我问这个是因为即使峰值工作集约为 300MB,可能会有大量的短期对象可以由 GC 创建和收集,并且由于 GC 的工作也算作 CPU,我是否也应该进行内存分析以查看是否我分配太多?

4

1 回答 1

1

我将根据我发现的新信息自己回答这个问题。

这基于工具PerfView,该工具提供有关 GC 和分配的信息。 在此处输入图像描述

当您打开GCStats视图时,导航到您关心的进程的链接,您应该会看到如下信息: 在此处输入图像描述

注意视图有信息有% CPU Time spent Garbage Collecting。如果你看到这是> 5%那么它应该是一个值得关注的原因,你应该开始内存分析。

于 2018-06-11T18:56:40.927 回答