Acabei de herdar a administração de um site e estou encontrando alguns problemas:
Quando o tráfego no site atinge o máximo (acontece quando nossas postagens são exibidas em algumas listas de distribuição / feed RSS), o servidor fica ocupado e congelado (Erro 502).
É AWS hospedado, e através da Cloudwatch eu posso ver que o uso da CPU permanece 100% para 1-1: 30 horas (em condições normais, não ultrapassa 20%) ... seguindo um pico de tráfego alto (até para 100x o tráfego médio durante momentos não de pico).
Os logs do Tomcat e do Grails não dizem muito, "apenas" isso, de novo e de novo:
[http-bio-8080-exec-299] ERROR util.JDBCExceptionReporter - [http-bio-8080-exec-299] Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available[size:100; busy:100; idle:0; lastwait:30000].
Então eu acho que o problema é que quando há muito tráfego, o tempo limite de 30 segundos se torna um "inimigo", porque há muitos usuários esperando para serem atendidos.
A configuração do banco de dados, no nível do aplicativo, é:
pooled = true
properties { maxActive = 100 maxIdle = 25 minIdle = 5 initialSize = 5 minEvictableIdleTimeMillis=300000 timeBetweenEvictionRunsMillis=300000 numTestsPerEvictionRun=3 testOnBorrow=true testWhileIdle=true testOnReturn=true validationQuery="SELECT 1" }
Alguma recomendação sobre como ajustar esses valores?
Obrigado!
ATUALIZAÇÃO: o site está inativo novamente e eu consegui executar o comando "top", e é isso que vejo:
top - 18:46:33 up 2:42, 2 users, load average: 1.04, 1.56, 1.78
Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie
Cpu(s): 25.0%us, 0.2%sy, 0.0%ni, 0.0%id, 0.0%wa, 28.6%hi, 0.0%si, 46.1%st
Mem: 3843124k total, 3385800k used, 457324k free, 42800k buffers
Swap: 0k total, 0k used, 0k free, 681368k cached
1340 tomcat 20 0 3611m 2.3g 11m S 61.3 64.0 51:18.60 java
2609 root 20 0 15140 1252 916 R 0.3 0.0 0:00.14 top
1 root 20 0 19488 1600 1284 S 0.0 0.0 0:00.88 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.23 ksoftirqd/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0
...
Tags mysql amazon-web-services