Qual o plano de execução desse último teste?

O valor do effective_cache_size me parece incompatível com o resto da
configuração. Esse parametro serve para o otimizador do postgresql
avaliar o tamanho total de cache de disco + shared buffers contendo os
dados do banco e pode influenciar na escolha dos indices. No anotated
postgresql.conf do josh ele sugere que ese valor seja aproximadamente
2/3 da memoria da maquina.

Outra coisa, eh bom verificar com o vmstat se o servidor não está
fazendo swap durante a consulta.

On 9/26/06, Thiago Risso <[EMAIL PROTECTED]> wrote:
> Alterei minhas configuraçoes para :
>
> Altementei a shared memory do KERNEL. (Pois o FEDORA permite no MAX 32Mb)
> para 1Gb ...
>
> postgresql.conf
>
> shared_buffers = 131072
> work_mem = 64048
> maintenance_work_mem = 32768
> max_fsm_pages = 320000
> wal_buffers = 32
> enable_hashagg = off
> enable_seqscan = off
> enable_tidscan = off
> effective_cache_size = 16384
> random_page_cost = 1
>
> ...
>
> e vejam :
>
> SELECT H.hierarquia ,F.funcao,count(id_cand) AS quant FROM ((area_cand AC
> INNER JOIN teste_agencia.hierarquia H ON H.id_hierarquia = AC.id_hierarquia)
> INNER JOIN agencia.FUNCAO F ON F.id_funcao = AC.id_funcao)INNER JOIN
> agencia.candidato_empresa CE ON CE.id_candidato = AC.id_cand WHERE
> id_empresa = 1 AND F.id_funcao NOT IN(SELECT id_funcao FROM
> agencia.funcao_emp WHERE id_empresa = 1) GROUP BY H.hierarquia,F.funcao
> ORDER BY quant DESC LIMIT 10;
>   hierarquia  |     funcao     | quant
> --------------+----------------+-------
>  Auxiliar     | Administrativo |  1408
>  Assistente   | Administrativo |  1327
>  Operador     | Produção       |   833
>  Profissional | Engenharia     |   715
>  Estágio      | Engenharia     |   563
>  Estágio      | Administrativo |   507
>  Profissional | Recepcionista  |   490
>  Profissional | Montador       |   347
>  Auxiliar     | Vendas         |   330
>  Profissional | Vendas         |   305
> (10 rows)
>
> Time: 782,885 ms
>
> PIOROU .....
>
> Vou continuar com meus testes aqui ... Quando chegar na conf ideal posto ai
> pra voces verem !
>
>
> On 9/25/06, Sergio Medeiros Santi <[EMAIL PROTECTED]> wrote:
> >
> >
> > Thiago:
> >
> > Acredito que você tem nas mãos um excelente servidor. Não tenho como
> analisar os tempos que citastes, mas posso passar as configurações que
> enviastes com as que tenho em um servidor semelhante. O servidor é um Dell
> Poweredge Dual Xeon 3.0, 4 G de ram e discos hotswap scsi 15.000k em raid 0,
> duas placas de rede, etc ... Detalhe este servidor usa W2K.
> >
> > Suas configurações comparadas com as que uso:
> >
> > shared_buffers = 2048          # uso 36620
> > temp_buffers = 2048            # uso o default 1000
> > work_mem = 2048                # uso 64048
> > max_fsm_pages = 20000          # uso 320000
> > effective_cache_size = 1000    # uso 4096
> > maintenence_work_mem=????      # uso 16384
> > max_stack_deph=????            # uso 4096
> > random_page_cost = 4           # idem
> > fsync = on                     # idem
> > enable_bitmapscan = on         # idem
> > enable_seqscan = ??            # uso off
> > enable_tidscan = ??            # uso off
> > enable_hashagg = ??            # uso off
> >
> > Espero que ajude,
> >
> > Sergio
> >
> >
> > ----- Original Message -----
> > From: Cleber Nardelli
> > To: Grupo de Usuários do PostgreSQL no Brasil
> > Sent: Monday, September 25, 2006 3:59 PM
> > Subject: Re: [PostgreSQL-Brasil] Performance SCSI
> >
> >
> > Olá... Tente rodar um REINDEX.
> >
> >
> > 2006/9/23, Thiago Risso <[EMAIL PROTECTED]>:
> > > Boa noite Lista,
> > >
> > > A situação é a seguinte :
> > > Tinhamos um servidor rodando postgres em um PC P4 com HD IDE com 1GB de
> RAM ...
> > > Migramos este SERVIDOR PARA UM DELL POWER EDGE XEON com HD SCSI 10k e
> 3GB de RAM (800Mhz) ...
> > > Ambos radando em LINUX REISERFS , porém o antigo em DEBIAN e o NOVO EM
> FEDORA 5 (64 bits) ...
> > >
> > > Teo,ricamente, as consultas deveriam ficar bem mais rápidas mas
> teoricamente, não é isso que esta acontecendo ....
> > > Abaixo segue as configurações e testes realizados ....
> > >
> > > SERVER ANTIGO :
> > >
> > > shared_buffers = 2048           # min 16 or max_connections*2, 8KB each
> > > temp_buffers = 2048         # min 100, 8KB each
> > > work_mem = 2048             # min 64, size in KB
> > > #max_fsm_pages = 20000
> > > #effective_cache_size = 1000        # typically 8KB each
> > > #random_page_cost = 4           # units are one sequential page fetch
> > > #fsync = on
> > > #enable_bitmapscan = on
> > >
> > >
> > > gerenciador=# ANALYZE ;
> > > ANALYZE
> > > Time: 5919,603 ms
> > > gerenciador=# SELECT H.hierarquia,F.funcao,count(id_cand) AS quant FROM
> ((area_cand AC INNER JOIN teste_agencia.hierarquia H ON H.id_hierarquia =
> AC.id_hierarquia) INNER JOIN agencia.FUNCAO F ON F.id_funcao =
> AC.id_funcao)INNER JOIN agencia.candidato_empresa CE ON CE.id_candidato =
> AC.id_cand WHERE id_empresa = 1 AND F.id_funcao NOT IN(SELECT id_funcao FROM
> agencia.funcao_emp WHERE id_empresa = 1) GROUP BY H.hierarquia,F.funcao
> ORDER BY quant DESC LIMIT 10;
> > >   hierarquia  |     funcao     | quant
> > > --------------+----------------+-------
> > >  Auxiliar     | Administrativo |  1408
> > >  Assistente   | Administrativo |  1327
> > >  Operador     | Produção       |   833
> > >  Profissional | Engenharia     |   714
> > >  Estágio      | Engenharia     |   563
> > >  Estágio      | Administrativo |   507
> > >  Profissional | Recepcionista  |   490
> > >  Profissional | Montador       |   347
> > >  Auxiliar     | Vendas         |   330
> > >  Profissional | Vendas         |   305
> > > (10 rows)
> > >
> > > Time: 157,624 ms
> > >
> > > gerenciador=# EXPLAIN SELECT H.hierarquia,F.funcao,count(id_cand) AS
> quant FROM ((area_cand AC INNER JOIN teste_agencia.hierarquia H ON
> H.id_hierarquia = AC.id_hierarquia) INNER JOIN agencia.FUNCAO F ON
> F.id_funcao = AC.id_funcao)INNER JOIN agencia.candidato_empresa CE ON
> CE.id_candidato = AC.id_cand WHERE id_empresa = 1 AND F.id_funcao NOT
> IN(SELECT id_funcao FROM agencia.funcao_emp WHERE id_empresa = 1) GROUP BY
> H.hierarquia,F.funcao ORDER BY quant DESC LIMIT 10;
> > >
>             QUERY PLAN
> > >
> --------------------------------------------------------------------------------------------------------------------------------------------------
> > >  Limit  ( cost=22473.89..22473.91 rows=10 width=32)
> > >    ->  Sort  (cost=22473.89..22478.25 rows=1747 width=32)
> > >          Sort Key: count(ac.id_cand)
> > >          ->  HashAggregate  (cost=22357.97..22379.80 rows=1747 width=32)
> > >                ->  Hash Join  (cost=1057.51..22336.70 rows=2835
> width=32)
> > >                      Hash Cond: ("outer".id_hierarquia =
> "inner".id_hierarquia)
> > >                      ->  Hash Join  (cost= 1056.36..22290.67 rows=3307
> width=24)
> > >                            Hash Cond: ("outer".id_funcao =
> "inner".id_funcao)
> > >                            ->  Nested Loop  (cost=1017.18..22185.24
> rows=6636 width=12)
> > >                                  ->  Bitmap Heap Scan
> on candidato_empresa ce  (cost=1017.18..2364.09 rows=2793 width=4)
> > >                                        Recheck Cond:
> (id_empresa = 1)
> > >                                        ->  Bitmap Index
> Scan on candidato_empresa_index_candidato_empresa
> (cost=0.00..1017.18 rows=2793 width=0)
> > >                                              Index
> Cond: (id_empresa = 1)
> > >                                  ->  Index Scan using
> index_area_cand on area_cand ac  (cost=0.00..7.07 rows=2 width=12)
> > >                                        Index Cond:
> ("outer".id_candidato = ac.id_cand )
> > >                            ->  Hash  (cost=38.81..38.81 rows=146
> width=20)
> > >                                  ->  Seq Scan on funcao
> f  (cost=32.15..38.81 rows=146 width=20)
> > >                                        Filter: (NOT
> (hashed subplan))
> > >                                        SubPlan
> > >                                          ->  Seq Scan
> on funcao_emp  (cost=0.00..32.12 rows=9 width=4)
> > >                                                Filter:
> (id_empresa = 1)
> > >                      ->  Hash  (cost=1.12..1.12 rows=12 width=16)
> > >                            ->  Seq Scan on hierarquia h
> (cost=0.00..1.12 rows=12 width=16)
> > > (23 rows)
> > >
> > > SERVER NOVO :
> > >
> > > shared_buffers = 3072
> > > work_mem = 4096
> > > maintenance_work_mem = 32768
> > > max_fsm_pages = 120000
> > > wal_buffers = 32
> > > effective_cache_size = 131072
> > > random_page_cost = 1
> > > #fsync = on
> > > #enable_bitmapscan = on
> > >
> > > gerenciador=# ANALYZE ;
> > > ANALYZE
> > > Time: 8902,698 ms
> > > gerenciador=# SELECT H.hierarquia ,F.funcao,count(id_cand) AS quant FROM
> ((area_cand AC INNER JOIN teste_agencia.hierarquia H ON H.id_hierarquia =
> AC.id_hierarquia) INNER JOIN agencia.FUNCAO F ON F.id_funcao =
> AC.id_funcao)INNER JOIN agencia.candidato_empresa CE ON CE.id_candidato =
> AC.id_cand WHERE id_empresa = 1 AND F.id_funcao NOT IN(SELECT id_funcao FROM
> agencia.funcao_emp WHERE id_empresa = 1) GROUP BY H.hierarquia,F.funcao
> ORDER BY quant DESC LIMIT 10;
> > >   hierarquia  |     funcao     | quant
> > > --------------+----------------+-------
> > >  Auxiliar     | Administrativo |  1408
> > >  Assistente   | Administrativo |  1327
> > >  Operador     | Produção       |   833
> > >  Profissional | Engenharia     |   714
> > >  Estágio      | Engenharia     |   563
> > >  Estágio      | Administrativo |   507
> > >  Profissional | Recepcionista  |   490
> > >  Profissional | Montador       |   347
> > >  Auxiliar     | Vendas         |   330
> > >  Profissional | Vendas         |   305
> > > (10 rows)
> > >
> > > Time: 374,312 ms
> > >
> > > gerenciador=#  EXPLAIN SELECT H.hierarquia,F.funcao,count(id_cand) AS
> quant FROM ((area_cand AC INNER JOIN teste_agencia.hierarquia H ON
> H.id_hierarquia = AC.id_hierarquia) INNER JOIN agencia.FUNCAO F ON
> F.id_funcao = AC.id_funcao)INNER JOIN agencia.candidato_empresa CE ON
> CE.id_candidato = AC.id_cand WHERE id_empresa = 1 AND F.id_funcao NOT
> IN(SELECT id_funcao FROM agencia.funcao_emp WHERE id_empresa = 1) GROUP BY
> H.hierarquia,F.funcao ORDER BY quant DESC LIMIT 10;
> > >
>                       QUERY PLAN
>
>
> > >
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > >  Limit  (cost= 10725.34..10725.36 rows=10 width=32)
> > >    ->  Sort  (cost=10725.34..10729.70 rows=1747 width=32)
> > >          Sort Key: count(ac.id_cand)
> > >          ->  HashAggregate  (cost=10609.42..10631.25 rows=1747 width=32)
> > >                ->  Hash Join  (cost=2165.25..10582.15 rows=3636
> width=32)
> > >                      Hash Cond: ("outer".id_hierarquia =
> "inner".id_hierarquia)
> > >                      ->  Hash Join  (cost= 2164.10..10524.94 rows=3939
> width=24)
> > >                            Hash Cond: ("outer".id_funcao =
> "inner".id_funcao)
> > >                            ->  Merge Join  (cost=2124.93..10406.86
> rows=7904 width=12)
> > >                                  Merge Cond:
> ("outer".id_cand = "inner".id_candidato)
> > >                                  ->  Index Scan using
> index_area_cand on area_cand ac  (cost=0.00..7428.58 rows=294416 width=12)
> > >                                  ->  Sort
> (cost=2124.93..2133.24 rows=3326 width=4)
> > >                                        Sort Key:
> ce.id_candidato
> > >                                         ->  Index Scan
> using candidato_empresa_index_candidato_empresa on
> candidato_empresa ce  (cost=0.00..1930.36 rows=3326 width=4)
> > >                                              Index
> Cond: (id_empresa = 1)
> > >                            ->  Hash  (cost=38.81..38.81 rows=146
> width=20)
> > >                                  ->  Seq Scan on funcao
> f  (cost=32.15..38.81 rows=146 width=20)
> > >                                        Filter: (NOT
> (hashed subplan))
> > >                                        SubPlan
> > >                                          ->  Seq Scan
> on funcao_emp  (cost=0.00..32.12 rows=9 width=4)
> > >                                                Filter:
> (id_empresa = 1)
> > >                      ->  Hash  (cost=1.12..1.12 rows=12 width=16)
> > >                            ->  Seq Scan on hierarquia h
> (cost=0.00..1.12 rows=12 width=16)
> > > (23 rows)
> > >
> > > ** NOS DOIS SERVERS FOI EXECUTADO VACCUM E ANALYZE ANTES DO TESTE ...
> > >
> > >
> > > Atenciosamente,
> > >
> > > Thiago Risso
> > > Rhadar
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Grupo de Usuários do PostgreSQL no Brasil
> > > Antes de perguntar consulte o manual
> > > http://pgdocptbr.sourceforge.net/
> > >
> > > Para editar suas opções ou sair da lista acesse a página da lista em:
> > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> > >
> > >
> >
> >
> >
> > ________________________________
>
> >
> > _______________________________________________
> > Grupo de Usuários do PostgreSQL no Brasil
> > Antes de perguntar consulte o manual
> > http://pgdocptbr.sourceforge.net/
> >
> > Para editar suas opções ou sair da lista acesse a página da lista em:
> > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> >
> >
> > _______________________________________________
> > Grupo de Usuários do PostgreSQL no Brasil
> > Antes de perguntar consulte o manual
> > http://pgdocptbr.sourceforge.net/
> >
> > Para editar suas opções ou sair da lista acesse a página da lista em:
> > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> >
> >
>
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
>


-- 
Diogo Biazus - [EMAIL PROTECTED]
Móvel Consultoria
http://www.movelinfo.com.br
http://www.postgresql.org.br
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a