Eu não acho que alguém terá a resposta para o seu problema, mas apenas leva & idéias. Aqui estão alguns:
-
você precisa de robôs que verificarão a integridade de cada parte do seu serviço . (testando uma única conexão ao seu banco de dados, obtendo uma página web estática, obtendo uma página web dinâmica ...). Dessa forma, você verá o que as quebras primeiro ou o aumento do tempo de resposta.
-
você tem um monitoramento / serviço de estatísticas ? Você precisa acompanhar o "número de conexões de banco de dados ativas", "número de sessões da web ativas", "número de threads do tomcat", "memória disponível", CPU ...
Meu conselho, não há nenhum processo tomcat porque eles estão todos presos à espera de um recurso (talvez uma conexão de banco de dados, ou eles são apenas um loop infinito!). As ferramentas que listei anteriormente irão ajudá-lo a entender por que seu servidor está morrendo lentamente toda semana.
- execute
netstat
em seu servidor e observe o número de conexões com o servidor de banco de dados (e verifique-o em relação ao tamanho do seu pool e à capacidade do servidor de banco de dados). - execute o jstack no seu servidor de aplicativos e corte / grep / classifique-os para ver o que seus threads estão fazendo.