O PostgreSQL 9.2 faz com que a utilização da CPU atinja 100%

1

Temos um aplicativo Java EE (um portal de biblioteca digital on-line) com o Hibernate 4.3, que se conecta a um banco de dados PostGres 9.2. Após o teste de carga com um carregamento de 175 usuários simultâneos que efetuam login e acessam o sistema, a utilização da CPU do servidor de banco de dados sobe para 100% e permanece assim.

O hardware para o servidor de banco de dados é: 4 processadores Core Pentium 2+ GHz. 12 GB de RAM Ubuntu O tamanho do conjunto de conexões é 200. O servidor de aplicativos é o Apache Tomcat 6.x em execução em um processador diferente de 4 Pentium 2+ GHz. Máquina de 12 GB de RAM no Ubuntu.

Por favor me ajude! Precisa corrigir isso com urgência.

    
por user17268 02.01.2015 / 13:06

2 respostas

2

Eu me deparei com o mesmo tipo de problema. O motivo foi - algumas transações estavam ficando presas e funcionando há muito tempo. Daí em diante, a utilização da CPU aumentou para 100%. O comando a seguir ajudou a descobrir as conexões em execução por mais tempo:

SELECT max(now() - xact_start) FROM pg_stat_activity
                           WHERE state IN ('idle in transaction', 'active');

Este comando mostra o tempo desde quando uma conexão está sendo executada. Este tempo não deve ser maior que uma hora. Então, matando a conexão que estava correndo de muito tempo ou preso a qualquer momento, funcionou para mim. Eu segui este post para monitorar e resolver meu problema.

por 11.10.2016 / 21:52
0

Você tem um DBA?

Ele pode responder a perguntas sobre manutenção regular do banco de dados, como tabelas que analisam a frequência, memória suficiente para o banco de dados?

Você pode encontrar as consultas que afetam a CPU do banco de dados?

Existem algumas maneiras de ajudar você sem extensão de hardware, como:

  1. Gerenciamento de memória adequado - depende da configuração / carga do seu banco de dados
  2. Índices apropriados para evitar varreduras de tabela completas - você deve fazer pesquisas sobre consultas
  3. Análise regular de tabelas / índices - o DBA deve configurá-lo regularmente
  4. Arquitetura de banco de dados de aplicativos comum - é uma abordagem pessoal
por 03.01.2015 / 08:26