Para fazer os testes va alterando o arquivo /proc/sys/kernel/shmmax [1]...

Após encontrar o valor correto para a shared memory, edite o arquivo :
/etc/sysctl.conf e coloque uma linha como essa, caso não exista

kernel.shmmax=134217728



[1] http://developer.postgresql.org/pgdocs/postgres/kernel-resources.html

Att:
Thiago Risso



On 11/10/06, Marcelo Angelo da Cunha Battistini <
[EMAIL PROTECTED]> wrote:

 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 <[EMAIL PROTECTED]>
> *To:* Grupo de Usuários do PostgreSQL no Brasil<[email protected]>
> *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.24rows=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.18rows=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.86rows=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.24rows=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


_______________________________________________
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