【发布时间】:2010-11-04 15:29:34
【问题描述】:
将图像存储在数据库中的 Web 应用程序。
在我们的第一个设置中,我们从在 asp.net 缓存中调整大小的数据库中存储(和提供)图像。这一切都很好,但是随着网络开始获得越来越多的点击,我们开始遇到奇怪的问题,而且奇怪,我的意思是奇怪 - 从没有任何细节的 w3p 崩溃到每天到处发生几次的随机 OutOfMemoryExceptions。
我怀疑asp.net缓存可能被我们这里滥用了,所以我重写了图像缓存到文件系统。我们的图像处理程序现在检查缓存目录中调整大小的图像,如果不存在这样的图像,则从数据库中获取它并将其保存在缓存目录中,并从那里提供它。
困扰我的是这个网站的 w3p 内存使用情况。之前,当我们使用 asp.net 缓存对象时,w3p 的典型内存使用量约为 600mb。现在,当处理程序从文件系统提供图像时,典型的内存使用量约为 750mb。不知何故,我预计它会下降(至少有一点),但绝对不会上升。这有什么解释吗?
其次,有没有办法检查 w3p 进程以查看有多少内存用于什么用途?想到的一件事是性能计数器,但还没有时间检查。
【问题讨论】:
-
为什么不使用分析器来查看占用内存的内容?