[FUG-BR] Teste Performance PostgreSQL FreeBSD Linux e Windows2003Server

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Quinta Agosto 24 10:18:00 BRT 2006


Em teoria eu concordaria que benchmark ideal deve ser na instalacao 
padrao; mas so em teoria; sistemas BSD de forma geral sao conservadores 
em sua instalacao padrao. Ate pouco tempo atraz a granularidade (HZ) do 
FreeBSD era 10% da otimizacao ideal para arquiteturas i386 por exemplo. 
Algumas definicoes controladas pela kern.maxusers ficam aquem do ideal 
pois esta variavel tem um auto-tuning igualmente conservador. Alias so 
tem auto tuning desde meados da serie 4, porque Matt Dillon fez um 
algoritimo segundo ele "simplista, conservador, considerando apenas 1 
dos 5 principais recursos da maquina, mas principalmente seguro", porque 
antes disso essa mesma variavel tinha valor estatico - e ridiculamente 
baixo. Em sistemas de grande demanda invariavelmente buffers de rede tem 
que ser modificado manualmente, ate mesmo diretivas IPC sao 
conservadoras e podem apresentar limites bem cedo na utilizacao do 
sistema, dependendo do objetivo.

Na verdade se alguem sai em desvantagens em benchmarks "out of the box" 
sao os sistemas BSD, que por padrao tem kernel de proposito geral nao 
otimizado. Veja que ai ainda ha diferencas, no FreeBSD o kernel de 
proposito geral tem um unico objetivo: permitir a instalacao do sistema 
operacional no maior numero possivel de hardware. Qualquer coisa menos 
basica, a premissa mais basica indica que o usuario do FreeBSD tera que 
recompilar seu kernel, por exemplo, nem firewall ha por padrao. Outros 
BSDs sao diferentes, o OpenBSD tambem nao e otimizado out of the box, 
mas por outro lado seu kernel de proposito geral nao e orientado apenas 
para instalacao: eh realmente proposito geral, tem quase tudo que o 
kernel do sistema pode ter, e consequentemente demanda mais recurso (eh 
maior) do que poderia, em praticamente todo tipo de uso do OpenBSD. Ou 
seja nao so "da" customizar, "deve" ser feito.

Testes com sistemas que dependam fortemente de recursos nao disponiveis 
no kernel padrao, sao ainda menos justos. Por exemplo Squid e PostgreSQL 
    dependem de memoria compartilhada e semaforo, estilo System V. Como 
esse benchmark foi feito por nosso amigo com PostgreSQL sem isso? O 
kernel do FreeBSD nao tem definicoes essenciais por padrao desses 
recursos para essas aplicacoes trabalharem corretamente. Se o kernel do 
FreeBSD foi recompilado ja nao e mais "out of the box" e isso invalida o 
benchmark.

No minimo as mesmas paginas de memoria divididas nos mesmos segmentos em 
proporcoes iguais deviram estar definidos no kernel de ambos sistemas 
operacionais. Ai ja entramos em outro problema: sistemas distintos tem 
variaveis e MIB de tuning distintas, que as vezes apresentam 
comportamento diferente, ou as vezes sequer tem em comum as mesmas 
possibilidades de ajustes. Ai vem um e diz "ah mas o FreeBSD eh mais 
'tunavel' que Linux". Eh verdade, o que so aumenta a injustica do 
benchmark que nao pode ser realizado "out of the box".

Note que nao estou defendendo o Linux hehe. Mas benchmarks de forma 
geral demanda profissionais capacitados em todos os sistemas testados 
para comprovar a "justica" das comparacoes. Nesse teste realizado pelo 
amigo da lista o FreeBSD ganhou. Otimo. Mas em diversos outros 
benchmarks FreeBSD se mostrava inferior ao Linux, ou ao NetBSD, ou ate 
mesmo ao Windows em alguns. Em todos eles os testes foram questionados 
porque eram sempre realizados por especialistas em Linux, ou 
especialistas em NetBSD, ou em Windows, e que ignoravam premissas 
basicas do FreeBSD, ou entao que no maximo sabiam o basico mas nao 
passava disso, e em condicoes iguais os sistemas mostravam-se capazes de 
desempenhar no minimo, na mesma proporcao, quando o FreeBSD nao virava o 
jogo. Mas ai vinha um e reclamava que "tinha que mecher muito no kernel 
FreeBSD". Esse mesmo nao reclamava que o FreeBSD na epoca poderia ser 
instalado em um 386 ou 486 "out of the box" por exemplo.

Se nao me engano o proprio time do PostgreSQL ja publicou benchmarks, e 
em FreeBSD desenpenhava mesmo melhor - sera porque essa aplicacao eh 
BSD-oriented? - mas ate o bench oficial foi criticado, se nao me engano 
ele era "injusto" com algum outro sistema, nao era Linux, mas nao sei se 
era Tru64, Solaris, sei la..

Benchmarks que merecem respeito devem ser acompanhados por especialistas 
dos sistemas testados. Por exemplo, benchmarks da TechTV sao muito 
validos, porque eles colocam especialistas conhecidos mundialmente, ou 
representando empresas conhecidamente capazes de impor autoridade sobre 
suas decisoes tomadas.

Acho que a TechTV parou com isso porque o pessoal do Linux comecou ficar 
desconfortavel. Me lembro de 3 benchmarks - que alias tem em video por 
ai - um em ambiente clusterizado com processamento paralelo usando MPI, 
outro de performance de rede com alguns servicos basicos, como Apache e 
Sendmail, e um muito bom, com comparativos entre sistemas de arquivos. 
Todos eles foram acompanhados por engenheiros da SuSE e por consultores 
da VA Linux, e pelo Matt Olander, Murray Stokely, ou Olander e Brooks 
Davis, todos commiters do FreeBSD.

Entao, em um teste desses, com commiters do FreeBSD e com 
desenvolvedores do kernel Linux presentes, garantindo igualdade de 
condicoes, como nao concordar com os resultados dos benchs? hehe pois 
eh, pior que alguns ainda nao concordaram, queriam "especialistas Linux 
melhores". Enfim.

Em outro desses testes, acho que um dos mais famosos, em um programa nao 
tecnico da TechTV, o ScreenSavers, uma comparacao de instalacao basica 
dos sistemas para ambiente Desktop foi feita, o objetivo era quem 
instalava mais rapido um ambiente Desktop com os mesmos recursos, mas 
poderiam ser qualquer Desktop `a criterio e decisao dos "especialistas", 
mas o resultado final tinha que ter os mesmos recursos disponiveis pro 
usuario.

O resultado? hehe quem nao viu o video, tai uma boa chance.

Yotube, Yahoo Video e Google Video indicam esses episodios todos desse 
programa de TV.

Resumindo: se benchmark nao for muito serio e bem projetado, so serve 
pra uma coisa: arrumar confusao e manadas de usuarios contestando os 
resultados ou o a "igualdade" de condicoes/justica da comparacao. 
Similar ao que esta acontecendo aqui.

-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd