5
  1. 我相信 mvc mini profiler 将所有响应时间存储在 HttpRuntime 缓存中。
    如果我错了,请告诉我,但如果是这种情况,那么这个缓存的最大限制是多少?在缓存满之前它可以分析多少个操作?我们正在使用迷你分析器来分析测试套件的操作,并且测试套件会随着时间的推移而增长,所以我很担心这件事。我应该担心吗?

  2. 在相关说明上。分析完所有测试后,我只需在迷你分析器Save的类中调用该方法。SqlServerStorage所有响应时间都保存到 SQL 服务器数据库中。有什么方法可以让我Save更频繁地调用该方法,而无需一次又一次地启动和停止分析器?我们只是在测试套件的开始处启动它,并在所有测试都被分析后结束它。我们将MiniProfilers表中的一个条目视为一个分析会话。现在我不能多次调用“保存”方法,因为MiniProfilerId每次调用它都需要一个新方法。

有什么建议么?

4

1 回答 1

1

我并不直接熟悉迷你分析器,但我确实对缓存有相当多的经验。HttpRuntime.Cache 属性提供对 System.Web.Caching.Cache 类的引用。这是对象缓存的实现。一般使用这个缓存是静态的,所以只有一个实例。您可以使用Web.Config配置此缓存的行为文件。关于 Windows 缓存的一些注意事项,使用它永远不会出现内存不足的错误。缓存有一定百分比的内存值,告诉它应该达到多少。一旦它接近最高内存使用百分比,它将开始从最旧的接触对象开始从缓存中剔除对象。所以你的第一个问题的简短回答是不,不要担心内存限制,托管语言的主要卖点之一是你永远不必担心内存消耗,让框架来处理它。

至于#2,我不会担心。缓存可能会丢弃响应对象本身,但我冒昧地猜测它已经包含在分析器的结果聚合中,所以你真的不应该需要原始请求对象本身,除非你想深入检查它。

长话短说,除非你遇到真正的问题,否则我不会再担心这个了。让缓存完成它的工作,并相信构建它的工程师知道他们在做什么,直到你有其他证据。

于 2013-07-11T16:19:02.440 回答