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

Responder a