Por que as threads ficam presas?

O Tomcat usa threads para processar requisições. Elas podem ficar ocupadas por tempo excessivo quando a aplicação aguarda o banco, uma API externa, disco, filas ou operações síncronas demoradas. Com muitas requisições concorrentes, o pool pode atingir o limite e novas chamadas passam a esperar ou falhar.

A solução é aumentar threads?

A correção não é apenas aumentar o número de threads. É preciso verificar tempo de espera, pool de conexões, filas, limites de downstream e comportamento do código. O teste de carga ajuda a identificar em que nível a fila cresce e se a origem é o servidor de aplicação ou uma dependência anterior.

Como diagnosticar?

Durante o teste de carga, monitore threads ativas, threads em espera, pool de conexões do banco e latência de APIs externas em paralelo. A correlação entre esses dados revela onde está o gargalo real.


Próximo passo: monitore threads e pool de conexões durante o próximo teste de carga para identificar qual dependência está prendendo os recursos.