Categorías
Internet

La eterna batalla entre estático y dinámico

Tony Byrne escribe en CMS Watch la, según su opinión, gran ventaja de tener un CMS con páginas estáticas antes que uno que genere las páginas “on-the-fly”; y Six Apart lo reproduce y alaba. En realidad MT (el flagship de 6A) es dinámico estático mientras que WordPress es estático dinámico .

Usando ambos sistemas yo creo que no hay una respuesta única ni una superioridad total de uno sobre otro; cada caso es particular… pero si nos centramos en estos dos CMS hacer un pequeño cambio y esperar que se vuelvan a generar todas y cada una de las páginas durante unas cuentas horas… no es muy práctico que digamos.

Y lo mismo pasa con los puntos que da Byrne, pocos creo que son absolutamente ciertos y correctos en cuanto a performance:

* Las páginas estáticas son entregadas más rápidamente
* Las páginas estáticas son mas simples de indexar y son una mejor “cara” para los buscadores ¿Seguro? jamas tuve un problema con ningun buscador y los resultados en mi caso no cambiaron cuando mude el sistema
* Mejores nombres de archivos mejoran la usabilidad
este punto es ridículo; sobre todo cuando uno puede definir la estructura de cualquier URL automáticamente
* No necesitás preocuparte por la performance de una base de datos
(si, buen punto)
* Las páginas estáticas son “móviles” (lo dice en el sentido de que podés hostearlas en cualquier platafoma Windows, Solaris, etc.) pero si estás cambiando de plataforma seguramente vas a usar algo llamado “planificación” y esto será un item mas a controlar

El único punto fuerte de ventaja entre unas y otras lo deja de lado… la capacidad de responder a picos de visitas altos son mucho mejores (pero MUCHO) en páginas estáticas que en dinámicas.. no entiendo porque no lo mencionó.

Personalmente detesto tener que hacer los famosos “rebuilds” de MT pese a que WP todavía tiene cosas que son malas en comparación con algunas funciones de los productos de 6A, pero por ahora.. no terminé de digerir la vuelta y el “dinámico-vs.-estático” no es un punto para preocuparme.

24 respuestas en “La eterna batalla entre estático y dinámico”

>>En realidad MT (el flagship de 6A) es dinámico mientras que WordPress es estático.

A caray!, no era al revez?

Y tienes mucha razón, cuando dices que las páginas estáticas se les vé la ventaja cuando hay picos de visitas/pageviews, si no pregúntale a EArcos cuando cubrió el último evento de Apple.

jaja jeso me pasa por escribir rapido :P corregido y gracias :)

Si, de hecho una vez me paso de tener mi server caído por la cantidad de procesos de CPU que exigía una pagina dinamica… y ese punto (el unico valedero 100%) no lo menciona :S

totalmente, pero con un par de diferencias:

1- No puedo ser un blogstar
2- Mi cerebro no maneja el código de na pagina como un texto… mmmm o sea que ser mas prolijo :P

La eterna batalla entre estático y dinámico…

Vía DenkenÜber leemos una interesante reflexión sobre dos artículos que desarrollan si es mejor que las páginas se generen de forma dinámica o estática. Resumiendo, si va WordPress por buen camino (dinámico) o lleva más razón Movable Type (estático). B…

Si, el dia que Kottke necesite scar sus datos en otro formato quiero verlo.

Lo de la ventaja de los buscadores de los archivos planos sobre los dinamicos, es algo arcaico y que fue solucionado hace tiempo. El problema era que los buscadores indexan archivos (sarasa.php) y no parametros (?id=456), entonces cuando google indexaba tu articulo en la URL http://uberbin.net?id=xxx, en verdad, le asignaba http://uberbin.net, provocando que los visitantes aterricen en tu home.

Como dije, el mod_rewrite de Apache hace tiempo que soluciono esto.. asi que el que hizo este listado esta un poquito desactualizado.

Chaucha!

el cache en general es algo a considerar en cualquier sistema que hostea páginas a gran escala, cosa que este artículo no menciona
yo creo que la elección depende de lo que queres hacer
lo que es casi innegable es que la homepage de cualquier sitio con alto tráfico sí es algo que tiene que ser estático

Las páginas son móviles, pero el sistema no… si el sistema está hecho en PHP solo puedo moverlo a un host que acepte PHP… no me sirve mucho mover todas las páginas estáticas y no el CMS… Si pasa eso y hay que cambiar de CMS es muchisimo más complicado que mover una base de datos y hacer un batch para convertirla a otro sistema, no?

Yo sigo creyendo que las unicas verdaderas superioridades de MT sobre WP es su lenguaje de templates, su capacidad de blogs multiples la capacidad de funcionar sin MySQL (ay que util es esto), pero para mi estas han sido suficientes para quedarme con MT aunque WP me gusta mucho, mucho, mucho.

Coincido con lo dicho: El único punto realmente crítico con los sistemas dinámicos es el consumo de cpu, cuando el sitio se vuelve muy concurrido.
Lo de los cortes por exceso de consumo de tiempo de servidor le pasó a muchos Blogs muy conocidos (recuerdo cuando le pasó a Mariano y a Mini-d) y ahora con los meneos y diggs creo que va a pasarle a unos cuantos.
Esto se hace especialmente crítico cuando uno tiene contratado un hosting no dedicado o algún plan restringido.

Sacando esto creo que los sitios dinámicos son mejores en todo sentido. Permiten que cada capa de información sea independiente de las demás, lo que facilita migraciones o actualizaciones posteriores en gran medida.
En este punto no veo que sea una desventaja depender de una base de datos, ya que la información estaría contenida de una manera limpia, fácil de convertir e independiente de la presentación del sitio. Vamos, que para eso sirven las bases de datos! Acceder a grandes cantidades de información de manera eficiente.

Respecto a:

“El único punto fuerte de ventaja entre unas y otras lo deja de lado… la capacidad de responder a picos de visitas altos son mucho mejores (pero MUCHO) en páginas estáticas que en dinámicas.. no entiendo porque no lo mencionó.”

Esto se supone cuando dice “Las páginas estáticas son entregadas más rápidamente”, ya que con esta frase se refiere a que en una página estática no hay que intepretar el código, generar el resultado y enviar el resultado, sólo hay que enviar la página.

Por tanto, que el servidor trabaja menos y tarda menos al enviar una estática. En conclusión, que en el mismo tiempo, puede enviar muchas más estáticas que dinámicas, osea que “la capacidad de responder a picos de visitas altos son mucho mejores”.

De todas formas, no sólo es cuestión de estáticas vs dinámicas, la configuración del servidor también hace que una página dinámica sea mucho más lenta en uno u otro servidor con la mismas características.

Concretamente, en los casos de los blogs que han sido suspendidos por exceso de uso de cpu, en todos los casos, si pensamos exclusivamente en el rendimiento, el servidor no estaba configurado de la forma más apropiada. En estos casos PHP (WordPress) o Perl (MT) estaban configurados como CGI (es la única manera de medir el consumo de cpu), si hubieran estado configurados como módulos del servidor web (mod_php o mod_perl) y además usarán aplicaciones de precompilación y cacheado (Zend Optimizer, APC, etc.), estas webs no consumirían ni la mitad de recursos.

Desgraciamente, en un entorno de alojamiento compartido, la seguridad tiene y debe terner mayor importancia que el rendimiento.

Yo creo que lo mejor es un sistema que tenga las páginas estáticas pero cuando se modifica algo se cree una nueva, y con WP +6 WPCache va genial.

Yo en GuGara.com he empleado Cache Lite que es tremendamente sencilla de implementar y puedes tener la página que quieras cacheadas.

Ésto en previsión de que una avalancha de gente decida utilizar éste servicio.

Los sistemas de implementacion presentan grandes ventajas y desventajas. Solo por mencionar un punto importante, una busqueda la realizaras en una base de datos, ya que buscar en el contenido de cada archivo seria una perdida considerable de recursos.
Y su contraparte, el contenido ya procesado, la nota en si, quieres entregarla de manera rapida sin consumo alguno.

Por eso creo fervientemente que ambas soluciones deben de aplicarse en simultaneo, eligiendo la apropiada para cada caso.

Como se menciono mas arriba, la home es la mas accedida y regenerarla en cada visita es solo desperdiciar recursos, para sumar argumentos, normalmente solo se modifica cuando ingresan nuevas entradas de posts, asi que es tan simple como solo generarla cada vez que se ingresa un post (o modifica).

Otro justificativo de tener ambas funcionando, de existir un problema con la base de datos, podemos recuperar informacion desde el cache y de tener problemas con los archivos solo hay que regenerarlos desde la base de datos.

Los picos de trafico los sufren todos los sitios, y muchas veces generan un gasto desproporcionado de hosting, sea servidor dedicado o compartido. Peor el caso de compartirlo porque uno no tiene total control.

Es menester en una web de alto trafico el cache, y cualquier CMS lo debe tener previsto si pretende llegar lejos.

ahora.. como se puede generar un cache de la home que respete la generación de nuevos contenidos en un simple blog?

Digo, no es una pagina estatica sino que a veces toma datos de la base (por ejemplo los ultimos comentarios, etc.etc.)

Facil, solo se cachean parciales, pero esto ya son unas palabras mayores ;), wp-cache, hace algo como esto, incluso puedes indicarle que partes son dinamicas (debido a su cantidad de actualizaciones) y que partes son estaticas mas tiempo.

Claro, para la home hay que implementar un esquema hibrido, donde la mayor parte es estatica y solo buscas en la base los comentarios. Tambien ayuda que se regenere el cache solo cada 5 minutos, por decir una cifra. Se consigue que solo un usuario cada 5 minutos deba esperar a que el servidor procese toda la informacion y genere el cache para luego mostrarsela, el resto directamente visualiza el sitio de manera estatica. Y en el peor de los casos, al entrar estas viendo una pagina con una antigüedad de 4 minutos 59 segundos. Me parece aceptable y se logra bajar la carga del servidor muchisimo.

Por ejemplo, en redes como Weblogs SL, si usara memcache+wordpress se beneficiaria en gran medida del cacheo. Sin tener nada que envidiarle a MT, aunque ironicamente, en sitios pequeños, o conjuntos de sitios pequeños, puede hacer algo lento el funcionamiento de WP.

Ahora que si sumaramos eaccelerator+wpcache+memcache, no se que tanto mejore/empeore el rendimiento, aunque seria un experimento interesante ;)

después de años de experiencia, no tengo datos, pero si que creo firmemente que las páginas cacheadas/estáticas se indexan mejor por los buscadores que las que se generan onthefly.

Los comentarios están cerrados.