Interneteando

Simplemente otro blog de WordPress

Archivo para la Categoría ‘Servidores’

Para realizar las pruebas se ha utilizado una tabla en formato MyISAM con 1753184 registros rellenados con datos aleatorios.

Ambos almacenan datos de tipo cadena, la longitud de que ocupa cada caracter suele ser de 1 byte, exceptuando las cadenas “unicode” que pueden llegar a ocupar hasta 3 bytes por caracter. El tamañó máximo para este tipo de campos es de 256 bytes. En los ejemplos me referiré siempre a letras en vez de bytes para hacer más facil su comprensión.

CHAR: Es un tipo de longitud fija, esto quiere decir que el espacio necesario para su almacenamiento es el mismo para una palabra de 5 letras que para una frase de 20.

VARCHAR: Es un campo de longitud dinámica, es decir una palabra de 5 letras, ocupará el espacio de 5 letras más un caracter de fin de cadena.

Casos de uso.

SELECT campo2 from tabla WHERE campo2 = ‘cadena’;
campo2 => VARCHAR(200) => 1,82 segundos sin indexar => 0,00 indexado
campo3 => CHAR(200) => 1,77 segundos sin indexar => 0,00 indexado

SELECT campo2 from tablal where campo2 like ‘%dena%’;
campo2 => VARCHAR(200) => 3,86 segundos sin indexar => 1,75 indexado
campo3 => CHAR(200) => 1,84 segundos sin indexar => 2,19 indexado

Después de estas pruebas, podemos concluir que CHAR se comporta mejor que VARCHAR en campos no indexados, y que VARCHAR es la mejor opción para campos que si soporten indexación.

A la hora de devolver gran número de resultados VARCHAR también se muestra superior sobre CHAR. Un SELECT con 1000000 de resultados tardó en devolver una columna de tipo char 1,24 segundos. La misma columna en formato VARCHAR tan solo tardó 1,06 segundos.

Comentarios (1) Publicado el Tuesday, October 23rd, 2007

Tengo varios servidores montados con Apache2.2 y en los últimos tiempos venía escuchando maravillas acerca de un nuevo navegador, Lighttpd, pequeño, sencillo y sobre todo muy rápido.

Lógicamente, antes de con un traspaso de esta magnitud decidí realizar una pequeña comparativa. Además llevaba tiempo queriendo probar las diferencias entre eAccelerator, XCache y APC así que me puse manos a la obra y estos son los resultados.

Durante los tests he ido observado como APC arrojaba mejores resultados que XCache y eAccelerator, así que para mis pruebas el mejor “opcode cache” ha sido: APC.
Solo hay una circunstancia en la que APC se ve superado por XCache ligeramente. Al tratarse de páginas sencillas con pocas necesidades de carga y utilizando Lighttpd como servidor. Si vas a utilizar Apache, APC es sin duda la mejor elección.

En cuanto a los servidores, Lighttpd es hasta 2x más rápido que Apache al servir páginas estáticas, sin embargo a medida que vamos aumentando la complejidad de la página el rendimiento de Lighttpd va decayendo hasta quedar ligeramente por debajo del rendimiendo de Apache.

Vamos a los datos…
(more…)

Comentarios (4) Publicado el Monday, October 15th, 2007