我将使用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请求量吗?
一般来说,“最佳”和“完美”的问题很难回答。
最佳缓存大小取决于:
您的 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() 但是,需要特定元素的键、值对,并似乎返回该元素的持续时间。