On Tue, 23 Sep 2008 11:30:29 -0300, "Fábio Telles Rodriguez"
<[EMAIL PROTECTED]> wrote:
> 2008/9/23 volpato <[EMAIL PROTECTED]>
> 
> Veja, não adianta ter vários processadores se você não conseguir
> paralelizar suas operações. Seria bom as cargas puderem ser 
> divididas em trabalhos distintos. 

As empresas investem em hardware para não mexerem na aplicação,
infelizmente esta é a realidade...
O que vamos ganhar é no clock de um core de um processador.
É pouco mas já é alguma coisa...

> Fora isso. 4 discos parece uma configuração bem modesta. Que
> tal 16 discos? Os discos SAS estão por um preço bem camarada. 
> Compre uma boa controladora, muitos discos e seja feliz.

R$1800 a unidade, não temos como fugir muito disso :(
A controladora é da IBM com bateria, não tenho exato o modelo 
mas creio que seja boa.
Com certeza é uma conf modesta, mas estes discos vão estar em
um storage com suporte para até 48. É um gargalo muito mais
escalável do que o de processador...


> De qualquer forma, você fez uma analize dos gargalos? Havia muito I/O
> Wait?

Os processos em "wait" eram comuns com o banco usando um disco, 
e foram praticamente zerados com um Raid-0 em 3 SATA2.
Na maior parte do tempo, como eu disse, o processo usa apenas
CPU. Fiz testes com iostat e dstat.


> E IOPS? Tentou configurações diferentes do postgresql.conf para o
> momento das cargas e para a operação normal? 

Como as cargas são feitas por usuários, ainda não consegui fazer
alterações específicas para estes momentos, como desligar o 
fsync e coisas do tipo.

> Tentou separar os logs em discos distintos durante as cargas?
> Tentou separar o tablespace temporário durante
> os relatórios? 

Com esta nova conf de discos, vamos fazer testes com tablespaces
para índices e/ou logs. Mas por enquanto todo o cluster está no RAID0.


> A carga é distribuída pelos processadores? 

Boa pergunta :)
Sei que o postgres não escala entre cores, então não espero que ele
faça processamento paralelo.
Mas se vc estiver perguntando se a aplicação trata isso de alguma 
maneira, a resposta é não ...

> Na 15 conexões simultâneas, quantas estão realmente exigindo recursos 
> simultaneamente?

Aproximadamente 1/3 (5 conexões) fazem COPY/INSERT simulaneamente.
Como eu disse, as cargas em si não demoram muito.
O problema maior ocorre após as cargas, que é quando entra a parte
"porca" de cálculos da aplicação, com vários trechos de :
<? while { select * } ?>
É aí que a CPU fica em 100% por minutos, e os discos quase não são
usados.


> Vocês já testaram o PGPool 2?
Não vejo como poderia ajudar ...


[]´s, ACV

> 
> []s
> Fábio Telles
>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a