[firebase-br] IB 6 super server não usa memória eficientemente?

Douglas Tosi douglasht em gmail.com
Seg Ago 18 13:38:45 -03 2008


2008/8/18 Paulo <paulo em manfra.com.br>:
> Douglas Tosi escreveu em 18/08/2008 11:40:
> O parâmetro DATABASE_CACHE_PAGES está em 3500. Já experimentei aumentar
> este valor, mas houve um pequeno aumento no uso da memória apenas.
> Os problemas que eu tenho são quando alguma conexão faz um uso mais
> agressivo do banco. Todos os outros clientes sofrem com isso.

Não acredito que aumentar o cache vai te ajudar nisso. 300MB é um banco pequeno.
Você poderia colocar ele inteiro no cache e ainda assim teria
problemas de performance.
Aumentar a memória só te ajudaria se você tiver problemas de excesso
de I/O de leitura.
E ainda assim, cuidado: O IB6 não é muito esperto gerenciando caches
muito grandes.

> Aliás, este é um outro problema que venho enfrentando: não consigo cancelar o
> processamento de algumas queries, nem matar conexões! Às vezes preciso
> rodar alguma query mais pesada no servidor de produção (mesmo não sendo
> o banco de dados de produção) e, se ela demorar demais, todos os outros
> clientes ficam intrabalháveis neste período. Há alguma maneira de matar
> um cliente no super server?

Não. Só a partir do 2.5.
No 2.1 tem como cancelar uma query.
Mas matar uma conexão nas versões anteriores ao 2.0, só no Classic.
E só existe classic para windows a partir do firebird 1.5, eu acho.
(Confirme isso)

> Unindo o pouco uso da memória e o problema com o excesso de
> processamento de alguns clientes, pensei em utilizar o classic server,
> porque poderia matar a conexão mal-criada facilmente.

As versões mais novas do Firebird se comportam um pouco melhor na
distribuição de carga entre os clientes. Um cliente mal-criado não vai
causar tanto impacto nos outros.

-- 
Douglas Tosi
www.sinatica.com




Mais detalhes sobre a lista de discussão lista