【发布时间】:2015-02-01 08:57:25
【问题描述】:
我将 Terracotta Enterprise Ehcache 与 Java 应用程序一起使用,但在一天中的某些时候,Terracotta 开始花费太多时间来响应 put/get 请求,有时会锁定客户端的线程并启动异常。
我的基础架构由一个包含 5 个 JBoss 服务器 6.2.0 的集群和另一个包含 4 个存储大量数据的 Terracotta Enterprise Ehcache 3.7.5 的集群组成。
该应用程序每天对 Terracotta Ehcache 进行大约 1000 万次访问。
最初我使用标准,但是当问题开始时,我将所有内容更改为仅使用 id 搜索。
我尝试更改 DGC 间隔,使其更频繁地运行,甚至每天只运行一次,但并没有好转。
我从持久化模式permanent-store开始并尝试更改为temporary-swap-only,但问题仍然存在。
尝试将 Terracotta 集群更改为与 2 台主动机器和 2 台被动设备或 4 台主动设备一起使用。
试图将我的缓存配置为真假。
我所有的缓存都是不间断的,我尝试将 timeoutBehavior 用作异常或 noop。
基本上我的任何努力似乎都没有产生任何重大变化,兵马俑继续进入无法再响应请求的状态。
目前唯一似乎“解决”问题的方法是重新启动所有客户端。
有没有人有类似的使用 Terracotta 的场景,具有这种吞吐量?关于现在去哪里找的任何想法?
【问题讨论】:
标签: java caching jboss ehcache terracotta