Ummm essa questão(ao meu ver), envolve vários fatores, espero poder te ajudar te indicando a observar alguns detalhes:
- overview - fatos - porque dê - pra quê ffeebsd ----------------------------------------------------------------------------------------------------- - se tunares o freebsd corretamente, muito provavelmente, não obterás desempenho melhor de SO (no mesmo hardware, x86) para a aplicacao que desejas. - mesmo que voce "soque" tudo num servidor apenas, apache, mysql, etc - enquanto tens poucos acessos "todo mundo" é "igual" ou "mais rapido" que o Freebsd, aparentemente, ehe. - agora, quando "tacar" "trocentos" mil hits em cima, aí que a coisa começa a se definir, quando o swap(virtual memory) começar a ser usado, as máscaras caem. - já vi um benchmark do bsd 7.2 com mysql apache e etc, no mesmo hardware, em relacao a um linux, na epoca o mais recente tambem. até certo ponto(enquanto nao usava-se swap e com xxx conexoes simultaneas) o linux era levemente superior ao bsd em desemepenho, quando o numero de conexcoes chegou a XX.XXX e o swap comecou a se fazer necessario, o linux degradou ABSURDAMENTE, VERGONHOSAMENTE, LIXOSAMENTE, TOSCAMENTE HORRIVELMENTE NOJENTAMENTE a performance, o cara nem conseguia entrar com o ssh na maquina.. enquanto isso o Freebsd continuou mantendo seu desepenho como o vinha fazendo com xx conexoes.. .o ssh entrava normal... e nao parece que havia trocentas conexoes na maquina... INCRIVEL. - sei que tem varias pessoas aqui que gostam e defendem o linux, mas é fato, a VM e a pilha tcp e o IO do bsd sao imbativeis nesse caso. - Nao vou citar o nome, mas conheco uma empresa de listas de email online, tipo o yahoo groups, que comecou em linux, logo que o movimento cresceu, TUDO SENTOU NA GRAXA, foi um desespero total, quando a memoria se exauria, o linux travava... os caras iam trocar o hardware, ate que decidiram antes testar o freebsd.... ahaha nem teve graça, chegava a ter 3000 processos em PERL processando emails e a maquina normal.... no mesmo hardware, o linux com 800 processos PERL ja sentava e travava.... ficava MUITO LENTO, a rede nao funcionava, etc. Os caras usam freebsd ate hoje, e enviam mais de 150 milhoes de emails por mes !! fora acessos web, mysql etc.. Enfim, poderia ficar o dia inteiro argumentando pq vc deve usar o freebsd se pretende ter muitos acessos algum dia, é como vc ter um .357 magnum pra caçar rato, é besteira, até o dia que sua familia cresce e voce precisa caçar um búfalo, um .22 que mata o rato, nem faz cócegas no búfalo. Voce só vai entender do que o freebsd é faz quando chegar esse momento. Essa é a minha opiniao baseada na minha experiencia, uso bsd a 13 anos, ja usei linux antes por 2 anos e SÓ ME LASQUEI com aquela tranquera. Aprendi UMA VEZ a configurar o freebsd na versao 3.x alguma coisa e ate hoje nao mudou nada.... vai configurar um debian, um redhat e um suse pra vc ver como é facil, kkkkk (nojento, irritante, tosco aarrgggggg) Tenho um servidor que comecou no freebsd 6.1, ja fiz upgrade dele até o 7.2, desde la nao fiz mais e ele ja esta com uptime com mais de 1.100( mil e cem ) dias.... Bom, mas chega de bla bla bla pra argumentar pq eu acho que vc esta fazendo uma boa escolha em usar freebsd, de olhos fechados.. Agora vou dar minhas dicas diretas sobre o que eu acho que voce deve tomar atencao para configurar seu servidor web. - meus beans - levando em conta APENAS UM SERVIDOR, rodando tudo nele, e nao um cluster ou master slave, isso já seria outra historia. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - esqueça virtualização, se quer algo hardcore, instale um bsd nativamente no hardware. - o hardware depende muito do tipo de aplicacao, algo baseado em mysql tipo wordpress ou arquivos estaticos como fotos e downloads ??? - se for mais textual usando mysql, coloque a maior quantidade de ram que puder, 32G por exemplo, num INTEL 64 bits mother de servidor e nao desktop pelo amor de deus, nao vai me comprar um PC na loja da esquina e querer transformar num servidor. - se for muito acesso a fotos e downloads, tente por uma controladora dedicada com RAID 10 com um bom cache, acho que hoje nao é mais SCSI e sim SAS, isso sai caro.. .mas vale... - tente uma placa moderna com FSB 1333 - voce precisa recompilar o kernel, as versoes mais atuais do bsd passaram tudo pro SYSCTL as confs que se fazia no kernel, entao o que vc deve fazer é tirar tudo que é declaracao de hardware nao presente, placas de rede, controladoras, etc, CAPA TUDO FORA... de uma pesquisada sobre kernel tunning... sempre se acha algumas dicas... - antes de recompilar o kernel e os ports que ira usar coloque isso no /etc/make.conf CFLAGS= -O2 -pipe -funroll-loops -ffast-math COPTFLAGS= -O2 -pipe -funroll-loops -ffast-math WITHOUT_X11=yes NO_X=yes - meu sysctl.conf ( pesquise sobre as opcoes, pode melhorar ou adicionar algo, os buf ali podem ser tunados segundo o caso ) machdep.hyperthreading_allowed=1 security.jail.set_hostname_allowed=0 security.jail.allow_raw_sockets=1 security.jail.socket_unixiproute_only=1 security.jail.sysvipc_allowed=0 security.jail.enforce_statfs=2 security.jail.allow_raw_sockets=1 security.jail.chflags_allowed=0 kern.maxfiles=65535 kern.maxfilesperproc=32768 kern.ipc.somaxconn=8192 kern.ipc.maxsockbuf=2097152 kern.ipc.maxsockets=81920 kern.ipc.shmmax=33554432 kern.ipc.shmall=32768 kern.polling.enable=1 kern.polling.user_frac=50 vfs.vmiodirenable=1 vfs.ufs.dirhash_maxmem=67108864 kern.maxvnodes=500000 net.inet.ip.check_interface=1 net.inet.udp.blackhole=1 net.inet.tcp.blackhole=2 # blackhole pings, traceroutes, etc. net.inet.icmp.icmplim=100 net.inet.ip.fw.dyn_max=4000 net.inet.tcp.sendspace=65535 net.inet.tcp.recvspace=32768 net.inet.udp.recvspace=65535 net.inet.udp.maxdgram=57344 net.local.stream.recvspace=65535 net.local.stream.sendspace=65535 - se voce puder instalar tudo via ports, (atualize o mesmo antes ok) eu recomendo, pois se voce usar o portupgrade, pode manter tudo atualizado facilmente. voce sempre pode dar um make extract a "mecher" nas configuracoes dos makes se precisar para tunar algo. - O apache pode ser usado no bsd de maneiras diferentes, prefor MPM ou worker MPM, sao coisas diferentes, pesquise sobre. - Se vais usar muito arquivo estatico, tente usar o lighttpd ou o nginx no lugar do apache, para arquivos estaticos eles sao mais eficientes. - se for usar php, utilize o modo com fast-cgi, nao use o mod_php... (estufa o apache sem necessidade), voce tem mais beneficios como mod_fastcgi e o php rodando em separado do apache. - Se for usar php acessando mysql, tente usar o MEMCACHE, vais te salvar a vida. - O memcache tambem pode ser usado com o apache para arquivos estaticos.. mas acho que nao vale a pena, use o lighttpd ou o nginx pra isso. - Tunar o mysql tb é muito importante... bem como sua aplicacao nao conter erros ridiculos como uma consulta sem indice ou com indice errado... nao tem cristo que va resolver teu problema nesse caso. - O file system default do bsd tambem precisa de alguns ajustes, se tiver muitos acessos a arquivos, voce pode tirar fora o softupdates, mas o risco nao vale a pena, se tiver uma queda de energia podes perder muita coisa, mas o ganho de performance é substancial, mas acho que nao seja o teu caso. eu apenas tiro fora o esquema de atualizar o last access do arquivo, uma bobagem la que da diferenca, tal do "noatime", mude entao no fstap e ponha essa opcao na particao onde os arquivos iram ficar. Eu deixei assim: /dev/aacd0s1d /tmp ufs rw,noatime 2 2 /dev/aacd0s1f /usr ufs rw,noatime 2 2 /dev/aacd0s1e /var ufs rw,noatime 2 2 E assim cara, por aí vai... mas tenha dúvida que o freebsd irá suportar bem qualquer extremo que vc venha a ter. Se eu puder ajudar mais, sinta-se a vontade para me chamar em pvt que conversamos sobre o caso. Ah e nao se esquece que fazer testes com o "ab" a partir de outra maquina ajuda muito a vc detectar os gargalos. O freebsd por sí só nao vai te resolver, vc tem que setar ele e as aplicacoes corretamente, e tudo sobre um hardware condizente e um link mais ainda. Se nao és sócio de um hosting, te aconselho um datacenter externo, tipo nos eua, softlayer é muito bom, uso a 8 anos e NUNCA tive problemas, te colocam uma maquina a mais em ate 2h se precisar, ja possuem solucao pra load balance nativo, etc, etc, etc Abraço Leonardo ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd