Haciendo TYPO3 escalable. Parte I

03.05.08

Progresos del desarrollo de la extensión para hacer TYPO3 un CMS escalable de forma que sea factible emplearlo para proyectos de gran volumen. Parte I.

El objetivo es conseguir que TYPO3 sea un CMS que pueda escalar de forma que podamos, en sitios web de gran volumen, añadir más máquinas con los roles de servidor web o servidor de bases de datos MySQL y repartir la carga de la aplicación para que podamos defender a TYPO3 como un CMS perfectamente válido para grandes websites sin tener que recurrir a la compra de grandes y costosos servidores desde el primer momento de la puesta en marcha del web.

Para conseguir este objetivo he comenzado el desarrollo de un plugin que en breve colgare en el TER oficial y que se basa en los siguientes principios:

  • Repartir las carga entre diversos servidores MySQL con replicación y utilizando un algoritmo que permita ponderar la elección de un servidor u otro.
  • Emplear memcached como cache en memoria distribuida pensada para poder ejecutarla en varios servidores y elegir uno pudiendo ponderar su elección
  • Aumentar el porcentaje de aciertos en cache mediente las modificación de algunas de las funciones de TYPO3
  • Cada uno de los puntos anteriores debe ser opcional

El plugin ya se encuentra en un estado alfa (casi todos los puntos estan implementados) y he comenzado a realizar alguna prueba.

Como primera conclusión dejaré algun dato que he obtenido:

He degradado la conexión con la base de datos para que este sea el principal cuello de botella y ubicando memcached en el mismo servidor que el servidor web. He realizado una prueba con ab de 200 peticiones con un nivel de concurrencia de 30

Sin emplear el plugin:

0.86pag/s 233 segundos en realizar el test a una media de 35 segundos por página

Con el plugin:

3.5pag/s 58
 segundos en realizar el test a una media de 8.6 segundos por página


Enviando tu valoracion...
Todavia sin valorar. !Animate a ser el primero!
Haz click en la barra para valorar el elemento.

Agregar comentario

* - campo obligatorio

*

*


Imagen CAPTCHA para prevenir el uso abusivo
Si no puede leer toda las letras, haga clic aquí.
*
*