plugin-icon

Index WP MySQL For Speed

Acelera tu sitio de WordPress añadiendo claves de alto rendimiento (índices de base de datos) a las tablas de tu base de datos MariaDB / MySQL.
Calificaciones
4.8
Última actualización
May 15, 2024
Versión
1.4.18
Instalaciones activas
30K
Index WP MySQL For Speed

¿Cómo utilizo este plugin?

Después de instalar y activar este plugin, visita la Herramienta Index MySQL en el menú de herramientas. Desde ahí puedes pulsar el botón de Añadir claves ahora. Si tienes tablas grandes úsalo con WP-CLI para evitar tiempos de espera. Mira la sección de WP-CLI para saber más.

¿Qué hace por mi sitio?

Este plugin trabaja para hacer que tu base de datos MySQL funcione más eficientemente añadiendo claves de alto rendimiento a las tablas que elijas. Bajo petición, analiza el uso que tu sitio hace de tu base de datos MySQL para detectar qué operaciones de la base de datos son más lentas. Es muy útil para sitios grandes: sitios con muchos usuarios, entradas, páginas y/o productos.

Puedes usarlo para restaurar las claves por defecto de WordPress si es necesario.

¿De qué va todo esto?

¿Dónde almacena WordPress todo eso que hace que tu sitio sea genial? ¿Dónde están tus páginas, entradas, productos, medios, usuarios, campos personalizados, metadatos y todo tu valioso contenido? Todos esos datos están en el sistema de gestión de bases de datos relacionales MySQL. (Muchos proveedores de alojamiento y servidores utilizan la bifurcación MariaDB del software MySQL; funciona exactamente igual que el propio MySQL).

A medida que tu sitio crece, tus tablas MySQL crecen. Las tablas gigantes pueden ralentizar la carga de las páginas, frustrar a los usuarios e incluso perjudicar su posicionamiento en los motores de búsqueda. Además, las importaciones masivas pueden llevar cantidades absurdas de tiempo. ¿Qué puedes hacer al respecto?

Puedes instalar y utilizar un plugin limpiador de bases de datos para deshacerte de datos antiguos no deseados y reorganizar tus tablas. Eso las hace más pequeñas y, por tanto, más rápidas. Esa es una tarea buena y necesaria. Sin embargo, esa no es la tarea de este plugin. Puedes, si tu proveedor de hosting lo admite, instalar y usar un plugin de caché de objetos persistente para reducir el tráfico a tu base de datos. Esa tampoco es la tarea de este plugin.

Este plugin añade claves de base de datos (también llamadas índices) a tus tablas MySQL para facilitar que WordPress encuentre la información que necesita. Todos los sistemas de gestión de bases de datos relacionales almacenan su información en tablas de larga duración. Por ejemplo, WordPress almacena tus entradas y resto de contenido en una tabla llamada wp_posts, y los campos personalizados de las entradas en otra tabla llamada wp_postmeta.

  1. Mantener todos esos datos organizados.
  2. Encontrar rápidamente los datos que necesita.

To do its second job, MySQL uses database keys. Each table has one or more keys. For example, wp_posts has a key to let it quickly find posts when you know the author. Without its post_author key MySQL would have to scan every one of your posts looking for matches to the author you want. Our users know what that looks like: slow. With the key, MySQL can jump right to the matching posts.

En un nuevo sitio WordPress con un par de usuarios y una docena de entradas, las claves no importan mucho. A medida que el sitio crece las claves empiezan a importar, y mucho. Los sistemas de gestión de bases de datos están diseñados para que sus claves se actualicen, ajusten y modifiquen a medida que crecen las tablas. Están diseñados para permitir que las claves evolucionen sin cambiar el contenido de las tablas subyacentes. En las organizaciones con grandes bases de datos, añadir, eliminar o modificar claves no cambia los datos subyacentes. Es una tarea de mantenimiento rutinaria en muchos centros de datos. Si el cambio de claves hiciera que las bases de datos perdieran datos, los desarrolladores de MySQL y MariaDB oirían aullar no sólo a ti y a mí, sino a muchos usuarios de peso. (Por supuesto, deberías hacer una copia de seguridad de tu instancia de WordPress).

Mejores claves permiten que el código de WordPress funcione más rápido sin ningún cambio en el código. La experiencia con grandes sitios muestra que muchas ralentizaciones de MySQL pueden mejorarse con mejores claves. El código es poesía, los datos son tesoros, y las claves de base de datos son la grasa que hace que el código y los datos trabajen juntos sin problemas.

¿A qué tablas añade claves el plugin?

Este plugin añade y actualiza claves en estas tablas de WordPress.

  • wp_comments
  • wp_commentmeta
  • wp_posts
  • wp_postmeta
  • wp_termmeta
  • wp_users
  • wp_usermeta
  • wp_options

Sólo necesitas ejecutar este plugin una vez para obtener sus beneficios.

How can I monitor my database’s operation?

On the Index MySQL page (from your Tools menu on your dashboard), you will find the «Monitor Database Operations» tab. Use it to request monitoring for a number of minutes you choose.

Puedes vigilar

  • either the site (your user-visible pages) or the dashboard, or both.
  • all pageviews, or a random sample. (Random samples are useful on very busy sites to reduce monitoring overhead.)

Una vez recopilada la información de monitorización, puedes ver las consultas capturadas y ordenarlas por el tiempo que tardan. O puedes guardar la información del monitor en un archivo y mostrársela a alguien que sepa de operaciones con bases de datos. O puedes subir el monitor a los servidores del plugin para que los autores puedan verlo.

Es una buena idea monitorizar durante un intervalo de cinco minutos en un momento del día en que tu sitio esté ocupado. Una vez completada la monitorización, puedes examinarla para determinar qué operaciones de la base de datos te están ralentizando más.

Please consider uploading your saved monitors to the plugin’s servers. It’s how we learn from your experience to keep improving. Push the Upload button on the monitor’s tab.

WP-CLI command line operation

This plugin supports WP-CLI. When your tables are large this is the best way to add the high-performance keys: it doesn’t time out.

Give the command wp help index-mysql for details. A few examples:

  • wp index-mysql status shows the current status of high-performance keys.
  • wp index-mysql enable --all adds the high-performance keys to all tables that don’t have them.
  • wp index-mysql enable wp_postmeta adds the high-performance keys to the postmeta table.
  • wp index-mysql disable --all removes the high-performance keys from all tables that have them, restoring WordPress’s default keys.
  • wp index-mysql enable --all --dryrun writes out the SQL statements necessary to add the high-performance keys to all tables, but does not run them.
  • wp index-mysql enable --all --dryrun | wp db query writes out the SQL statements and pipes them to wp db to run them.

Note: avoid saving the –dryrun output statements to run later. The plugin generates them to match the current state of your tables.

¿Qué novedades trae la última versión?

Desde la primera versión nuestros usuarios nos han contado muchas más oportunidades para acelerar sus operaciones de WooCommerce y el núcleo. Hemos añadido claves a las tablas meta para ayudar con la búsqueda de contenido, y a la tabla users para buscar personas por sus nombres visibles. Y ahora puedes subir monitores guardados para que podamos ver tus consultas más lentas. Usaremos esa información para mejorar futuras versiones. ¡Gracias, queridos usuarios!

El plugin ahora gestiona correctamente las actualizaciones de versión de WordPress: no altera tus claves de alto rendimiento.

We have added the –dryrun switch to the WP-CLI interface for those who want to see the SQL statements we use.

¿Por qué utilizar este plugin?

Tres motivos (quizá cuatro):

  1. para reducir la huella de carbono.
  2. para reducir la huella de carbono.
  3. para reducir la huella de carbono.
  4. para ahorrar tiempo a la gente.

En serio, los microwatios hora de electricidad ahorrados por las tecnologías de las webs más rápidas se acumulan rápidamente, especialmente a la escala global de WordPress.

Agradecimientos

  • Michael Uno for Admin Page Framework.
  • Marco Cesarato for LiteSQLParser.
  • Allan Jardine for Datatables.net.
  • Japreet Sethi for advice, and for testing on his large installation.
  • Rick James for everything.
  • Jetbrains por sus herramientas IDE, especialmente PhpStorm. Es difícil imaginar tratar de navegar por una base de código épica sin sus herramientas.
Instalaciones activas
30K
Probado hasta
6.5.5
Te puedes descargar este plugin para utilizarlo en tu instalación autoalojada de WordPress.