20+ Consejos para optimizar tus programas PHP

phpLa optimización de código es algo que ha preocupado a los programadores desde hace mucho tiempo, aunque por suerte o por desgracia, esta preocupación está decrementando día a día dado que los ordenadores con cada vez más potentes y por lo tanto importa menos el malgaste de ciclos de CPU.

Esta preocupación por el tiempo de ejecución de un programa viene dado sobre todo por el desarrollo de proyectos grandes (muchas visitas simultáneas) en los que sea crucial la velocidad de ejecución del algoritmo, por otro lado para aquellos proyectos que dada su escalabilidad pudiesen aumentar su complejidad de una forma un tanto brusca, es importante que el núcleo sea tan eficiente como sea posible además de, obviamente, tener el mínimo número de errores como sea posible, y por último puede que se dé el caso que en el caso de que tengas un servidor compartido, tu hosting te haya dado un toque porque haces uso de demasiados ciclos de CPU a la vez que te instan a migrarte a un plan de hosting más avanzado y que por consiguiente posea más recursos para tu script.

En este artículo vamos a intentar dar algunos consejos que permitan mejorar el rendimiento de nuestras aplicaciones web escritas en PHP con relativamente poco esfuerzo.

1.- Versión de PHP

Si estás utilizando una versión antigua de PHP será conveniente que hicieses una actualización de la misma en tu servidor, esto es así porque con cada versión, el equipo desarrollador de PHP ha ido implementando nuevas funciones así como optimizando partes de código, llegando a, reducir notablemente el tiempo de ejecución y la memoria consumida por determinados scrips y funciones de las que vienen por defecto.

A día de hoy, las últimas versiones estables de PHP son la 5.3.0 y la 5.2.11, eso sí, en ningún caso recomiendo instalar en un servidor en producción una versión que no sea estable.

2.- Utilizar algún sistema de Cacheado

En lenguajes interpretados, como es PHP, cada vez que se desea ejecutar un script, éste ha de ser interpretado, lo que hace que el consumo de CPU se incremente más que si se tratase de un lenguaje compilado, además de que ha de ejecutar todas las operaciones y funciones cada vez que se ejecute, lo que hace que si éstas son complejas, el script se ralentice considerablemente; un ejemplo de estas funciones son las llamadas a la base de datos.

A pesar de que no es recomendable cachear todas las páginas en algunos proyectos, en ocasiones es bastante recomendable utilizar aplicaciones como Memcache para así evitar que se ejecute el script siempre que se hace una petición de una página.

Otra opción es hacer uso de sistemas de templates, como es Smarty, que hace un cacheado de la página pero ejecutando siempre las consultas a la base de datos.

3.- Optimizar el código

3.1.- Strings

En PHP las cadenas de caracteres (Strings) pueden, al contrario que en lenguajes como C o Java, ir rodeados, tanto de comillas dobles («) como de comillas simples (), pero a pesar de que el resultado pueda llegar a ser el mismo, el comportamiento de una cadena delimitada por uno u otro de estos caracteres se comporta de manera diferente. Continue reading “20+ Consejos para optimizar tus programas PHP” »

Blog para OGStats

Tras pensarlo un poco, me he dado cuenta de que el log de cambios de esta aplicación el pleno desarrollo, no pinta nada en este blog, por lo que aprovechando la versión 0.53, he decidido crear un blog aparte para ir comentando su desarrollo. http://blog.ogstats.bitnbyte.org/espanol

OGStats 0.52

Hoy os traigo una nueva versión de OGStats, versión en la que por fin se hace público el famoso script de «automatización» entre otras cosas.

  1. Agregado código de identificación de cuenta: en esta versión se han creado unos strings de identificación única para cada una de las cuentas que se vayan creando; este va a ser un elemento crucial a la hora de configurar el script de actualización automática.
  2. Creado el script de identificación: al final de este artículo se explicará como configurar el script para un correcto funcionamiento.
  3. Mejorado el formulario de búsqueda: ya que en esta actualización permite el uso de más de un idioma, se ha hecho una selección por ajax de los universos según el dominio seleccionado.
  4. Mejorado el formulario de creación de cuenta: por las mismas razones que el apartado anterior.
  5. Borradas columnas innecesarias de la base de datos.
  6. Añadido un gestor de idiomas: en esta versión ya se permite el uso de OGStats en inglés además de español.
  7. Corregido un error leve en las búsquedas.

Antes de nada, para ejecutar correctamente el javascript necesitarás tener instalado el plugin de greasemonkey, una vez instalado, tendrás que copiar el código javascript que encontrarás a continuación en un archivo que ha de llamarse ogstats.user.js
Continue reading “OGStats 0.52” »

OGStats 0.51b

Características de la nueva versión: Corregido error al enlazar usuarios desde el top: este error se produjo en la última actualización. Añadido contador de visitas en los popups: hasta el momento las visitas de los popups no se contaban por un error de código en la llamada a la función Leer más…

OGStats 0.51a

Después de unos días de que saliese la versión 0.51 de OGStats y de corregir sus errores, he seguido trabajando en algunos de los puntos flacos de la aplicación así como en añadir alguna carcterística nueva. Corregido error al mostrar una cuenta inexitente: hasta el momento si se seleccionaba una Leer más…

OGStats 0.51

Tras más de un mes de desarrollo a base de tiempos muertos, me complace presentarles la versión 0.51 de OGStats, la cual si bien no proporciona nuevas características para el usuario, al menos no muchas, si que trae consigo una serie de mejoras sustanciales que antes o después había que Leer más…