Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-16 Por tôpico Robson Kobayashi - TRE/MS
Olá Euler,

Agradeço pelas observações,

Realmente 100 transações é pouco. Na verdade me utilizei estes valores pois 
foram utilizados em outro benchmark que está publicado na Internet e precisava 
saber se a minha máquina estava melhor, semelhante ou pior ao do teste 
(felizmente ficou 6x melhor).

- Mensagem original -
De: Euler Taveira eu...@timbira.com.br
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quarta-feira, 15 de Maio de 2013 15:57:01
Assunto: Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

100 transações é um valor muito baixo; o teste será somente por alguns
segundos. Uma alternativa é o utilizar o parâmetro -T (tempo) ao invés
do parâmetro -t (número de transações). Um bom teste deve durar pelo
menos 10 minutos.

Além disso, *nunca* utilize um valor de conexões (-c) maior do que fator
de escala (-s); vários UPDATEs estarão concorrendo pelas mesmas tuplas.

-- 
!-
Atenciosamente: Robson Massaki Kobayashi
SSOP/COINF/STI - TRE/MS
(67)3326-5428 ou (67)3326-4166 ramal 218
!-
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-16 Por tôpico Robson Kobayashi - TRE/MS
Olá Euler,

Fiquei curioso e executei o teste conforme suas dicas, realmente o desempenho 
caiu 3x.

Segue abaixo o resultado do benchmark:

#pgbench -h localhost -p 5432 -c 10 -T 600 -d pgbench

transaction type: TPC-B (sort of)
scaling factor: 10
query mode: simple
number of clients: 10
number of threads: 1
duration: 600 s
number of transactions actually processed: 123431
tps = 205.709853 (including connections establishing)
tps = 205.716761 (excluding connections establishing)



Bom, fica de parâmetro para quem tiver utilizando máquina virtual (vmware). Em 
máquina física, o resultado deve ser bem melhor.

- Mensagem original -
De: Robson Kobayashi - TRE/MS robson.kobaya...@tre-ms.jus.br
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 16 de Maio de 2013 12:56:58
Assunto: Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

Olá Euler,

Agradeço pelas observações,

Realmente 100 transações é pouco. Na verdade me utilizei estes valores pois 
foram utilizados em outro benchmark que está publicado na Internet e precisava 
saber se a minha máquina estava melhor, semelhante ou pior ao do teste 
(felizmente ficou 6x melhor).

-- 
!-
Atenciosamente: Robson Massaki Kobayashi
SSOP/COINF/STI - TRE/MS
(67)3326-5428 ou (67)3326-4166 ramal 218
!-
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-15 Por tôpico Filho Arrais
Não entendi porque não chegou no email. Algo de errado?


Em 14 de maio de 2013 17:23, Filho Arrais kuruminbra...@gmail.comescreveu:

 Olá pessoal,

 Utilizamos um sistema que tem como base de dados o PostreSQL 8.4.

 Migrei para um novo servidor, por falta de tempo e conhecimento, utilizei
 o mesmo postrgresql.conf

 Gostaria de discutir com os senhores que tem mais conhecimento, sobretudo
 em ambientes reais de produção, quais ajustes podem ser realizados no
 PostgreSQL e se os atuais parâmetros estão aceitáveis para o nosso cenário.

 Estou com a seguinte configuração.

  Dois Processadores Intel Xeon E5-2650 0  2.00GHz ( total de 32 core)
  24 GB de memória RAM
  8 Discos SAS 15k com dois grupos de RAID10 ( primeiro Raid10 pro sistema
 operacional e PG_XLOG em partições distintas, segundo Raid10 unicamente pro
 PGDATA)
  Sistema Operacional: Ubuntu Server 13.04
  Kernel: 3.8.0-19-generic
  Sistema de arquivo: EXT4
  PostgreSQL: 8.4.17

 A quantidade de usuários do sistema é de 180, porém o número de
 conexões simultâneas está por volta de 200.


 Logo abaixo, segue as configurações do postgresql.conf e sysctl.conf

 ==

 postgresql.conf

 listen_addresses = '*'
 port = 5432
 max_connections = 300
 shared_buffers = 6144MB
 temp_buffers = 64MB
 work_mem = 96MB
 maintenance_work_mem = 70MB
 fsync = on
 full_page_writes = on
 wal_buffers = 2048kB
 checkpoint_segments = 48
 checkpoint_timeout = 45min
 effective_cache_size = 5461MB
 log_filename = 'postgresql-%a.log'
 log_line_prefix = '[ %u@%h %d - %t ] '
 autovacuum_max_workers = 3
 autovacuum_naptime = 40min
 datestyle = 'iso, dmy'
 client_encoding = LATIN1
 lc_messages = 'C'
 lc_monetary = 'pt_BR.UTF-8'
 lc_numeric = 'pt_BR.UTF-8'
 lc_time = 'pt_BR.UTF-8'
 default_text_search_config = 'pg_catalog.portuguese'
 deadlock_timeout = 3s
 add_missing_from = on
 default_with_oids = on
 escape_string_warning = off

 Tive olhando no wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Serverque o 
 shared_buffers
 pode receber  1/4 da memoria (dependendo do ambiente), por isso esse valor
 de 6144 MB

 ===

 No sysctl.conf

 kernel.shmmax = 16823421610
 kernel.shmall = 16823421610


 De acordo com o manual do ERP, o cálculo desse valor seria:

 kernel.shmmax = TOTAL_RAM_EM_BYTES / 3 * 2
 kernel.shmall= TOTAL_RAM_EM_BYTES / 3 * 2


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-15 Por tôpico Flavio Henrique Araque Gurgel

Em 15-05-2013 09:42, Filho Arrais escreveu:

Não entendi porque não chegou no email. Algo de errado?


O e-mail chegou sim.
O que está errado é que você quer uma configuração genérica e isso não 
existe.


Podemos tentar ajudar um pouco aqui, mas tuning assim é melhor você ler 
mais e aprender um pouco. São centenas de variáveis e cenários. Não há 
fórmula mágica.


Seu sistema está com algum tipo de lentidão identificada?


Utilizamos um sistema que tem como base de dados o PostreSQL 8.4.

Migrei para um novo servidor, por falta de tempo e conhecimento,
utilizei o mesmo postrgresql.conf

Gostaria de discutir com os senhores que tem mais conhecimento,
sobretudo em ambientes reais de produção, quais ajustes podem ser
realizados no PostgreSQL e se os atuais parâmetros estão aceitáveis
para o nosso cenário.

Estou com a seguinte configuração.

  Dois Processadores Intel Xeon E5-2650 0  2.00GHz ( total de 32 core)
  24 GB de memória RAM
  8 Discos SAS 15k com dois grupos de RAID10 ( primeiro Raid10 pro
sistema operacional e PG_XLOG em partições distintas, segundo Raid10
unicamente pro PGDATA)


Você fez mais ou menos certo.
O ideal seria que o disco (ou RAID) pro pg_xlog fosse só pra ele.
O S.O. você pode colocar num SATA, por exemplo.



  Sistema Operacional: Ubuntu Server 13.04
  Kernel: 3.8.0-19-generic
  Sistema de arquivo: EXT4
  PostgreSQL: 8.4.17


Bom. Atualizado na série.



A quantidade de usuários do sistema é de 180, porém o número de
conexões simultâneas está por volta de 200.


Considere usar um pool como o PgBouncer. Seu sistema é feito em que 
linguagem?



Logo abaixo, segue as configurações do postgresql.conf e sysctl.conf

==

postgresql.conf

listen_addresses = '*'
port = 5432
max_connections = 300


Vide pergunta acima.


shared_buffers = 6144MB


Muito. Seu sistema faz o que? Que tipo de carga?


temp_buffers = 64MB
work_mem = 96MB


Não dá pra precisar aqui porque você usa este valor.


maintenance_work_mem = 70MB


Aqui também não. Qual o tamanho de suas tabelas?


fsync = on
full_page_writes = on
wal_buffers = 2048kB


Qual o wal_sync_method?


checkpoint_segments = 48
checkpoint_timeout = 45min


Furado. 45 minutos é um exagero tremendo.
Procure ficar na faixa dos 5 minutos e ajustar checkpoint_segments para 
mais. Considere logar os checkpoints para saber se estão começando por 
tempo ou falta de segmentos e depois ajuste o valor.



effective_cache_size = 5461MB


Coloque aqui sua memória RAM + eventuais caches de disco da controladora.


log_filename = 'postgresql-%a.log'
log_line_prefix = '[ %u@%h %d - %t ] '
autovacuum_max_workers = 3


Pode ser necessário mais. Considere log_autovacuum = 0 para saber o que 
acontece com seu banco.



autovacuum_naptime = 40min


Isto é um erro brutal.
Volte pros 60s default.


datestyle = 'iso, dmy'
client_encoding = LATIN1
lc_messages = 'C'
lc_monetary = 'pt_BR.UTF-8'
lc_numeric = 'pt_BR.UTF-8'
lc_time = 'pt_BR.UTF-8'
default_text_search_config = 'pg_catalog.portuguese'


Isto aqui depende só de sua aplicação e não tem relaço com desempenho.


deadlock_timeout = 3s


Por quê?


add_missing_from = on


Sua aplicação é ruim?


default_with_oids = on


Sua aplicação foi feita para PostgreSQL 7.4 ou anterior?


escape_string_warning = off

Tive olhando no
wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server que
o shared_buffers  pode receber  1/4 da memoria (dependendo do
ambiente), por isso esse valor de 6144 MB


Muito. Considere no máximo 4GiB para sistemas comuns. Mais só em caso 
muito especiais e menos se seu sistema for mais de relatórios e menos OLTP.




===

No sysctl.conf

kernel.shmmax = 16823421610


Só depende de seu shared_buffers, precisa ser maior que ele e só.


kernel.shmall = 16823421610


Sem influência neste caso.


De acordo com o manual do ERP, o cálculo desse valor seria:

kernel.shmmax = TOTAL_RAM_EM_BYTES / 3 * 2
kernel.shmall= TOTAL_RAM_EM_BYTES / 3 * 2


Tudo completamente errado. Veja o que escrevi acima.
Acho que você precisa ler bastante.

[]s


__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-15 Por tôpico Filho Arrais
Em 15 de maio de 2013 10:02, Flavio Henrique Araque Gurgel 
fla...@4linux.com.br escreveu:

 Em 15-05-2013 09:42, Filho Arrais escreveu:

  Não entendi porque não chegou no email. Algo de errado?


 O e-mail chegou sim.


E que pra mim não tinha chegado, desculpem-me.


 O que está errado é que você quer uma configuração genérica e isso não
 existe.

 Podemos tentar ajudar um pouco aqui, mas tuning assim é melhor você ler
 mais e aprender um pouco. São centenas de variáveis e cenários. Não há
 fórmula mágica.

 Seu sistema está com algum tipo de lentidão identificada?

 Com o passar das horas, ele perde um pouco do rendimento, vou chutar ai
uns 10% na hora de retorna as informações solicitadas.



  Utilizamos um sistema que tem como base de dados o PostreSQL 8.4.

 Migrei para um novo servidor, por falta de tempo e conhecimento,
 utilizei o mesmo postrgresql.conf

 Gostaria de discutir com os senhores que tem mais conhecimento,
 sobretudo em ambientes reais de produção, quais ajustes podem ser
 realizados no PostgreSQL e se os atuais parâmetros estão aceitáveis
 para o nosso cenário.

 Estou com a seguinte configuração.

   Dois Processadores Intel Xeon E5-2650 0  2.00GHz ( total de 32 core)
   24 GB de memória RAM
   8 Discos SAS 15k com dois grupos de RAID10 ( primeiro Raid10 pro
 sistema operacional e PG_XLOG em partições distintas, segundo Raid10
 unicamente pro PGDATA)


 Você fez mais ou menos certo.
 O ideal seria que o disco (ou RAID) pro pg_xlog fosse só pra ele.
 O S.O. você pode colocar num SATA, por exemplo.

 OK.



Sistema Operacional: Ubuntu Server 13.04
   Kernel: 3.8.0-19-generic
   Sistema de arquivo: EXT4
   PostgreSQL: 8.4.17


 Bom. Atualizado na série.

 OK



 A quantidade de usuários do sistema é de 180, porém o número de
 conexões simultâneas está por volta de 200.


 Considere usar um pool como o PgBouncer. Seu sistema é feito em que
 linguagem?

Irei pesquisar o PgBouncer. O sistema é feito em WinDev.



  Logo abaixo, segue as configurações do postgresql.conf e sysctl.conf

 ==**==**
 ==

 postgresql.conf

 listen_addresses = '*'
 port = 5432
 max_connections = 300


 Vide pergunta acima.

  shared_buffers = 6144MB


 Muito. Seu sistema faz o que? Que tipo de carga?


É um sistema para transportadora.

Faz toda a parte de Gestão Corporativa. Gestão de Frotas, Contabilidade,
Sped Contábil, Fiscal e FCont, CT-e, NF-e, Intregração com sistema de
rastreamento de veículos.



  temp_buffers = 64MB
 work_mem = 96MB


 Não dá pra precisar aqui porque você usa este valor.

  maintenance_work_mem = 70MB


 Aqui também não. Qual o tamanho de suas tabelas?


As 10 maiores são essas, no total a base ultrapassa 30 GB

1  3676 MB
2  3623 MB
3  3147 MB
4  2253 MB
5  2108 MB
6  1598 MB
7  1159 MB
8  906 MB
9  692 MB
10 614 MB





  fsync = on
 full_page_writes = on
 wal_buffers = 2048kB


 Qual o wal_sync_method?


Esse parâmetro não está sendo utilizado.


  checkpoint_segments = 48
 checkpoint_timeout = 45min


 Furado. 45 minutos é um exagero tremendo.
 Procure ficar na faixa dos 5 minutos e ajustar checkpoint_segments para
 mais. Considere logar os checkpoints para saber se estão começando por
 tempo ou falta de segmentos e depois ajuste o valor.

  effective_cache_size = 5461MB


 Coloque aqui sua memória RAM + eventuais caches de disco da controladora.


  log_filename = 'postgresql-%a.log'
 log_line_prefix = '[ %u@%h %d - %t ] '
 autovacuum_max_workers = 3


 Pode ser necessário mais. Considere log_autovacuum = 0 para saber o que
 acontece com seu banco.

  autovacuum_naptime = 40min


 Isto é um erro brutal.
 Volte pros 60s default.


  datestyle = 'iso, dmy'
 client_encoding = LATIN1
 lc_messages = 'C'
 lc_monetary = 'pt_BR.UTF-8'
 lc_numeric = 'pt_BR.UTF-8'
 lc_time = 'pt_BR.UTF-8'
 default_text_search_config = 'pg_catalog.portuguese'


 Isto aqui depende só de sua aplicação e não tem relaço com desempenho.

Essa parte eu poderia ter omitido, perdão.


  deadlock_timeout = 3s


 Por quê?

Também não sei o porque desse valor.


  add_missing_from = on


 Sua aplicação é ruim?

Não é ruim, também não é das melhores. Temos um servidor aplicação onde
utilizamos um atalho nas máquinas, porém a conexão com o banco é feita via
ODBC.


  default_with_oids = on


 Sua aplicação foi feita para PostgreSQL 7.4 ou anterior?

Essa informação eu não sei, suspeito que tenha sida projeta a partir do
PostreSQL 8.2.3


  escape_string_warning = off

 Tive olhando no
 
 wiki.postgresql.org/wiki/**Tuning_Your_PostgreSQL_Serverhttp://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
 
 http://wiki.postgresql.org/**wiki/Tuning_Your_PostgreSQL_**Serverhttp://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
 que

 o 

Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-15 Por tôpico Robson Kobayashi - TRE/MS
Olá Filho,


Não sou nenhum expert, mas no caso do SO, melhor vc utilizar as versões LTS do 
Ubuntu (10.04, 12.04).


Vc já usou o pgbench? Não é a melhor ferramenta para benchmark, mas só para ter 
uma idéia, aqui em uma máquina virtual com 2vCPU e 2GB de RAM consegui em média 
590 tps.


Criação do banco de testes
./createdb -U postgres pgbench
Criação das tabelas e população do banco

./pgbench -i -h localhost -p 5432 -s 10 -U postgres -d pgbench
Teste propriamente dito:
./pgbench -h localhost -p 5432 -c 50 -t 100 -U postgres -d pgbench
Remoção do banco de testes
./dropdb -U postgres pgbench


Novamente informo que não sou nenhum expert, começei agora com o Postgre, mas 
serve como parâmetro (se sua máquina física com configuração bem melhor não 
conseguir esses tps, alguma coisa está errada com seu DB.


Abraços

- Mensagem original -

De: Filho Arrais kuruminbra...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Terça-feira, 14 de Maio de 2013 16:23:05
Assunto: [pgbr-geral] Configuração e Tunning Postgre 8.4

Olá pessoal,


Utilizamos um sistema que tem como base de dados o PostreSQL 8.4.


Migrei para um novo servidor, por falta de tempo e conhecimento, utilizei o 
mesmo postrgresql.conf


Gostaria de discutir com os senhores que tem mais conhecimento, sobretudo em 
ambientes reais de produção, quais ajustes podem ser realizados no PostgreSQL e 
se os atuais parâmetros estão aceitáveis para o nosso cenário.


Estou com a seguinte configuração.


Dois Processadores Intel Xeon E5-2650 0 2.00GHz ( total de 32 core)
24 GB de memória RAM
8 Discos SAS 15k com dois grupos de RAID10 ( primeiro Raid10 pro sistema 
operacional e PG_XLOG em partições distintas, segundo Raid10 unicamente pro 
PGDATA)
Sistema Operacional: Ubuntu Server 13.04
Kernel: 3.8.0-19-generic
Sistema de arquivo: EXT4
PostgreSQL: 8.4.17


A quantidade de usuários do sistema é de 180, porém o número de conexões 
simultâneas está por volta de 200.




Logo abaixo, segue as configurações do postgresql.conf e sysctl.conf


==


postgresql.conf


listen_addresses = '*'

port = 5432
max_connections = 300
shared_buffers = 6144MB
temp_buffers = 64MB
work_mem = 96MB
maintenance_work_mem = 70MB
fsync = on
full_page_writes = on
wal_buffers = 2048kB
checkpoint_segments = 48
checkpoint_timeout = 45min
effective_cache_size = 5461MB
log_filename = 'postgresql-%a.log'
log_line_prefix = '[ %u@%h %d - %t ] '
autovacuum_max_workers = 3
autovacuum_naptime = 40min
datestyle = 'iso, dmy'
client_encoding = LATIN1
lc_messages = 'C'
lc_monetary = 'pt_BR.UTF-8'
lc_numeric = 'pt_BR.UTF-8'
lc_time = 'pt_BR.UTF-8'
default_text_search_config = 'pg_catalog.portuguese'
deadlock_timeout = 3s
add_missing_from = on
default_with_oids = on
escape_string_warning = off


Tive olhando no wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server que o 
shared_buffers pode receber 1/4 da memoria (dependendo do ambiente), por isso 
esse valor de  6144 MB


===




No sysctl.conf



kernel.shmmax = 16823421610
kernel.shmall = 16823421610




De acordo com o manual do ERP, o cálculo desse valor seria:


kernel.shmmax = TOTAL_RAM_EM_BYTES / 3 * 2
kernel.shmall = TOTAL_RAM_EM_BYTES / 3 * 2




___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--
!-
Atenciosamente: Robson Massaki Kobayashi
SSOP/COINF/STI - TRE/MS
(67)3326-5428 ou (67)3326-4166 ramal 218
!-
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-15 Por tôpico Euler Taveira
On 15-05-2013 15:08, Robson Kobayashi - TRE/MS wrote:
 Vc já usou o pgbench? Não é a melhor ferramenta para benchmark, mas só
 para ter uma idéia, aqui em uma máquina virtual com 2vCPU e 2GB de RAM
 consegui em média 590 tps.
 
 Criação do banco de testes
  ./createdb -U postgres pgbench
 Criação das tabelas e população do banco
 ./pgbench -i -h localhost -p 5432 -s 10 -U postgres -d pgbench 
 Teste propriamente dito: 
 ./pgbench -h localhost -p 5432 -c 50 -t 100 -U postgres -d pgbench
 Remoção do banco de testes
 ./dropdb -U postgres pgbench
 
100 transações é um valor muito baixo; o teste será somente por alguns
segundos. Uma alternativa é o utilizar o parâmetro -T (tempo) ao invés
do parâmetro -t (número de transações). Um bom teste deve durar pelo
menos 10 minutos.

Além disso, *nunca* utilize um valor de conexões (-c) maior do que fator
de escala (-s); vários UPDATEs estarão concorrendo pelas mesmas tuplas.


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Configuração e Tunning Postgre 8.4

2013-05-14 Por tôpico Filho Arrais
Olá pessoal,

Utilizamos um sistema que tem como base de dados o PostreSQL 8.4.

Migrei para um novo servidor, por falta de tempo e conhecimento, utilizei o
mesmo postrgresql.conf

Gostaria de discutir com os senhores que tem mais conhecimento, sobretudo
em ambientes reais de produção, quais ajustes podem ser realizados no
PostgreSQL e se os atuais parâmetros estão aceitáveis para o nosso cenário.

Estou com a seguinte configuração.

 Dois Processadores Intel Xeon E5-2650 0  2.00GHz ( total de 32 core)
 24 GB de memória RAM
 8 Discos SAS 15k com dois grupos de RAID10 ( primeiro Raid10 pro sistema
operacional e PG_XLOG em partições distintas, segundo Raid10 unicamente pro
PGDATA)
 Sistema Operacional: Ubuntu Server 13.04
 Kernel: 3.8.0-19-generic
 Sistema de arquivo: EXT4
 PostgreSQL: 8.4.17

A quantidade de usuários do sistema é de 180, porém o número de
conexões simultâneas está por volta de 200.


Logo abaixo, segue as configurações do postgresql.conf e sysctl.conf

==

postgresql.conf

listen_addresses = '*'
port = 5432
max_connections = 300
shared_buffers = 6144MB
temp_buffers = 64MB
work_mem = 96MB
maintenance_work_mem = 70MB
fsync = on
full_page_writes = on
wal_buffers = 2048kB
checkpoint_segments = 48
checkpoint_timeout = 45min
effective_cache_size = 5461MB
log_filename = 'postgresql-%a.log'
log_line_prefix = '[ %u@%h %d - %t ] '
autovacuum_max_workers = 3
autovacuum_naptime = 40min
datestyle = 'iso, dmy'
client_encoding = LATIN1
lc_messages = 'C'
lc_monetary = 'pt_BR.UTF-8'
lc_numeric = 'pt_BR.UTF-8'
lc_time = 'pt_BR.UTF-8'
default_text_search_config = 'pg_catalog.portuguese'
deadlock_timeout = 3s
add_missing_from = on
default_with_oids = on
escape_string_warning = off

Tive olhando no wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server que
o shared_buffers  pode receber  1/4 da memoria (dependendo do ambiente),
por isso esse valor de 6144 MB

===

No sysctl.conf

kernel.shmmax = 16823421610
kernel.shmall = 16823421610


De acordo com o manual do ERP, o cálculo desse valor seria:

kernel.shmmax = TOTAL_RAM_EM_BYTES / 3 * 2
kernel.shmall= TOTAL_RAM_EM_BYTES / 3 * 2
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral