[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