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
