Drupal 5.0 (Benchmark)

Por el 8 de febrero de 2007

en: Redes Sociales

Benchmark es una técnica utilizada para medir el rendimiento de un sistema, a menudo se realizan comparándolo con algún parámetro de referencia… en este caso realizaremos el benchmark sobre Drupal 5 comparándolo con la versión anterior la Drupal 4.7.6.

Con el lanzamiento de este nuevo drupal seguramente te preguntes ¿Cúal versión es más rápida? (alguna de la serie 4.x o esta nueva versión 5.1)

Instalación Experimental

Estos datos han sido obtenidos de Buytaert, la instalación sobre la que se basan estos datos es un Drupal 4.7 con 2.000 usuarios, 5.000 nodos, 5.000 alias, 10.000 comentarios y 250 términos de vocabularios repartidos en 15 vocabularios.

Además para el benchmark se ha hecho una copia exacta y actualizada a la versión 5.1, el resultado por lo tanto son dos sitios idénticos uno usando la versión 4.7 y el otro utilizando la versión 5.

Todo ello ha sido testeado en un Pentium IV 3Ghz con 2 GB of RAM sobre una Gentoo Linux, el servidor un Apache 2.0.58, PHP 5.1.6 con APC, y MySQL 5.0.26.

Para entender un poco mejor este benchmark puede que necesites saber esto:

Requests per second: número de peticiones por segundo, indica el número de peticiones por segundo que el servidor es capaz de servir correctamente. Un mayor resultado de esta medida indica mayor rendimiento.

Time taken for tests: tiempo empleado por cada test. Cada servidor http se someterá a varios tests que se detallan más abajo. Esta medida indica el tiempo necesario por un servidor para realizar un test completo. Un menor valor en esta medida indica mayor rendimiento. Se mide en segundos.

Transfer rate: indica la tasa de transferencia que el servidor es capaz de mantener durante en desarrollo de la prueba. Se mide en Kbytes/sec. Un mayor valor en esta medida indica mayor rendimiento.

Time per request: tiempo empleado en atender a cada petición. Un menor valor de esta medida indica mayor rendimiento. Se mide en milisegundos.

Failed requests: indica el número de petticiones fallidas que no han podido antenderse correctamente por el servidor http. Se mide en número de peticiones.

Decir que para realizar el test con Apache Benchmark utilizaremos el comando ab2.

En este caso se utilizan 20 clientes concurrentes para calcular cuantas peticiones por segundo es capaz de servir con cada una de ambas versiones.

(La configuración de ambas versiones es: 10 entradas en portada, con 4 bloques activados y con la función de busqueda habilitada en la parte superior de la página)

Resultados


En este gráfico mientras más grandes sean las barras mayor es el número de páginas que el servidor puede servir por segundo, analizando podemos ver que generar una página en drupal 5 es un 3% más lento que en 4.7 pero cuando estamos sirviendo páginas cacheadas de la base de datos, drupal 5 es un 73% más rápido que en drupal4.7 y un 268% si hablammos de “aggressive database cache”.

¿Cómo podemos apreciar el verdadero rendimiento de Drupal 5?La eficiencia de el cacheado de páginas de Drupal depende de parámetros cómo el tiempo de expiración, el número de usuarios autentificados, patrones de accesos, etc..

Para emular diferentes configuraciones de Drupal 4.7 y Drupal 5 podemos ver esta gráfica que nos muestra la mejora en cuanto al porcentaje de páginas cacheadas perdidas.

Esta gráfica muestra la mejora del rendimiento relativo de la versión 5 frente a la 4.7 en cuanto a páginas cacheadas en la base de datos, debemos tener en cuenta que un porcentaje de un 0% significa que todas las peticiones son resueltas de manera satisfactoria, por el contrario si tuvieramos un 100% significa que estaremos obligando al sistema a generar las páginas dinámicamente.

Despues de analizar estos datos podemos concluir que un sitio con contenido estático (cacheando páginas) será obstensiblemente más rápido con drupal 5 que con Drupal 4.7 sin embargo sitios con contenido dinámico y usuarios autentificados será un poquito más lento si lo actualizamos a la version 5.

Por lo tanto antes de migrar a la nueva versión de Drupal ten en cuenta estas gráficas y analiza si te merece la pena el cambio, esperemos que en la siguiente versión de drupal (6) mejoren la velocidad en la generación de páginas dinámicas.

Enlaces Relacionados

6 cosas que probablemente no conozcas sobre PHP
PHP y MySql una estrecha relación
Las 10 mejores librerías
Howto encriptar passwords en la base de datos
El framework más popular de Ajax
Manual y ejemplos con Smarty
8 lenguajes de programación que deberías aprender
Generar documentos OpenOffice con PHP
Entrevista a Marten Mickos, CEO de MySql
Urls amigables
Fácil sistema de autentificación (login, password) PHP
Bases de datos y PHP

Dejar un comentario