Trucos para mejorar el performance de Local WP

Local no es perfecto. El performance de Local WP se ve afectado en cada sitio cuando estos se crean ya que la configuración de cada sitio incluye funcionalidades, tal vez, que no utilizamos.

Las siguientes configuraciones podrían afectar al performance de Local WP:

Los puntos anteriores se pueden solucionar, solo si el performance de Local WP para cada sitio es muy lento.

El sitio creado en Local WP es muy lento

Por ejemplo, un sitio creado con Local WP sin los trucos aquí descritos cargaría en 3.40 segundos.

Performance de Local WP de un sitio recién creado sin los trucos.
Performance de Local WP de un sitio recién creado sin los trucos.

La prueba fue hecha en la ruta /wp-admin/ y el sitio Local WP fue creado bajo el siguiente entorno:

Entorno del sitio creado en Local WP.
Entorno del sitio creado en Local WP.

Local WP es un software maravilloso para probar nuestros desarrollos de plugins y temas para WordPress.

Pero. ¿Estás dispuesto a esperar 3, e incluso más, segundos?

Truco #1. Desactivar Xdebug

La extensión Xdebug de PHP sirve, mayormente, para debugear, rastrear y analizar nuestro código. Si lo configuras adecuadamente verás cómo se está ejecutando tu código junto paso por paso.

Xdebug viene habilitado por default en cada sitio creado por Local WP; sin embargo, la extensión hace más lento la carga de tu sitio (al menos en Local WP).

Para desactivarlo, debes modificar el archivo php.ini.hbs (este archivo es el php.ini de cualquier servidor) de tu sitio. Éste se encuentra dentro de la carpeta <site-name>\conf\php. En mi caso, el archivo se encuentra en:

E:\Sites\local-performance\conf\php\php.ini.hbs

Abre el archivo con cualquier editor de textos y verás la configuración PHP de tu sitio.

Si vas hasta abajo, las últimas líneas de código, verás lo siguiente:

[xdebug]
{{#if os.windows}}
zend_extension = php_xdebug.dll
{{else}}
zend_extension = {{extensionsDir}}/xdebug.so
{{/if}}

xdebug.mode=debug
xdebug.client_port="9000"
xdebug.start_with_request=yes
xdebug.discover_client_host=yes

Esas líneas de código hay que comentarlas o borrarlas.

Si vas a borrar las líneas de código, antes pregúntate si las vas a usar en un futuro. Tal vez sea mejor comentar las líneas de código.

Si has optado por comentar las líneas de código, entonces se debería verse así:

{{!-- [xdebug] --}}
{{!-- {{#if os.windows}} --}}
{{!-- zend_extension = php_xdebug.dll --}}
{{!-- {{else}} --}}
{{!-- zend_extension = {{extensionsDir}}/xdebug.so --}}
{{!-- {{/if}} --}}

{{!-- xdebug.mode=debug --}}
{{!-- xdebug.client_port="9000" --}}
{{!-- xdebug.start_with_request=yes --}}
{{!-- xdebug.discover_client_host=yes --}}

Guarda el archivo y reinicia tu sitio Local donde has hecho el cambio.

Ahora ve a tu sitio Local y verás que la página /wp-admin/ ahora carga en 2.15 segundos.

Performance de Local WP después de desactivar XDebug.
Performance de Local WP después de desactivar XDebug.

A comparación del sitio original, hemos ahorrado 1.25 segundos.

Truco #2. DB_HOST con 127.0.0.1

La constante DB_HOST contiene el nombre del host donde se conectará nuestra base de datos, como MySQL o MariaDB.

Por default, la constante DB_HOST es igual a localhost. Este valor equivale a nuestra computadora actual o, como número IP, 127.0.0.1.

El problema de usar localhost en la constante DB_HOST es que el navegador y computadora necesitan hacer una búsqueda de DNS para identificar a qué, quién y dónde pertenece localhost.

Pero, para nuestro simple sitio creado en Local no es necesario aplicar DNS, ¿verdad?

Aquí es donde viene el truco. Debemos cambiar el valor de DB_HOST, de localhost a 127.0.0.1.

Encuentra el archivo wp-config.php de tu sitio Local. En mi caso, ese archivo se encuentra en la siguiente ruta:

E:\Sites\local-performance\app\public\wp-config.php

Abre el archivo wp-config.php con tu editor de textos, y dentro del archivo encuentra la constante DB_HOST:

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Reemplaza el valor localhost por 127.0.0.1. Debe quedar de la siguiente forma:

/** MySQL hostname */
define( 'DB_HOST', '127.0.0.1' );

Guarda los cambios y reinicia tu sitio Local.

Ahora ve a tu sitio Local y verás que la página /wp-admin/ ahora carga en 0.06 segundos.

Performance de Local WP después de cambiar localhost a 127.0.0.1.
Performance de Local WP después de cambiar localhost a 127.0.0.1.

El cambio es drástico.

El tiempo de carga original fue de 3.40 segundos y ahora tenemos un tiempo de carga de 0.06 segundos.

Hemos ahorrado 3.34 segundos, en comparación al tiempo original. Mientras que se ha ahorrado 2.09 segundos en comparación al tiempo obtenido cuando desactivamos Xdebug.

Ahora si estás listo para desarrollar tus plugins y temas usando Local WP con una velocidad de carga decente.

Truco #3: Desactiva el Site Domains

Como explicamos en el truco #2, cuando existe un dominio se tiene que realizar una búsqueda DNS para que el navegador te lleve al sitio web correcto.

Local WP utiliza dominios creados dinámicamente para acceder a los sitios en tu computadora.

Pero, ¿realmente necesitas usar dominios?

La clásica respuesta será: depende. Dependerá de ti el si usar dominios o solo el localhost:<puerto>.

La única diferencia que veo entre usar dominios o localhost es el HTTPS. Y si por alguna razón necesitas HTTPS en tu sitio Local, entonces debes usar dominios.

Si solo vas a desarrollar plugins o temas sin HTTPS entonces solo utiliza localhost.

Local WP tiene una opción dentro de Preferences->Advanced llamado Router Mode donde podrás cambiar entre Site Domains o localhost.

Selecciona Site Domains o Localhost.
Selecciona Site Domains o Localhost.

Cuando cambies entre uno y otro tendrás que reiniciar Local, y corregir las rutas de tus sitios (Local WP te mostrará un botón Fix para hacer la corrección automáticamente).

Referencias

Roel Magdaleno
Escrito por Roel Magdaleno

Roel Magdaleno es un ingeniero informático especializado en desarrollo web desde hace más de 5 años. Desarrolla sitios web, aplicaciones web, plugins para WordPress y scripts con PHP y JavaScript. Además, comparte su conocimiento en su blog personal.

2 comentarios en “Trucos para mejorar el performance de Local WP”

  1. Hola.
    Instale el localwp. Tanto el firewal como el antivirus me mandan alertas de seguridad y no me dejan aceder al 100% ¿Aque se debe esto? ¿como se puede solucionar?

    Responder
    • Hola Jahaziel.

      Tengo unas preguntas:

      1. ¿Descargaste el programa desde la página oficial?
      2. ¿Las alertas de seguridad suceden cuando creas un sitio web en Local WP?
      3. ¿Qué alertas de seguridad son, puedes adjuntar un screenshot en un comentario?

      Las alertas de firewall o antivirus suceden porque cuando se crea un sitio, Local WP ejecuta los scripts de NGINX/Apache, MySQL, PHP, entre otros para crear e iniciar el sitio web y esos scripts pueden ser detectados como maliciosos, cuando no lo son (son falsos-positivos).

      Lo que puedes hacer es ver la alerta de seguridad en tu antivirus y firewall, ver qué archivo está detectando y agregarlo a las exclusiones del antivirus.

      Gracias por comentar esto. Saludos.

Deja un comentario