> Estou usando pgbouncer para o pool (antes disso já tinha o mesmo problema). > Segue meu pg_stat > SELECT * FROM pg_stat_activity ; > datid | datname | procpid | usesysid | usename | > current_query | waiting | xact_start | > query_start | backend_start > | client_addr | client_port > -------+------------+---------+----------+------------+----------------------------------+---------+-------------------------------+-------------------------------+--------------------------- > ----+-----------------+------------- > 16387 | dbname | 12666 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:30:52.681163-03 | 2011-10-10 > 13:31:00.825821-03 | 2011-10-10 13:30:52.672718 > -03 | 10.0.0.12 | 43578 > 16387 | dbname | 12667 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:33:07.359933-03 | 2011-10-10 > 13:35:35.106725-03 | 2011-10-10 13:31:11.733524 > -03 | 10.0.0.12 | 43584 > 16387 | dbname | 12668 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:32:41.81385-03 | 2011-10-10 > 13:35:29.632156-03 | 2011-10-10 13:31:12.44895- > 03 | 10.0.0.12 | 43588 > 16387 | dbname | 12669 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:32:00.75138-03 | 2011-10-10 > 13:35:30.78344-03 | 2011-10-10 13:31:13.922268 > -03 | 10.0.0.12 | 43592 > 16387 | dbname | 12670 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:33:55.870704-03 | 2011-10-10 > 13:36:56.777206-03 | 2011-10-10 13:31:17.397598 > -03 | 10.0.0.12 | 43597 > 16387 | dbname | 12671 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:31:26.603761-03 | 2011-10-10 > 13:35:31.670655-03 | 2011-10-10 13:31:26.59695- > 03 | 10.0.0.12 | 43628 > 16387 | dbname | 12672 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:35:29.01913-03 | 2011-10-10 > 13:35:36.997236-03 | 2011-10-10 13:31:27.318486 > -03 | 10.0.0.12 | 43633 > 16387 | dbname | 12674 | 16384 | root | SELECT * FROM > pg_stat_activity ; | f | 2011-10-10 13:37:04.830385-03 | 2011-10-10 > 13:37:04.830385-03 | 2011-10-10 13:33:14.848317 > -03 | | -1 > 16387 | dbname | 12676 | 16386 | dbname | <IDLE> in transaction > | f | 2011-10-10 13:36:43.234772-03 | 2011-10-10 > 13:37:04.575148-03 | 2011-10-10 13:35:33.071268 > -03 | 10.0.0.12 | 53953 > (9 rows)
Seu banco de dados não está fazendo *nada*. Está parado em transações abertas por sua aplicação e esperando novos comandos. Sua aplicação está travada porque deve ter aberto 200 mil conexões (exagerando aqui) com o PgBouncer e, como o PgBouncer tem apenas umas poucas conexões, estão todas em uso. Sua aplicação certamente está fazendo transações aninhadas. Neste cenário, qualquer pool de conexões vai lotar. Nenhum banco de dados do mundo suporta isso. Nada do que falei acima explica o consumo de 100% de CPU. Conexões <IDLE> in transaction consomem um mínimo de CPU apenas para existirem. Só que elas ficam nesse estado, travadas, até que a aplicação mande um COMMIT ou ROLLBACK. Verifique sua aplicação. []s Flavio Gurgel _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
