[firebase-br] buffer size x DefaultDbCachePages

Paulo Geloramo paulogeloramo em terra.com.br
Qua Out 27 15:05:59 -03 2004


Ola Maglan,

Em diversos documentos que encontrei na net esta
afirmando que se Classic por coneccao, se SS por banco.

Tambem estou pesquisando a mesma coisa e veja o
meu post abaixo:

Criando o banco de dados com o Firebird 1.5 e posteriomente
verificando as informacoes estatisticas do mesmo, apresenta
o valor para PageBuffers=0. Pelo que entendi quando este valor
esta em 0 (zero) siginifica que esta desativado para este banco,
valendo o que esta setado para o servidor no arquivo firebird.conf
em DefaulDbCachePages e quando este nao esta definido assume 2048.

Esta afirmacao acima esta correta?


O Firebird 1.5 vai setar como valor padrao:
PageSize=4096
PageBuffers=2048
Usara 8 MB de memoria para cada banco de dados.

Então 4096 x 2048
= 8.388.608 bytes
= 8192 KB
= 8 MB

Esta correta esta afirmação acima?

Qual valor tem usado para PageBuffers?
Para começar a testar o desempenho quais os valores voce recomenda?

Comentarios e sugestoes serão bem-vindos?

[]s
Paulo Geloramo.

-----Mensagem Original----- 
De: "Maglan Cristiano Diemer" <maglan em univates.br>
Para: <lista em firebase.com.br>
Enviada em: quarta-feira, 27 de outubro de 2004 13:53
Assunto: [firebase-br] buffer size x DefaultDbCachePages


Ola pessoal,

Minha primeira participação na lista.
Duvida em relação ao ajuste de desempenho.

Sobre o cache do banco (do arquivo GDB) e
o parametro de configuração do servidor
"DefaultDbCachePages".

Segundo o proprio arquivo de configuração
o parametro DefaultDbCachePages diz o seguinte:

# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 75 pages per client connection per database.

Claro que a quantidade de paginas deve
ser multiplicada pelo tamanho da pagina;
no meu caso 4096 bytes.

Portanto, o servidor irá alocar a memoria cache para
cada banco que estiver conectado conforme o
valor definido em DefaultDbCachePages.

Até ai, tudo bem... Mas e o valor do cache do arquivo GDB?
Aquele que podemos definir por

gfix -buffers <tamanho> arquivo.gdb

O principio é o mesmo do parametro DefaultDbCachePages ?
É a quantidade de memória cache que o servidor irá
alocar para este GDB ? Independente do número de cliente ?

Se o DefaultDbCachePages for maior do que o cache do arquivo GDB?

Qual o valor que o servidor irá alocar?

O parametro DefaultDbCachePages é o valor total de cache do
servidor ou o total para cada GDB conectado neste servidor ?

Por exemplo, se eu tenho dois GDBS (A e B) cada um com um
cache do arquivo definido em 1024, pelo comando.

 > gfix -buffers 1024 A.GDB
 > gfix -buffers 1024 B.GDB

E o parametro DefaultDbCachePages é definido em 65536.

Supondo que o page size dos banco seja 4096 qual é
a memória que o servidor irá alocar para cache ?

65536 * 4096 = 256 MB ?

ou seria
1024 * 4096 = 256 KB ?

Essa quantidade de memoria é por GDB ou por conexao ?
Ou seja, se tenho dois clientes tenho duas conexoes ?

Quanto de memoria cache o banco ira alocar?


PS.: Há muito tempo li em algum lugar (se não estiver enganado)
que o servidor aloca a quantidade de cache do GDB para cada
conexão.. Ou seja, no meu exemplo seria 256 KB para cada cliente?

A explicacao do arquivo de configuracao diz que o DefaultDBCachePages
irá alocar a quantidade de memoria por banco (no SuperServer) e
por banco para cada cliente (no Classic). Isso realmente está certo ?

Maglan


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br





Mais detalhes sobre a lista de discussão lista