gpt4 book ai didi

c# - 如何在 ASP.NET 缓存应用程序中超过 IIS7 的 60% 内存限制

转载 作者:太空狗 更新时间:2023-10-29 21:52:15 26 4
gpt4 key购买 nike

请原谅,如果这是服务器故障而不是 stackoverflow。好像在边界上。

我们有一个应用程序使用 ASP.NET 缓存为电子商务应用程序缓存大量产品数据。这是一个包含 65K 元素的字典对象,我们的计算表明该对象的大小约为 10GB。
问题:

  1. 对象消耗的内存量似乎远远超过我们计算的 10GB。

  2. 最大的担忧:我们似乎无法使用服务器中 32GB 的 60% 以上。

到目前为止我们尝试了什么:

在 machine.config/system.web 中(sf 不允许标签,请原谅格式):

processModel autoConfig="true" memoryLimit="80"

在web.config/system.web/caching/cache中(sf不允许标签,请原谅格式):

 privateBytesLimit = "20000000000" (and 0, the default of course)
percentagePhysicalMemoryUsedLimit = "90"

环境: window 2008R2 x6432GB 内存IIS7

似乎没有什么能让我们超过 60% 的值。请参见 taskman 的屏幕截图。

http://www.freeimagehosting.net/image.php?7a42144e03.jpg

最佳答案

有点晚了,但我遇到了几乎相同的问题。 processModel 上的 memoryLimit 设置的问题是它似乎没有任何效果,尽管有这样的记录。

percentagePhysicalMemoryUsedLimit 同样看起来它应该做一些事情但没有效果。

privateBytesLimit="20000000000" 确实有效。我去调试了这个过程,找到了 CacheMemorySizePressure 对象,它成功地获取了值并将其设置为 _memoryLimit。我会仔细检查一下。

另一个选项是在 IIS 应用程序池上设置专用内存使用回收阈值。这也应该被采纳并覆盖默认的 60% 限制。

第三种选择是使用新的 MemoryCache类并在其上设置 PhysicalMemoryLimit

关于c# - 如何在 ASP.NET 缓存应用程序中超过 IIS7 的 60% 内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com