[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