У меня в журнале есть:

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).

И я не хочу просто увеличивать этот параметр, не зная, что на самом деле происходит, и не имея лучшего представления о передовых методах кеширования на открытом воздухе!

К вашему сведению: Предупреждение появляется, когда я перечисляю элемент из корневой папки библиотеки документов на сайте. Обратите внимание, что на сайте есть ~ 300 документов в папке на этом уровне, некоторые из которых задействованы в текущих рабочих процессах, и я получаю их все за один вызов (пейджинг на стороне клиента).

Я использую экземпляр Alfresco CE 4.2.c с примерно 8k узлов

2
Younes Regaieg 7 Янв 2016 в 15:45

2 ответа

Лучший ответ

Я видел это в своих журналах всякий раз, когда вы выполняли «большую» транзакцию. Под этим я подразумеваю внесение изменений в более 100 файлов за один раз.

Цитата Акселя Фауста:

Ухудшение производительности является причиной того, что сообщение журнала является предупреждением. Когда размер кэша транзакций достигнут, обработка кеша больше не может правильно обрабатывать фиксацию транзакции, и до того, как какие-либо устаревшие / неверные данные будут помещены в общий кеш, он фактически очистит весь общий кеш. Следующая транзакция (и) будет иметь плохую производительность из-за промахов в кеше ...


Влияние кэша на Xmx, к сожалению, зависит от того, что он делает. Кэш значений свойств не должен иметь большого влияния, поскольку он хранит детализированные значения, но кеш свойств узла будет иметь совершенно другое влияние, поскольку он хранит всю карту свойств. У меня есть только опытные данные об изменениях кеша узлов, и для этого мы рассчитали дополнительную потребность в 3 ГиБ для увеличения стандартного размера кеша в четыре раза.

4
Community 23 Май 2017 в 12:07

Эти предупреждения очень распространены. Я не думаю, что менять настройки по умолчанию - хорошая идея. Возможно, вы можете попробовать изменить свой код, если это возможно.

Как описано в этой ссылке на форум на открытом воздухе одного из инженеров Alfresco, Alfresco предлагает значения "разумные". Они предназначены для работы в стандартных случаях.

Вы можете решить изменить их, но вы должны быть осторожны, потому что вы можете получить более низкую производительность, чем при бездействии.

Я бы посоветовал выяснить, почему использование вами этого веб-скрипта вызывает переполнение кеша, и проверить, можете ли вы что-то с этим сделать. Тот факт, что вы извлекаете 300 документов / папок одновременно, скорее всего, является причиной.

В следующей статье вы узнаете, как устранять неполадки и решать проблемы с кешем.

Настройка кеша Alfresco

Как описано в этой статье, я бы предложил увеличить уровень журнала для ehcache:

Org.alfresco.repo.cache.EhCacheTracerJob = DEBUG

Или выборочно добавляя имя кеша, который вы хотите отслеживать.

3
Marco Altieri 10 Янв 2016 в 11:30