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