[SP-pm] Res: Benchmark & Catalys
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Janeiro 31 07:18:40 PST 2007
On Jan 31, 2007, at 1:08 PM, Eduardo Verissimo wrote:
> Bah!
> Vocês me convenceram! Catalyst é robusto, é em Perl, e não dá pra
> comparar com outros frameworks em situações tão simples como essa
> do benchmark. Eu definitivamente acredito em vocês.
Eu, se fosse você, não acreditava... ;-)
Tirar as nossas próprias conclusões sobre algumas coisas ajuda a
manter o nível técnico.
Vale á pena estudar e fazer um benchmark decente.
> Pena que todos esses argumentos não servem de muita coisa, afinal
> de contas, nequela situação, o Catalyst perdeu para o outro
> framework de que não me recordo muito bem. Inclusive, eu percebi
> que houve uma outra discussão há uns dias em uma lista específica
> sobre Catalyst em inglês, e tudo isso já foi discutido.
Isto é SEMPRE assunto do momento. Em todo lugar.
> O que eu quero saber, que pode fazer a diferença é: Catalyst pode
> ser otimizado para essa situação simples? Ele pode ganhar mais
> velocidade? Como posso fazer para evitar que ele consuma toda a
> carga do processador?
Claro. O código é Perl, está aberto, suporta cache e otimizações
eurísticas /on-spot/ (jeito bonito de dizer "mexe e corta fora o que
você não quer"). Eu tenho certeza de que dá para ganhar muita
performance usando Catalyst + ModPerl.
> Eu sei que vocês quebram muitos galhos com Catalyst para se
> importar com a velocidade e mesmo se dignar a pensar nisso. Mas há
> pessoas - como eu! - que gostariam de usar Catalyst em sites de
> produção com grande visitação, com picos de 20 pageviews por
> segundo. É claro que o desenvolvimento seria acelerado. Mas eu
> precisaria comprar mais hardware?
Me desculpe, carinha, mas eu tenho apenas uma questão de escala
aqui: 20 page views por segundo não é nada. Vamos falar de 300-400
visitantes por segundo, e aí sim estamos falando de coisas sérias.
Eu participei de projetos com Catalyst para este volume, e tenho
certeza de que as coisas funcionam bem, desde que você tenha hardware
para aguentar o tranco e que escreva software pensando nisso. Veja
que eu usei o termo "software", não "script", nem "cgi", nem nada
depreciativo. Boa engenharia de software faz diferença sim senhor.
Sobre precisar de mais hardware: depende muito do que você tem de
hardware agora.
Talvez a resposta mais simples fosse fazer você pensar no processo
todo - quanta banda um usuário IP/TCP/HTTP consome, a cada Request/
Segundo? Você sabe dizer quantos usuários você consegue suportar
acessando a sua rede, neste momento?
E quanta memória o teu Apache precisa para atender, na média, um
usuário?
Quanto disso pode ser shared libraries? Quanto tem de ser
carregado da base de dados? Você levou em consideração este overhead
quando calculou o consumo de banda por usuário/request/segundo, acima?
Estas perguntas devem dar para você começar a brincar.
Eu me especializei na análise de performance de sistemas, na minha
segunda faculdade.
Se você precisar de ajuda... basta contatar.
Putamplexos!
--
Luis Motta Campos is software engineer,
perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm