[FUG-BR] Benchmark Performance -- PostgreSQL -- FreeBSD x Linux

Diego Augusto Dalmolin dalmolin em gmail.com
Quinta Março 27 11:40:38 BRT 2008


desculpe
o link certo é esse
http://developer.postgresql.org/pgdocs/postgres/kernel-resources.html

2008/3/27 Diego Augusto Dalmolin <dalmolin em gmail.com>:

> 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.
>
> 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 <edufrazao em gmail.com>:
>
> 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: diegoaugustodalmolin em hotmail.com
> Mail: dalmolin em gmail.com




-- 
--------------------------------------------------
Diego Augusto Dalmolin
Certificado LINUX LPI
Cel: (41) 8436-2448
Msn: diegoaugustodalmolin em hotmail.com
Mail: dalmolin em gmail.com


Mais detalhes sobre a lista de discussão freebsd