Значение SessionStatistics в консоли AEM JMX - PullRequest
0 голосов
/ 25 октября 2018

Мой AEM-сервер через несколько дней перестает отвечать на запросы и дает сбой.Согласно этой статье - https://helpx.adobe.com/experience-manager/kb/check-and-analyze-if-JCR-session-leaks-in-your-AEM-instance.html, при проверке http://localhost:4502/system/console/jmx я обнаружил, что существует более 60 000 объектов SessionStatistics.Я хотел бы знать, что они представляют?Это активные сессии?или это список всех сессий, когда-либо созданных на сервере AEM?

1 Ответ

0 голосов
/ 25 октября 2018

Я хотел бы знать, что они представляют?Это активные сессии?или это список всех сеансов, когда-либо созданных на сервере AEM?

Да, это активные открытые сеансы, запущенные в данный момент на вашем сервере AEM, созданные с момента последнего запуска вашего экземпляра.Вы можете найти время последнего запуска из /system/console/vmstat, и все объекты сеанса будут иметь временную метку после времени Last Started.Вы заметите отметку времени напротив названия сеанса.Нечто похожее на это.

"communities-user-admin@session-1132@25/10/2018 5:03:26 PM"

Ссылка, которую вы разместили, уже указывает на потенциальные исправления для открытых сеансов.

Другая возможная причина для создания объектов сеанса связана с неэффективными долго выполняющимися запросами JCR (запросы без индексов, очень широких предикатов и т. д.).Это может привести к увеличению сбора мусора из-за увеличения использования памяти (если параметры mem не указаны в стартовом скрипте), анализ gc.log может дать некоторую информацию.Если вы хорошо знаете, что запросы вызывают создание объектов сеанса, вы можете использовать эти параметры в стартовом скрипте для оптимизации используемых ресурсов.

 -Doak.queryLimitInMemory=1000 -Doak.queryLimitReads=1000 -Dupdate.limit=1000 -Doak.fastQuerySize=true

Чтобы найти расположение gc.log, используйте lsof

lsof -p ${JAVA PID} | grep gc.log
...