Em 4 de maio de 2010 19:01, Marcio Maestrello <[email protected]>escreveu:
> Utilizamos o Postgres na empresa há dois anos, em um sistema completo > (ERP). > > Acontece que de uns tempo pra cá o sistema se tornou muito lento. As > consultas ficaram lentas. O cadastro de notas fiscais que antes era bem > rápido, agora se tornou muito lento nas pesquisas e nas inclusões. > Eliminamos todos os problemas de redes e infraestrutura, chegando a > conclusão que se trata do banco de dados. > > O DBA comentou que a solução seria a separação dos índices do banco de > dados. Assim, teríamos dois discos, um com os índices e outro com o banco de > dados. Esse procedimento é complexo, visto que terei que desmontar um RAID 5 > e refazê-lo e não tenho certeza que isso dará um desempenho maior no > sistema. > > Gostaria de saber se alguém já utiliza essa solução de índices separados e > se realmente vale arriscar todo arranjo já feito para se montar algo assim. > > > Será que com a separação terei mais desempenho?? > Sim e não. Utilizar um RAID 5 com certeza não é a melhor opção. RAID 10 é com certeza melhor. Não sei exatamente qual o seu cenário, mas suponhamos que você tenha todos os seus dados em um RAID 10 com 4 discos idênticos. A performance de gravação é 2x a de um disco isolado (sem RAID) e a leitura é 4x a de um disco isolado. Agora suponhamos que você resolva fazer 2 RAIDs 1 (você não vai deixar de usar espelhamento nos discos, certo? Você NÃO QUER fazer isso). Então cada um dos RAIDs isolados tem a performance de 1x em gravação e 2x em leitura. Mas para ter uma boa performance balanceando as operações de leitura e gravação nos dois RAIDs é uma arte que só era possível em sistemas simples com poucas tabelas. Hoje todo mundo usa RAID. No geral é mais rápido, mais fácil de manter e mais seguro. Antigamente (ok, há uns 10 anos atrás) não havia RAID a não ser em custos exorbitantes então esta tática de distribuir tudo fazia sentido, hoje não. Agora, se o seu DBA for bom, ele poderá lhe dizer onde está o gargalo. Não parece ser o seu caso, então não podemos dizer muito sobre o seu problema. Recomendo contratar uma consultoria para verificar melhor o seu problema antes de sair em aventuras desvairadas por aí. O problema pode estar em diversos lugares (em geral nunca é um único problema): - As estatísticas do otimizador podem não estar atualizadas ou sendo atualizadas da melhor forma possível; - Alguns índices podem estar precisando serem reorganizados; - Você pode clusterizar (organizar por índices) algumas tabelas; - Você pode fazer um ajuste fino os parâmetros de memória do SO/PostgreSQL; - Você pode fazer espremer o SO / Sistema de arquivos para ganhar um pouco mais de performance; - Você pode ter algumas consultas mal escritas que precisam de ajustes (quando a base era pequena isso não se fazia notar..) - Você pode ter um gargalo de memória/cpu/discos e precisar de um upgrade no servidor. E podem ser coisas mais bizaras, estou citando apenas algumas possibilidades. Enfim, may the force be with you. []s Fábio Telles > Agradeço os comentários. > > > > Marcio - TI > > > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: [email protected]
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
