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