2008/3/27 Diego Augusto Dalmolin <[EMAIL PROTECTED]>:
> Eduardo
>
>  Seguindo algumas recomendações da oracle, talvez possa se aplicar ao pgsql
>  (e talvez ao seu caso)
>
>  A oracle recomenda o SAME (strip and mirror everything) ou seja raid 0+1 ou
>  1+0 ou 10.
>  A raid 5 é mais lenta para operações de escrita.

Melhor explicando. O RAID 5 pdoe ser desastroso para pequenas escritas,
como é um bando de dados. Acho que o único bando de dados que pode
se beneficiar de RAID 5 é o CDB, Contant Data Base (Ver nos ports). Mas
o RAID 5 pode ser muito rápido para escritas GRANDES e SEQUENCIAIS,
nas quais blocos de muitos MB são escritos sequencialmente. Neste caso
a controladora não precisa ficar calculando a paridade com o que está em
disco.

O RAID 5 SEMPRE implica em leitura antes de escrita, para pequenas
escritas, para recalcular o a paridade. Digamos que vai escrever um
setor, então ele e a paridade precisam ser lidos, para desfazer a paridade
dele, e poder escrever a paridade correta para o novo setor do disco.

Espelhamento, RAID 1, não implica em leitura antes de escrita. Pode
atrasar a escrita, pois o tempo de escrita seria o tempo levado para
escrever no HD que mais demorar, o mais atrasado, que pode mudar
devido rotações, seek etc. Mas a escrita pode ser acelerada, pois pode
ler alternadamante, e como bancos de dados e sistemas de arquivos
tem que ler dados sobre posição onde está certa posição no arquivo
(Sei que expliquei isto mal), então pode ser que até a escrita acabe
sendo acelerada devido à aceleração das leituras necessárias pelo
sistema operacional antes de fazer a escrita.

Por favor, refaça os testes em RAID 1 e RAID 10, e nos apresente os
resultados.



João Rocha.


>
>  Existe alguns parametros no freebsd pra semafoto e shmem no pgsql
>  Vc pode ter mais informacoes em:
>  http://www.freebsddiary.org/postgresql.php
>
>  2008/3/27 Eduardo Frazão <[EMAIL PROTECTED]>:
>
>
>
>  > Bom dia pessoal! Estamos desenvolvendo um sistema de gestão, que utilizará
>  > como SGBD, PostgreSQL.
>  >
>  > Decidi fazer alguns testes antes de escolher qual S.O. vai rodar o banco,
>  > e
>  > publicar os resultados aqui, para obter alguma ajuda, inclusive nos
>  > tunings.
>  >
>  > Utilizei o sysbench ( http://sysbench.sf.net ) para realizar os testes.
>  >
>  > Configuração do servidor:
>  > Dual Intel Xeon E5410 QuadCore 12MB Cache por CPU 1333Mhz FSB EM64T // 8GB
>  > DDR2 ECC FBD // Controladora RAID Perc6/i ( LSI Logic MegaRaid SAS ) 256MB
>  > Cache PCI-E // 4 Discos SAS Segate  ST3146855SS  146GB / 15k RPM em Raid 5
>  > // Duas Fontes de alimentação de 730W Reais.
>  >
>  >
>  > Configurações da tabela de Testes:
>  > Base com 1 Milhão de registros Randômicos
>  >
>  > Quantidade Limite de Requisições: 10 000
>  >
>  > Compilação do SysBench em ambos os sistemas: ( -march=nocona -O3 -pipe
>  > -fomit-frame-pointer -m64 )
>  > Versão: 0.4.8
>  >
>  > Comando de preparação do banco de dados:
>  > #  ./sysbench --max-requests=10000 --test=oltp --pgsql-user=postgres
>  > --pgsql-password=XXX --pgsql-db=sysbench --db-driver=pgsql
>  > --oltp-dist-type=special --oltp-table-size=1000000 --oltp-read-only=off
>  > --num-threads=16 prepare
>  >
>  > Comando para realização do teste
>  > #  ./sysbench --max-requests=10000 --test=oltp --pgsql-user=postgres
>  > --pgsql-password=XXX --pgsql-db=sysbench --db-driver=pgsql
>  > --oltp-dist-type=special --oltp-table-size=1000000 --oltp-read-only=off
>  > --num-threads=16 run
>  >
>  >
>  >
>  > *******************************************************
>  > * Resultado do primeiro teste
>  > *******************************************************
>  >
>  > Sistema Operacional: FreeBSD 7.0Stable AMD64 SMP - Scheduller ULE (
>  > Kernel:
>  > removidos apenas suporte a hardware não existentes, e adicionado a opção:
>  > options HZ=1000 )
>  > VERSÃO do PostgreSQL: 8.3.1 - ( Flags de compilação: -march=nocona -O3
>  > -pipe
>  > -funronll-loops )
>  >
>  > Resultado:
>  >
>  > OLTP test statistics:
>  >    queries performed:
>  >        read:                            140070
>  >        write:                           50025
>  >        other:                           20010
>  >        total:                           210105
>  >    transactions:                        10005  (781.40 per sec.)
>  >    deadlocks:                           0      (0.00 per sec.)
>  >    read/write requests:                 190095 (14846.69 per sec.)
>  >    other operations:                    20010  (1562.81 per sec.)
>  >
>  > Test execution summary:
>  >    total time:                          12.8039s
>  >    total number of events:              10005
>  >    total time taken by event execution: 204.6433
>  >    per-request statistics:
>  >         min:                            0.0061s
>  >         avg:                            0.0205s
>  >         max:                            1.9591s
>  >         approx.  95 percentile:         0.0157s
>  >
>  > Threads fairness:
>  >    events (avg/stddev):           625.3125/10.93
>  >    execution time (avg/stddev):   12.7902/0.00
>  >
>  >
>  > ********************************************************
>  > * Resultado do Segundo teste
>  > ********************************************************
>  >
>  > Sistema Operacional: FreeBSD 7.0Stable AMD64 SMP - Scheduller ULE (
>  > Kernel:
>  > removidos apenas suporte a hardware não existentes, e adicionado a opção:
>  > options HZ=1000 )
>  > VERSÃO do PostgreSQL: 8.2.7 ( Flags de compilação: -march=nocona -O3 -pipe
>  > -funronll-loops )
>  >
>  > OLTP test statistics:
>  >    queries performed:
>  >        read:                            140056
>  >        write:                           50020
>  >        other:                           20008
>  >        total:                           210084
>  >    transactions:                        10004  (1040.60 per sec.)
>  >    deadlocks:                           0      (0.00 per sec.)
>  >    read/write requests:                 190076 (19771.31 per sec.)
>  >    other operations:                    20008  (2081.19 per sec.)
>  >
>  > Test execution summary:
>  >    total time:                          9.6137s
>  >    total number of events:              10004
>  >    total time taken by event execution: 153.6019
>  >    per-request statistics:
>  >         min:                            0.0040s
>  >         avg:                            0.0154s
>  >         max:                            0.6847s
>  >         approx.  95 percentile:         0.0266s
>  >
>  > Threads fairness:
>  >    events (avg/stddev):           625.2500/10.92
>  >    execution time (avg/stddev):   9.6001/0.00
>  >
>  >
>  >
>  > *****************************************************
>  > * Resultado do Terceiro Teste
>  > *****************************************************
>  >
>  > Sistema Operacional: Gentoo Linux 2007.0 Stage 3 AMD64 - Kernel: Gentoo
>  > Sources 2.6.23 SMP Core2/Newer Xeons (EM64T)
>  > Versão do Banco: PostgreSQL 8.3.1 ( Flags de compilação: -march=nocona -O3
>  > -pipe -funronll-loops -m64 )
>  >
>  > Resultado:
>  >
>  > OLTP test statistics:
>  >    queries performed:
>  >        read:                            140000
>  >        write:                           50000
>  >        other:                           20000
>  >        total:                           210000
>  >    transactions:                        10000  (1476.05 per sec.)
>  >    deadlocks:                           0      (0.00 per sec.)
>  >    read/write requests:                 190000 (28045.01 per sec.)
>  >    other operations:                    20000  (2952.11 per sec.)
>  >
>  > Test execution summary:
>  >    total time:                          6.7748s
>  >    total number of events:              10000
>  >    total time taken by event execution: 108.1316
>  >    per-request statistics:
>  >         min:                            0.0022s
>  >         avg:                            0.0108s
>  >         max:                            0.2696s
>  >         approx.  95 percentile:         0.0189s
>  >
>  > Threads fairness:
>  >    events (avg/stddev):           625.0000/8.70
>  >    execution time (avg/stddev):   6.7582/0.00
>  >
>  > ---
>  >
>  > ***************************************
>  > *** Resultado do Quarto Teste
>  > ***************************************
>  >
>  > Sistema Operacional: Gentoo Linux 2007.0 Stage 3 AMD64 - Kernel: Gentoo
>  > Sources 2.6.23 SMP Core2/Newer Xeons (EM64T)
>  > Versão do Banco: PostgreSQL 8.2.7 ( Flags de compilação: -march=nocona -O3
>  > -pipe -funronll-loops -m64 )
>  >
>  > Resultado:
>  >
>  > OLTP test statistics:
>  >    queries performed:
>  >        read:                            140000
>  >        write:                           50000
>  >        other:                           20000
>  >        total:                           210000
>  >    transactions:                        10000  (189.47 per sec.)
>  >    deadlocks:                           0      (0.00 per sec.)
>  >    read/write requests:                 190000 (3599.84 per sec.)
>  >    other operations:                    20000  (378.93 per sec.)
>  >
>  > Test execution summary:
>  >    total time:                          52.7801s
>  >    total number of events:              10000
>  >    total time taken by event execution: 843.9876
>  >    per-request statistics:
>  >         min:                            0.0032s
>  >         avg:                            0.0844s
>  >         max:                            0.2446s
>  >         approx.  95 percentile:         0.1395s
>  >
>  > Threads fairness:
>  >    events (avg/stddev):           625.0000/15.79
>  >    execution time (avg/stddev):   52.7492/0.02
>  >
>  >
>  > *********************************
>  > * Resultado do Quinto Teste
>  > *********************************
>  >
>  > Sistema Operacional: Gentoo Linux 2007.0 Stage 3 AMD64 - Kernel: Gentoo
>  > Sources 2.6.23 SMP Core2/Newer Xeons (EM64T)
>  > Versão do Banco: PostgreSQL 8.2.7 ( Flags de compilação: -march=nocona -O3
>  > -pipe -funronll-loops -m64 )
>  > *** COMPILADOR:  Intel C Compiler ( ICC ) - Versão: 10.0.0.26 Intel64
>  >
>  >
>  > Resultado:
>  >
>  > OLTP test statistics:
>  >    queries performed:
>  >        read:                            140014
>  >        write:                           50005
>  >        other:                           20002
>  >        total:                           210021
>  >    transactions:                        10001  (1528.89 per sec.)
>  >    deadlocks:                           0      (0.00 per sec.)
>  >    read/write requests:                 190019 (29049.00 per sec.)
>  >    other operations:                    20002  (3057.79 per sec.)
>  >
>  > Test execution summary:
>  >    total time:                          6.5413s
>  >    total number of events:              10001
>  >    total time taken by event execution: 104.4052
>  >    per-request statistics:
>  >         min:                            0.0025s
>  >         avg:                            0.0104s
>  >         max:                            0.2413s
>  >         approx.  95 percentile:         0.0186s
>  >
>  > Threads fairness:
>  >    events (avg/stddev):           625.0625/13.33
>  >    execution time (avg/stddev):   6.5253/0.00
>  >
>  > Observação: Não pude usar ICC no FreeBSD, pois o port ainda não suporta o
>  > compilador X86_64
>  >
>  > ---
>  >
>  >
>  >
>  >
>  > Pessoal, por favor. A Idéia deste benchmark e POST não foi gerar flames.
>  > Na
>  > verdade, gostaria de saber se alguem me indica técnicas de Tunnings no
>  > FreeBSD para que eu possa fazer mais testes, e compartilhar os resultados
>  > com todos!
>  >
>  > Muito obrigado!
>  >
>  > Um abraço
>  >
>  > Eduardo Frazão
>  > -------------------------
>  > Histórico: http://www.fug.com.br/historico/html/freebsd/
>  > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >
>
>
>
>  --
>  --------------------------------------------------
>  Diego Augusto Dalmolin
>  Certificado LINUX LPI
>  Cel: (41) 8436-2448
>  Msn: [EMAIL PROTECTED]
>  Mail: [EMAIL PROTECTED]
>
>
> -------------------------
>  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.goffredo.eti.br
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a