Cuba зависает, перестает отвечать на запросы пользователей

Добрый день, вопрос заключается в следующем: в программе работает 200+ человек, примерно через 30-60 минут работы начинаются подвисания и в итоге это приводит к тому, что перестает открываться UI (синяя полоса сверху доходит почти до конца и экран не подгружается) или открывается очень долго.
Cuba находится на сервере Linux, запускается через tomcat и apache. В логах tomcat ошибок нет, кроме предупреждения в файле catalina.log: WARNING [http-nio-8020-exec-60] org.atmosphere.cpr.DefaultBroadcaster.addAtmosphereResource Duplicate resource 3b149887-d88a-40a7-a052-d6997a783ffe. Could be caused by a dead connection not detected by your server. Replacing the old one with the fresh one
Так же есть ошибка в файле логов apache ssl_error.log: [proxy_http:error] [pid 598958:tid 140312053298944] (70007)The timeout specified has expired: [client 81.23.150.93:58823] AH01110: error reading response, referer:
Конкретно из-за чего происходят зависания выяснить не получается, но когда происходит спад пользовательской активности, т.е около 17:00 или 18:00, зависаний не происходит и приложение работает без нареканий до следующего “пика” активности

Добрый день,
У вас довольно серьезное внедрение. Вам нужно настроить мониторинг серверов. Только по журналам понять причину зависаний не получится.

Проблема может быть в:

  • базе данных
  • нехватке ресурсов на Linux сервере
  • проблеме внутри JVM процесса (напр. память, пул потоков обработки http запросов, забитый пул соединений к БД)

Поэтому нужно настроить мониторинг сервера БД, Linux машины и самой JVM, и потом смотреть на графики. Например установить Zabbix с соответствующими плагинами, или Prometheus + Grafana.

Для базового мониторинга JVM есть очень легко подключающийся аддон JavaMelody: