> Alterei as configurações de shared_buffers para 10GB, e como o work_mem está
> baixo, alterei o effective_cache_size para 15GB, alterei também o
> checkpoints_segments para 74 com essa alteração o uso de memória diminuiu,
> mas o tempo de execução das consultas continua alto. De maneira geral todas
> as consultas estão mais lentas, mas a principal tabela com problema é a
> apresentada abaixo:
>
> Log Postgres/Programa PHP no servidor:
> ip=127.0.0.1LOG:  duration: 16.224 ms  statement: SELECT
> round(min(temperatura))  as min, round(max(temperatura)) as max FROM
> temperatura where
> previsao_idPrevisao=get_processamento_previsao('2012-03-25',1,1) and
> cidade_idCidade = '2019';
>
> Execução da mesma consulta, usando o PgAdmin:
> -- Executing query:
> SELECT round(min(temperatura)) as min, round(max(temperatura)) as max FROM
> temperatura where
> previsao_idPrevisao=get_processamento_previsao('2012-03-25',1,1) and
> cidade_idCidade = '2019';
> Total query runtime: 1227 ms.
> 1 row retrieved.
>
> Explain analyze:
> "Aggregate  (cost=87.07..87.08 rows=1 width=8) (actual time=0.029..0.029
> rows=1 loops=1)"
> "  ->  Index Scan using temperatura_new_pkey1 on temperatura
> (cost=0.00..86.94 rows=24 width=8) (actual time=0.013..0.022 rows=24
> loops=1)"
> "        Index Cond: ((previsao_idprevisao = 313391) AND (cidade_idcidade =
> 2019))"
> "Total runtime: 0.052 ms"

Verônica, note que os tempos de execução no seu php e pelo PgAdmin são
muito muito mais altos que direto no servidor PostgreSQL.
O Plano de execução está Ok, e está super "barato". A consulta é a
mesma, então CERTAMENTE não há problemas de manutenção no seu banco.

Verifique rede! Ou a interface do servidor PostgreSQL está com
utilização máxima, ou um cabo de rede, switch, firewal está
engargalando o tráfego.
Faça testes de comunicação entre as máquinas clientes e o servidor
PostgreSQL. Por exemplo, tente copiar um arquivo grande. Provavelmente
você terá de monitorar tráfego com alguma ferramenta, por exemplo,
iptraf ou nettop.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a