2016-11-22 15:53 GMT-02:00 Alan Formagi <[email protected]>:

> Boa tarde pessoas!
> Tudo bem?
>
> Um colega meu, e eu estamos com uma dúvida referente ao uso de múltiplos
> cores, do PostgreSQL, ao executar uma query.
> Deixo claro que não se trata de um problema para nós, é apenas uma dúvida,
> e também uma curiosidade para entender o funcionamento do PostgreSQL sobre
> um determinado recurso.
> Assim que foram anunciadas as melhorias da versão 9.6, observamos que
> seria possível ativar tal configuração (max_parallel_workers_per_gather).
> Testamos uma consulta [1], no seguinte servidor:
>
> **Servidor**:
> Processador: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
> Memória: 32Gb
> Discos: SAS 10K, com capacidade final de 900Gb
>
> Versão do PostgreSQL: 9.6.0
> Configurações do arquivo postgresql.conf:
>
> **Configurações do PostgreSQL**
> checkpoint_completion_target:     0.9
> effective_cache_size:             14GB
> maintenance_work_mem:             1GB
> max_connections:                  150
> max_parallel_workers_per_gather:  5
> max_wal_size:                     2GB
> max_worker_processes:             8
> min_wal_size:                     512MB
> server_version:                   9.6.0
> shared_buffers:                   4GB
> wal_buffers:                      16MB
> wal_segment_size:                 16MB
> work_mem:                         61MB
>
> Observamos que ao executar esta consulta, a mesma não "ativa", ou faz uso
> do recurso citado.
> Geramos um explain da mesma, para melhor observação [2].
> Procurei na documentação do PostgreSQL [3] os detalhes desta configuração.
> Entretanto, como não tenho conhecimento adequado, e avançado sobre o caso
> - popular leigo - venho aqui pedir ajuda.
> Se puderem me indicar algum material que apresente o conteúdo em questão
> de uma forma mais leiga, ou caso alguém tenha a disponibilidade, e puder me
> ajudar a entender o funciona tal recurso - quando o mesmo será posto em uso
> - agradeço.
> Ou ainda, se puderem me indicar uma maneira, ou boas práticas - não sei se
> faço uso correto do termo - para aplicar na consulta apresentada neste
> e-mail, para que a mesma utilize o recurso em questão, também me será útil.
>

Galera pode corrigir, ou falar mais em detalhes, até por não ter a query só
dei uma olhada mais por cima, mas está me parecendo que não usou o Parallel
pelo mesmo motivo que muitas vezes um index não é utilizando, o custo é
menor retornando os dados de forma normal.

O planejador utiliza algumas métricas muito semelhantes para calculo de
custo, que você pode ver aqui [1] em Parallel Plan Tips.




. Ou até verifique se esses valores não foram alterados.



[1] - https://www.postgresql.org/docs/9.6/static/parallel-plans.html


>
> [1] - http://pastebin.com/3FVdzU2M
> [2] - https://explain.depesz.com/s/Yzkp
> [3] - https://www.postgresql.org/docs/9.6/static/when-can-
> parallel-query-be-used.html
>
> Atenciosamente.
>
> Alan Formagi
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a