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

Responder a