Java 如何计算安全缓存大小?

Java 如何计算安全缓存大小?,java,ehcache,Java,Ehcache,我有一个调用上游服务并加载一些内容的功能。正在加载的内容大约每4小时更新一次,这使其成为缓存的良好候选 是否有一个过程/算法或一组步骤可以用来计算不会影响应用服务器整体性能的最佳缓存大小?差不多 计算要缓存的每个对象的大小 计算可能缓存的项目数(这将是相关功能的所有请求总数) 计算每个应用程序服务器JVM拥有的内存量与正在使用的内存量之间的增量 以某种方式计算可以使用的该增量的安全百分比 根据在上述步骤中计算的值计算对象数 第4步特别模糊,如果有人能提供一些计算缓存的过程,这将非常有帮助。答案是

我有一个调用上游服务并加载一些内容的功能。正在加载的内容大约每4小时更新一次,这使其成为缓存的良好候选

是否有一个过程/算法或一组步骤可以用来计算不会影响应用服务器整体性能的最佳缓存大小?差不多

  • 计算要缓存的每个对象的大小
  • 计算可能缓存的项目数(这将是相关功能的所有请求总数)
  • 计算每个应用程序服务器JVM拥有的内存量与正在使用的内存量之间的增量
  • 以某种方式计算可以使用的该增量的安全百分比
  • 根据在上述步骤中计算的值计算对象数

  • 第4步特别模糊,如果有人能提供一些计算缓存的过程,这将非常有帮助。

    答案是否定的。缓存设计中有更多的变量,而不仅仅是对象大小和内存量。当我们限制这种情况时,可能会出现一个答案,但它很难成为对所有缓存设计都有用的通用答案


    最好的过程仍然存在,想想问题,想出一个最好的猜测。实现它,测量它。调整并再次测量。

    确定用于缓存配置参数的存储量。你概述的所有其他东西都太模糊,包含了似乎是临时的限制/假设,没有人能真正理解这些,除非进行更多的阐述。我既喜欢也讨厌这个问题,它让我想:)。我不认为这个问题太模糊,事实上我发现它写得很好。然而,这可能过于乐观了。我希望有一个一刀切的解决方案来调整缓存大小/设计。。也许更多的项目会使它正确!