[FUG-BR] [1/2 OFF] PostgreSQL no FreeBSD ao invés de Linux

Leonardo Augusto lalinden em gmail.com
Sexta Agosto 9 10:16:57 BRT 2013


2013/8/8 Juliano Atanazio <juliano.list em gmail.com>

> Boa tarde, pessoal.
>
> Sou DBA PostgreSQL e apesar de admirar o FreeBSD ainda não tenho uma base
> de conhecimento suficiente para argumentar com alguém porque eu trocaria um
> servidor de banco de dados que já está rodando em Linux pelo FreeBSD.
>
> Lembrando que o maior desafio de um DBA é I/O de disco, no Linux o tipo de
> partição mais recomendada para obter um maior desempenho é XFS.
> Será que eu poderia obter um desempenho melhor utilizando UFS2 com
> SoftUpdates?
>
> Enfim...
> Em bancos de dados como eu poderia ter um melhor desempenho que o Linux no
> FreeBSD?
>
> Obrigado.
> -------------------------
>

Apesar de nao ter experiência com postgree, e sim mysql no freebsd, vou te
relatar minha opinião baseado no que já vi/li nesses anos.

1) O mysql em >>algumas<< circunstâncias(benchmarks por ai) já respondeu
melhor no linux em razão das threads e do IO, pois no linux(se não me
engano) ele tem
desempenho superior em IO por ser assíncrono(full) ou seja, parece mais
rápido por que ele não garante que o seu write(que retornou) já está "sync"
no sistema
de discos.. Os benchamarks de IO entre linux e freebsd, onde o linux
vencia, sempre havia essa "SACANAGEM" no lado do linux, agora se você
configurar o ufs padrao
do freebsd para ser assíncrono(sem soft updates), verá que é muuuuuuito
mais rapido que o linux. Claro que esse desempenho de IO depende do
filesystem utilizado
e da maneira com que ele é empregado. Mas os ultimos benchmarks que vi de
mysql sobre linux/freebsd(a partir do 8.1) o desempenho do mysql no freebsd
foi
superior, principalmente quando os recursos(sockets/ram/consumo de swap)
estavam no limite da máquina, nesse momento o freebsd mantinha a resposta
estável,
já o linux se degradava exponencialmente,
Então por um bom tempo houve essa mística de mysql sobre freebsd, que até
as versões 7/8(do freebsd) ainda tinha um melhor desempenho no linux(em
algumas circunstâncias), hoje
com a evolução das threads do freebsd e a melhoria do SMP do mesmo, não
acredito que você obtenha melhores resultados no linux a ponto de
justificar a adoção de linux.

2) O gerenciamento de memória virtual(SWAP) do Freebsd é imbátivel, em
situações de over load, o Freebsd não entra em colapso.. já o linux...
Por esse motivo e pela maneira com que o postgre opera internamente(muito
diferente do linux), com relação aos processos de IO e memória, acredito
que o FreeBsd seja bem superior,
para não dizer muito, ao linux para operar uma base postgree, justamente em
função dessa relação direta entre a concepção do SGBD com a natureza do SO.
É a minha impressão, posso estar redondamente enganado, mas não acredito
que seja isso.

Quem torce o nariz para o Freebsd o faz porque não o conhece, isso é
natural.

- Freebsd é mais fácil de configurar / manter que linux.
- Freebsd é mais fácil/possível tunar o kernel e você tem mais recursos
nessa área, como IO por exemplo, sockets, etc.
- Freebsd só existe freebsd, quem usa suse se mata quando pega um fedora...
e por aí vai.. ubuntu então... cada um com seu sabor, freebsd só tem um
sabor.
- Freebsd tem jails.... linux não tem... isso quebra um galho tremendo.
- Linux é mais utilizado que o freebsd não por razões de qualidade, e sim
outras que fogem ao meu entendimento, mas alguns fatos sempre me surgem na
mente quando
penso se estou no caminho certo utilizando Freebsd, alguns deles são:
a) toda a estrutura de rede da última copa da alemanha foi baseada em
freebsd.... por que será ? (alemanha.. povo pouco cri cri)
b) o windows 2008 server só começou a prestar um pouco depois que copiou a
pilha tcp ip do freebsd... fora outros tantos que nem se imagina
c) os sistemas operacionais atuais da apple são um freebsd modificado, como
o sistema IOS dos iphones/ipads também são freebsd..
d) o whatsup usa freebsd como server, e já teve mais de um milhão de
conexões tcp num único servidor..
e) o logo do freebsd é mais legal que aquele pinguim sem noção,
freebsd(HOT), linux(COLD) pois congela, trava é lento (GELADO) tudo a ver
com aquele pinguim, comédia comédia.

Para desktop, algumas distros linux podem ser mais amigáveis para instalar
que o freebsd, mas para operações de servidor... o freebsd é superior.

Problemas reais em utilizar freebsd: (só tem um ao meu ver)

- Alguns fabricantes de hardware não disponibilizam o driver para o
freebsd, apenas para o linux, um amigo meu teve que adotar linux para um
storage dell pois não havia
driver disponível para o freebsd... e também não dão suporte ao so.
- E tem a novela do oracle/java também... que tenho certeza que rodariam
melhor no freebsd que no linux, se a oracle adotasse o mesmo, mas por
razões de mercado/marketing ou sei lá
quais, adotaram o linux.

Enfim, posso ter dito um monte de asneiras até agora, mas de uma coisa eu
tenho certeza.

Você não vai ter desempenho superior com o mesmo nível de segurança para o
seu postgree utilizando linux no lugar de freebsd, no mesmo hardware.
Claro que respeitando as tunagens necessárias no freebsd.

Se você utliza uma controladora raid com bateria e um bom no-break, pode
arriscar ativar o UFS como assíncrono.
Mas não sei se teu caso necessita disso..  no geral o softupdates é um bom
meio termo entre segurança(sync) e desempenho, para a maioria dos casos.
O zfs é muito bom pelo que escuto, mas demanda um maior cuidado e pesquisa
na sua operação/manutenção, então tenha isso em mente.

Resumindo, use Freebsd e seja feliz.
E já tagarelei minha cota mensal aqui na lista :)

Abraço


Mais detalhes sobre a lista de discussão freebsd