alfresco.cache.immutableEntityTransactionalCache有什么问题?

时间:2016-01-07 12:45:45

标签: alfresco alfresco-share

我的日志中有这个:

2016-01-07 12:22:38,720  WARN  [alfresco.cache.immutableEntityTransactionalCache] [http-apr-8080-exec-5] Transactional update cache 'org.alfresco.cache.immutableEntityTransactionalCache' is full (10000).

我不想只是在不了解真实情况的情况下增加this parameter,并且更好地了解露天缓存最佳做法!

供参考: 当我从站点中的文档库根文件夹列出元素时,会出现警告。请注意,该站点在该级别上有~300个文档/文件夹,其中一些涉及当前工作流程,并且我在一次调用中获得所有这些(客户端分页)

我在 8k 节点附近使用 Alfresco CE 4.2.c 实例

2 个答案:

答案 0 :(得分:4)

我在日志中看到这个,只要你做了一个"大"交易。我的意思是批量更改100多个文件。

引用Axel Faust

  

性能降级是日志消息是警告的原因。当达到事务高速缓存大小时,高速缓存处理不能再正确处理事务提交,并且在将任何陈旧/不正确的数据放入共享高速缓存之前,它实际上将清空整个共享高速缓存。由于缓存未命中,下一个事务将遭受糟糕的性能......

  

缓存对Xmx的影响取决于缓存的功能。属性值缓存应该具有很小的影响,因为它存储粒度值,但节点属性缓存在存储整个属性映射时会产生不同的影响。我只有来自节点缓存更改的硬经验数据,因此我们计算了额外需要3 GiB,增加到标准缓存大小的四倍

答案 1 :(得分:3)

获取这些警告很常见。 我不认为更改默认设置是个好主意。 如果可能的话,您可以尝试更改代码。

正如一位Alfresco工程师在this link to the alfresco forum中所描述的那样,Alfresco建议的价值是#34; sane"。它们旨在在标准情况下良好运行。

你可以决定改变它们,但是你必须要小心,因为你可以获得比你什么都不做的更低的表现。

我建议调查为什么你使用这个webscript导致缓存溢出并检查你是否可以对它做些什么。你在同一时间检索300个文件/文件夹这一事实很可能是原因。

在下面的文章中,您可以找到如何解决和解决缓存问题。

Alfresco cache tuning

如该文章所述,我建议增加ehcache的日志级别:

org.alfresco.repo.cache.EhCacheTracerJob = DEBUG

或者有选择地添加要监控的缓存名称。