[caracas-pm] Performance

Ernesto Hernández-Novich emhn at telcel.net.ve
Fri Mar 25 19:56:39 PST 2005


On Mon, 2005-03-21 at 12:11 -0400, Helder Marques wrote:
> Me preocupa el tema del performance, más por posibles comentarios 
> errados que por mi propia experiencia viendo aplicaciones como SQL 
> Ledger o Metadot corriendo a una velocidad tan impresionante. La duda 
> que tengo es la siguiente: realmente las aplicaciones Web basadas en 
> Perl abren un "terminal" (por decirlo de alguna manera) por cada usuario 
> conectado?

Depende de varios factores:

- Si la aplicación está programada como un mero CGI, se corre una
instancia del programa por cada usuario que lo esté utilizando. Esto es
lo "habitual" en programas muy simples. Si uno sabe que el programa va a
ser utilizado de forma masiva, entonces escribe el programa para correr
en mod_perl, de manera que aunque hay una instancia por usuario, en
general tal instancia ya está precompilada dentro de Apache, ahorrando
el tiempo de iniciar Perl, analizar, compilar, ejecutar.

- Si la apliación hace conexiones a la base de datos como un mismo
usuario siempre, al funcionar en CGI tienes tantas conexiones como
usuarios estén utilizando el programa. Si estás en mod_perl y utilizas
el módulo Apache::DBI, salvo condiciones extremadamente particulares,
con _una_ sola conexión a la base de datos se pueden multiplexar las
conexiones de todos los demás programas siempre que la conexión
solicitada siempre sea a la misma base de datos con el mismo usuario y
parámetros de conexión.

- Si la aplicación está basada en templates (HTML::Template, Mason,
Template-Toolkit), _un_ template "precompilado" dentro de mod_perl puede
ser utilizado para satisfacer a todas las instancias concurrentes.

> que pasaría con esas  2^1024 personas conectadas implicando 2^1024
> terminales abiertos???

Seguramente, sólo que distribuidos entre varios servidores, quizás
multiplexando las conexiones a base de datos, con un sistema basado en
templates, corriendo sobre mod_perl.
-- 
Ernesto Hernández-Novich - On Linux 2.6.11 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3



More information about the caracas-pm mailing list