[firebase-br] Firebird no FreeBSD consumindo muita memoria

Jéter Rabelo - GMail jeter.rabelo em gmail.com
Qui Jan 23 19:49:57 -03 2014


Boa noite.

Vou dar um Feedback da minha experiência com o FreeBSD x Firebird.

No dia 24/12/2013 e disse num post que instalaria um Linux devido aos 
"problemas" enfrentados com a memória no FreeBSD.

Pois então, não fizemos esse processo. O meu cliente adquiriu 32gb de 
ram para o server.

Resultado: O FreeBSD "comeu" todo os 32gb, deixando < 2gb como livre, o 
restante como inactive.

Porém, não tivemos mais problemas como Lock Manager e etc.

São duas bases, uma com > 50gb e outra com >131gb com respostas muito 
rápidas.

A base de 131 gb contém apenas duas tabelas. Ela é utilizada para 
armazenamento de arquivos de áudio de um módulo de PABX. Então ela é 
desse tamanho devido aos Blob's (Arquivos .gsm).

Em resumo, foi como disse no post, com bastante memória eu achava que 
daria certo. Agora tenho certeza.

Durante o dia, esse server chega a ter > 130 conexões, com respostas 
muito rápidas.

Temos algumas conexões remotas, que utilizamos o Zebedee, compilado no 
FreeBSD mesmo.

Em tempo, não mexi em nada nas configurações, tudo default 
(firebird.conf e buffers).

É um server
- Dell Intel Xeon (4 núcleos)
- 32gb ram
- 2 HD SAS 15000 rpm (com raid)
- FreeBSD 9.3 stable
- Firebird Super Classic Server 2.5.2

Fica a dica de minha experiência. Qualquer novidade eu aviso.

Atenciosamente.
Jeter-Jerasoft
______________________
Jéter Rabelo Ferreira
<http://www.jerasoft.com.br>

http://www.jerasoft.com.br
Skype: jeter.rabelo

Em 02/01/2014 17:32, Gladiston Santana escreveu:
> Essa caracteristica de gerenciamento de memória é uma caracteristica
> herdado dos unices.
> O lema é 'memória não usada é memória disperdiçada', daí o sistema de cache
> de seu *bsd usar tudo o que possui de ram livre e se por acaso, faltar
> memoria para uma aplicação, o cache diminui. Mas no geral, acima de 90% da
> memoria está sempre sendo consumida.
>
> Se voce quer que o FB tenha um consumo fixo de memória, deve editar o
> arquivo de configuração e especificar isso. Em alguns casos pode até mesmo
> desativar o cache do FB porque você terá o cache do sistema operacional
> atuando e competindo com o cache do FB.
>
> inte+
>
>
> Em 24 de dezembro de 2013 09:11, Jéter Rabelo - GMail <
> jeter.rabelo em gmail.com> escreveu:
>
>> Bom dia.
>>
>> É o seguinte, depois de ficar ontem, dia 23/12, das 07:00 as 23:00
>> tentando achar o "problema", descobri a "causa".
>>
>> Vamos lá.
>>
>> O FreeBSD tem uma maneira própria de gerenciamento de memória, diferente
>> de Linux/Windows.
>>
>> A cada consulta, ele meio que "reserva" a memória utilizada nela,
>> colocando a mesma em Memória inativa.
>>
>> Quando se olha a memória Inativa, ele é  quase que uma memória livre,
>> porém na prática não é.
>>
>> Então, depois de ler um caminhão de artigos, fóruns e etc, cheguei na
>> seguinte conclusão.
>>
>> - A Velocidade do Firebird no FreeBSD é FENOMENAL.
>> - A resposta de consultas são absurdamente rápidas, chega a ser
>> inacreditável.
>> - Numa tabela de LOG que possui mais de 10.000.000 de registros, um select
>> de testes com um where não indexado, leu a tabela em menos de 5 segundos.
>>    - Num segundo select então, aí é coisa de louco.
>> - Mas, tudo isso tem um preço: No select da tabela de 10.000.00 de
>> registros, a memória utilizada nele fica como inativa. Mesmo se fechar a
>> conexão, fechar o programa e tudo, nada de liberar a memoria.
>> - Se você fizer um sweep, tchau memória, ela fica como inativa
>> - Backup? Mesma coisa
>>
>> Então, resumindo, para ter um servidor com FreeBSD rodando, dependendo do
>> tamanho das base de dados, deve-se ter uma "caminhão" de memória.
>>
>> Pois, por mais que ele "utilize" a memória inativa, chega uma hora que a
>> memoria Free chega a < 200mb e aí começam os problemas: Lock Manager, não
>> aceita novas conexões e etc.
>>
>> Solução? Reboot no server.
>>
>> Não achei nenhuma rotina para dar uma "limpada" nessa memória.
>>
>> O sistema operacional da Apple que tem como base o BSD, foi implementado
>> um comando chamado Purge, que não existe no FreeBSD. Esse comando "limpa" a
>> memória.
>>
>> Quanto ao Firebird.conf, eu havia  modificado alguma coisa, voltei tudo ao
>> default. Mas o problema não estava aqui.
>>
>> Como no meu caso tenho duas bases, uma de 51gb e outra de 121gb, e não vai
>> dar tempo de comprar 32gb de ram. Por isso, vou aproveitar o feriado e
>> instalar o Debian.
>>
>> Bom, fica aí a minha experiência.
>>
>> É uma pena, pois gostaria de ficar com o FreeBSD, mas no momento tenho que
>> manter em suspenso a utilização do mesmo. Pretendo voltar no futuro, pois a
>> experiência foi maravilhosa.
>>
>> Mas, só volto com um servidor de no mínimo >=32gb ram. (No caso desse
>> cliente em específico)
>>
>> Abraços, boas festas e um Feliz Ano Novo.
>>
>> ---
>> Jéter Rabelo Ferreira
>>
>> Obs: A resposta no fórum FreeBSD Brasil do gerenciamento de memória do
>> FreeBSD:
>> https://www.mail-archive.com/fugspbr-fugspbr.org@fugspbr.org/msg01434.html
>>
>> Em 23/12/2013 22:43, Frederico Godoi escreveu:
>>
>>   Você alterou algum parâmetro do Firebird.conf ?
>>>
>>> Em segunda-feira, 23 de dezembro de 2013, Jéter Rabelo - GMail escreveu:
>>>
>>>   Boa tarde.
>>>> Coloquei em produção um servidor FreeBSD com firebird no meu cliente.
>>>>
>>>> Mas estou tendo um problema de memória. O Firebird está consumindo
>>>> memoria.
>>>>
>>>> Quando se olha as transações, todas estão  coerentes:
>>>> Database header page information:
>>>>           Flags                   0
>>>>           Checksum                12345
>>>>           Generation              128716
>>>>           Page size               8192
>>>>           ODS version             11.2
>>>>           Oldest transaction      121599
>>>>           Oldest active           121600
>>>>           Oldest snapshot         121600
>>>>           Next transaction        121601
>>>>           Bumped transaction      1
>>>>           Sequence number         0
>>>>           Next attachment ID      7098
>>>>           Implementation ID       25
>>>>           Shadow count            0
>>>>           Page buffers            75
>>>>           Next header page        0
>>>>           Database dialect        3
>>>>           Creation date           Dec 21, 2013 20:27:02
>>>>           Attributes              force write
>>>>
>>>>       Variable header data:
>>>>           Sweep interval:         0
>>>>           *END*
>>>>
>>>> As confiturações de Buffers e etc estão como padrão do Super Classic
>>>> Server
>>>>
>>>> Status da memoria do FreeBSD
>>>> last pid:  1551;  load averages:  0.27,  0.22,  0.18     up 0+04:24:17
>>>>    12:27:06
>>>> 25 processes:  1 running, 24 sleeping
>>>> CPU:  3.0% user,  0.0% nice,  0.7% system,  0.1% interrupt, 96.3% idle
>>>> Mem: 429M Active, 6067M Inact, 993M Wired, 215M Cache, 826M Buf, 167M
>>>> Free
>>>> Swap: 4096M Total, 760K Used, 4095M Free
>>>>
>>>>
>>>> Alguém para dar uma luz?
>>>>
>>>> Atenciosamente
>>>> --
>>>> Jeter-Jerasoft
>>>> ______________________
>>>> Jéter Rabelo Ferreira
>>>> <http://www.jerasoft.com.br>
>>>>
>>>> http://www.jerasoft.com.br
>>>> Skype: jeter.rabelo
>>>>
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>





Mais detalhes sobre a lista de discussão lista