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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a