当前位置: 首页 > 知识库问答 >
问题:

带springboot 2.5.4的ehcache3的最佳配置

邓子濯
2023-03-14

我将使用Ehcache和Springboot。我只是想知道在处理大量请求时,什么会是最佳配置。

在直播期间,我们可能会收到超过30000 req/h。虽然在开发中,我们无法生成此方案。

你能帮我如何计算内存,以创建一个最佳配置,应在Prod中完美工作。

我检查了Postman中的响应大小,在Dev中为3-5 kb,因此我保留了以下配置,但不确定它会有多好。我们的内存大小为2GB(在prod中,我们可以获得4 GB)。ttl 设置为 1 小时。

<heap>5000</heap>
<offheap unit="MB">100</offheap>

您能告诉我这是否适用于我提到的live请求量吗?

共有1个答案

阮雅达
2023-03-14

一般来说,“最佳”和“完美”的问题很难回答。

最佳缓存大小取决于:

  • 数据密钥空间
  • 其分布
  • 响应大小
  • 重新生成收回数据的成本和时间
  • SLA,例如最大用户响应时间

您的 30000 req/hour 可能始终转到同一数据点,因此您的缓存只需要 5kb。

配置多少堆和堆外缓存还取决于内存和 CPU 成本以及响应时间之间的权衡。

即使你的开发计算机速度不够快,无法处理生产负载,你仍然可以使用与生产中相同的访问序列对其进行测试。也许对于一个小时的生产负载,您需要在开发中花费四个小时来测试您的设置。

另一种可能是减少数据密钥空间,以便在开发人员中进行测试。不过,重要的是,您必须有类似的密钥分布。

一些实用的建议:如果缓存基本上是一个REST响应(您提到了postman),那么在应用程序内部缓存可能不是一个好的选择。可能在用户和应用程序之间使用基于HTTP的缓存

为了在生产中实现最佳缓存,您需要根据您在生产中看到的内容进行测试和调整。最好从生产中更大的机器和更大的缓存大小开始,然后根据您的命中率、成本预期和服务水平降低容量

 类似资料:
  • 在我的Django项目中,我在项目的根目录中有一个静态文件夹(靠近manage.py),所以在settings.py中,为了找到这个静态文件,我有: STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),] 如何配置?现在我想: STATIC_ROOT=os.path.join(BASE_DIR,“static/”) 但当我运行collectstati

  • 我的目标是筛选出最佳匹配。在我的例子中,我有一个人员列表,我想按姓氏和名字过滤。 匹配的预趋势将是: < li >姓和名都匹配,返回第一个匹配项 < li >仅姓氏匹配,返回第一个匹配项 < li >不匹配,抛出一些异常 我目前为止的代码:

  • 本文档旨在汇总和强调用户指南、快速开始文档和示例中的最佳实践。该文档会很活跃并持续更新中。如果你觉得很有用的最佳实践但是本文档中没有包含,欢迎给我们提Pull Request。 通用配置建议 定义配置文件的时候,指定最新的稳定API版本(目前是V1)。 在配置文件push到集群之前应该保存在版本控制系统中。这样当需要的时候能够快速回滚,必要的时候也可以快速的创建集群。 使用YAML格式而不是JSO

  • 本文向大家介绍webpack配置的最佳实践分享,包括了webpack配置的最佳实践分享的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了关于webpack配置的最佳实践,本文分享的实践具有以下的优势: 使用happypack提升打包速度。 使用MD5 hash可以生成文件版本,进行版本控制 在非单页面的系统中支持多个入口的配置 模板中可以利用htmlplugin输出一些配置性的信息 支持de

  • 我有以下问题,例如:给定一个带有符号 的桶和一本菜谱来创建配对,例如: 从桶中选择最佳配对,在桶中保留尽可能少的符号。因此,使用上面的示例值,最佳配对将是: ,它将使用给定的所有符号。 从桶中简单地选取可能导致类似于: 使得和不匹配。和无法匹配,因为该书不包含该特定连接的制作方法 注: 实际问题平均包含:桶中500个元素,约30种符号。 我们已经尝试使用bruteforce算法来实现这个解决方案,

  • 我正在从Ehcache2. X转换到Ehcache3.3.1,我找不到在运行时获取缓存的生存时间配置的方法。以前我使用: 现在,看起来我需要做一些类似于:< code > cache . getruntimeconfiguration()的事情。getExpiry()。getExpiryForCreation()。getLength() 但是,需要特定元素的键、值对,并似乎返回该元素的持续时间。