Waiting em updates

PostgreSQL

02/02/2007

Amigos,
Gostaria de consultá-los para saber se há alguém que tenha vivenciado a nossa situação aqui na empresa ou se puder nos dar algumas dicas para ajudar a resolver esta situação.
Temos um servidor PostgreSQL versão 7.4.13 que é acessado via servidor apache por uma aplicação PHP.
O que ocorre é que pela manhã o servidor de banco está rodando tranquilamente e quando as conexões ao banco vão crescendo os comandos de insert e update vão entrando cada vez mais em um estado de waiting que faz com que os clientes fiquem até meia hora para realizar uma tarefa que normalmente levaria algo em torno de 5 minutos. Isso quando a tarefa é concluída.
Foi identificado que normalmente são os updates que causam o início do bloqueio.
O banco de dados está configurado para 900 conexões, está em uma máquina com 8GB de RAM, quadri Intel Xeon 2,80GHz e shared buffer=153600; sort_mem=17896; Vacuum_mem=179200Kb; fsync = true;wal_buffer=64; effective_cache_size=4194304; random_page_cost=2; check_point_segments=128
O apache está em outra máquina com 4GB de RAM e ambas rodam Gentur como S.O.
Fizemos um teste de utilização com a seguinte situação:
-Quando estavam em 130 conexões simultâneas e algumas delas travadas tentamos rodar um update na principal tabela (a que mais trava) e o mesmo rodou em 1,06 ms. porém, quando na mesma transação executamos novamente o mesmo comando, o mesmo apresentou o travamento. É como se o primeiro update o tivesse bloqueado mesmo trazendo a resposta. Porém, se for executado um commit ou rollback, posso realizar a tarefa quantas vezes quiser. Já no ambiente de testes., isso funcionou normalmente.
É importante frisar que esta tabela tem quase 2 milhoes de registros e que no servidor de testes não passa de 20 conexões simultaneas.
No aguardo de uma resposta.


Rjunior.pa

Rjunior.pa

Curtidas 0

Respostas

Rjunior.pa

Rjunior.pa

02/02/2007

Senhores,
Para Conhecimento.

Eliminamos o problema realizando a migração da Versão 7 para a 8.2.2 e colocamos os indices em uma tablespace e os esquemas em diversas tablespaces. cada tablespaces contém agora um conjunto de esquemas que mais tem relação um com o outro.
Deu muito trabalho, mas valeu a pena pelo conhecimento adquirido. Esta versão está muito mais estável.
Abraços


GOSTEI 0
POSTAR