Interneteando

Simplemente otro blog de WordPress

Archivo para la Categoría ‘PHP’

Hoy leía en el blog de Pichongol un interesante artículo sobre la cache que incorpora MySQL y el uso de Memcached para optimizar la carga de sitios web con gran carga de trabajo, pero creo que no está del todo acertado en algunos aspectos.

En su análisis sobre Sistemas intensivos en lecturas vs. Sistemas intensivos en escrituras, pasa por alto un detalle de gran importancia. Las páginas web (que es lo que nos ocupa), son sistemas en los que se acometen muchas lecturas y pocas escrituras por lo que en el 99% de los casos el uso del query cache será beneficioso. Además siempre se pueden utilizar tablas auxiliares para cierto tipo de operaciones de escritura masiva (contadores,estadísticas,sesiones, etc) y utilizar las extensiones de MySQL INSERT DELAYED y INSERT DELAYED … ON DUPLICATE UPDATE para acometer las actualizaciones en estas tablas sin influir en el tiempo de ejecución del script.

Sobre el uso de Memcached, también se pasa por alto un detalle importante, Memcached puede hacer persistir objetos en memoria para distintas máquinas a lo largo de una red y de esta forma varias máquinas se aprovechan del calculo realizado por una. Si hablamos de instalaciones de un solo servidor, el coste de las funciones serialize y unserialize reducen bastante las ventajas de utilizar Memcached.

Por mi experiencia, Memcached es especialmente productivo para entornos de balanceo de carga y funciona especialmente bien en combinación con Lighttpd+FastCGI.

Comentarios (1) Publicado el Thursday, October 18th, 2007
Archivado bajo PHP, Programación

Llevo utilizando PDT desde sus primeras versiones, y según me iba acomodando, también cambiaba mi forma de programar en PHP.

Antes utilizaba BBedit y ahora utilizo PDT.
Antes utilizaba programación modular y ahora programación orientada a objetos.

Sobre si es mejor la programación modular o la programación orientada a objetos, hay mucha gente más lista que yo ya ha opinado sobre ello así que lo pasaremos por alto.

Ahora bien, si al final decides que tu proyecto en concreto vas a utilizar objetos, el PDT ofrece ciertas ayudas de las que no dispone ningún otro editor de texto que yo conozca. En esta comparativa entre PDT y Zend Studio for Eclipse hay un montón de características que hacen del PDT, la mejor herramienta para la programación orientada a objetos en PHP a falta de probar a fondo el Zend Studio.

Esta transición, me ha llevado a producir un código mucho más entendible, extensible y fácil de mantener, a costa de hacer unos programas con más lentos.

De momento estoy contento con los resultados obtenidos, puesto qué tiempo de procesador me sobra mientras qué mi tiempo de programación escasea cada vez más.

Comentarios (0) Publicado el Wednesday, October 17th, 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