[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