Olá a todos!

Achei muito interesante estas auterações feita no postgresql.conf. vi o ganho de
performance que vc obteve, gostaria de saber qual ferramenta vc utilizou para 
medir a
velocidade do banco?

Desde a agradeço

> Thiago,  como se faz essa alteração no kernel?
>
>
> -----Mensagem original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] nome de Thiago Risso
> Enviada em: terça-feira, 26 de setembro de 2006 12:12
> Para: Grupo de Usuários do PostgreSQL no Brasil
> Assunto: Re: [PostgreSQL-Brasil] Performance SCSI
>
>
> 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 <mailto:[EMAIL PROTECTED]>
> To: Grupo de  <mailto:[email protected]> 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
> <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

Responder a