Diferencia entre revisiones de «24/Cacheando»

De MoodleDocs
(traduciendo)
(tidy up)
 
(No se muestran 7 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
{{Desempeño}}
{{Desempeño}}
{{Pendiente de traducir}}
{{Versiones|Esta documentación es para Moodle 2.4 pero existe documentación para Moodle 3.2 y más recientes en [[Cacheando]]}}
 
{{Performance}}


La caché es un conjunto de datos procesados ​​que se mantiene en a mano listos para volver a utilizase y así evitar las consultas de base de datos costosas repetitivas.
La caché es un conjunto de datos procesados ​​que se mantiene en a mano listos para volver a utilizase y así evitar las consultas de base de datos costosas repetitivas.
Línea 36: Línea 34:
==== Tipos y sistemas de caché en varios servidores ====
==== Tipos y sistemas de caché en varios servidores ====


Si tiene un sistema con varios servidores web front-end , la caché de la aplicación debe ser compartido entre los servidores. En otras palabras, no se puede utilizar la ubicación de almacenamiento rápido para la caché de la aplicación , pero debe usar almacenamiento compartido o algún otro tipo de memoria caché compartida , como un memcache compartido.
Si tiene un sistema con varios servidores web front-end, la caché de la aplicación debe ser compartido entre los servidores. En otras palabras, no se puede utilizar la ubicación de almacenamiento rápido para la caché de la aplicación, pero se debe usar el almacenamiento compartido o algún otro tipo de memoria caché compartida, como un memcache compartido.


Lo mismo ocurre con la caché de sesión , a menos que utilice el mecanismo de « sesiones pegajosas " para asegurar Que En una sesión , los usuarios siempre tienen acceso al servidor del mismo front-end .
Lo mismo ocurre con la caché de sesión, a menos que se utilice el mecanismo de "sesiones pegajosas" para asegurar Que En una sesión, los usuarios siempre tienen acceso al servidor del mismo front-end .


====Tiendas de caché instalados ====
====Caché instalados ====


Esta sección de la pantalla muestra administrador del cache de los plugins que se instalan en el sistema. En él se enumeran cuáles son las capacidades de cada plugin, qué tipo de caché y proporciona Permite Proporcionan el almacén de caché que se añade al sistema.
Esta sección de la pantalla muestra administrador del cache de los plugins que se instalan en el sistema. En él se enumeran cuáles son las capacidades de cada plugin, qué tipo de caché y proporciona el almacén de caché que se añade al sistema.


===Instancias del almacén configurados ===
===Instancias del almacén configurados ===
Línea 50: Línea 48:
===Casos de bloqueo de caché ===
===Casos de bloqueo de caché ===


Moodle soporta diferentes mecanismos de acceso ' bloqueo ' a las distintas tiendas de caché. En la actualidad no es sólo una opción y no se utiliza , por lo que con seguridad se puede ignorar .
Moodle soporta diferentes mecanismos de acceso al 'bloqueo' de los distinitos caché. En la actualidad es sólo una opción que casi nunca se usa, por lo que con seguridad se puede ignorar .


===Definiciones caché conocidos ===
===Definiciones caché conocidos ===


Definiciones caché conocidos que muestra los caches están en uso por Moodle. Cada elemento es un área de Moodle que está utilizando el almacenamiento en caché . Se le da al administrador la posibilidad de configurar un área individual de Moodle utilice un motor de caché diferente. Por ejemplo , un administrador de un grupo Moodle puede optar por hacer idioma definiciones cadena ser almacenado en caché en el servidor memcached dedicada utilizando el backend caché memcached . Consulte la sección siguiente para obtener más información sobre la configuración de los mismos.
Definiciones caché conocidos que muestra los caches están en uso por Moodle. Cada elemento es un área de Moodle que está utilizando el almacenamiento en caché . Se le da al administrador la posibilidad de configurar un área individual de Moodle para que utilice un motor de caché diferente. Por ejemplo , un administrador de un grupo Moodle puede optar por hacer definiciones cadena para almacenar en caché en el servidor memcached dedicada utilizando el backend caché memcached. Consulte la sección siguiente para obtener más información sobre la configuración de los mismos.


==Definición de la configuración de caché ==
==Definición de la configuración de caché ==


Cada caché diferente , se puede configurar de forma independiente , lo que permite a los administradores de " sintonizar " su configuración para los sistemas particulares.
Cada caché es diferente, se puede configurar de forma independiente, lo que permite a los administradores de "sintonizar" su configuración para los sistemas particulares.


Por defecto estos cachés está todo listo para usar archivos , que suele ser muy bien en un sistema de un servidor pequeño .
Por defecto estos cachés están listos para usar archivos, que suelen estar muy bien para un sistema de un servidor pequeño.


En un clúster, Sin embargo , estos valores predeterminados pueden causar problemas, ya que los sistemas de archivos compartidos son lentos, por lo que en estos casos se recomienda utilizar el almacenamiento en caché más rápido compartida como backend memcached lugar . Tenga en cuenta que la mayoría de estos caches que operan bajo el supuesto de Que Son compartidos .
En un clúster, Sin embargo , estos valores predeterminados pueden causar problemas, ya que los sistemas de archivos compartidos son lentos, por lo que en estos casos se recomienda utilizar el almacenamiento en caché más rápido compartida como backend memcached. Tenga en cuenta que la mayoría de estos caches que operan bajo el supuesto de Que Son compartidos .


En algunos casos se puede optar por utilizar una caché no compartida como el sistema de archivos local Sin embargo, en estos casos que tener cuidado de caches purga manualmente la parte de la administración del sistema .
En algunos casos se puede optar por utilizar una caché no compartida como el sistema de archivos local Sin embargo, en estos casos que tener cuidado de caches purga manualmente la parte de la administración del sistema .


La referencia siguiente está pensado para ayudarle a entender cómo funciona cada caché definición para que pueda sintonizar adecuadamente :
La referencia siguiente está pensado para ayudarle a entender cómo funciona cada caché definición para que pueda sintonizar adecuadamente:
 
( Nota para los editores doc , necesitamos contribuciones inferiores :)


===Language string caché ===
===Language string caché ===
Línea 74: Línea 70:
Se trata de una caché de cadenas calculadas Qué se extraen originalmente de archivos de idioma.
Se trata de una caché de cadenas calculadas Qué se extraen originalmente de archivos de idioma.


En Moodle 2.5 , esta
En Moodle 2.5
* Espera caché compartida
* Espera de caché compartida
* Si no se comparte , se debe purgar manualmente cadena de idioma después de cualquier cambio de ubicación, como lang packs de edición , actualización de paquetes lang Durante la actualización , instalación o desinstalación de idiomas
* Si no se comparte , se debe purgar manualmente la cadena de idioma después de cualquier cambio de ubicación, como lang packs de edición , actualización de paquetes lang Durante la actualización , instalación o desinstalación de idiomas


En Moodle 2.6 y versiones posteriores , esta
En Moodle 2.6 y versiones posteriores
* Funciona bien con ubicación compartida o caches nodo , usted no tiene que hacer nada especial .
* Funciona bien con ubicación compartida o modo caches , usted no tiene que hacer nada especial .


=== Base de datos de Metainformación===
=== Base de datos de Metainformación===


Se trata de una caché de información de la estructura de base de datos .
Se trata de una caché de información con la estructura de base de datos .


* Requiere caché compartida
* Requiere caché compartida
* Si no se comparte , cachés deben ser invalidadas después de cualquier cambio de la estructura de base de datos , incluida la creación de tablas temporales
* Si no se comparte , los cachés deben ser invalidadas después de cualquier cambio de la estructura de base de datos , incluida la creación de tablas temporales


===Invalidación Evento ===
===Invalidación Evento ===
Línea 95: Línea 91:
* Requiere caché compartida .
* Requiere caché compartida .


===Definiciones Pregunta ===
===Definiciones de Pregunta ===


Este caché se utiliza por las tiendas y las preguntas del banco de preguntas.
Este caché se utiliza por las tiendas y las preguntas del banco de preguntas.
Línea 129: Línea 125:


===Suscripciones Calendario ===
===Suscripciones Calendario ===
* ¿Qué es la memoria caché : - las entradas de registro de la tabla ' event_subscriptions ' , en representación de varias suscripciones de calendario.
* ¿Qué es la memoria caché? : - las entradas de registro de la tabla ' event_subscriptions ' , en representación de varias suscripciones de calendario.
* Cuando la caché se actualiza : - Cuando la suscripción calendario se actualiza o se elimina .
* ¿Cuando la caché se actualiza? : - Cuando la suscripción calendario se actualiza o se elimina .
* ¿Con qué frecuencia se golpea : - Cada vez que se recupera un detalle suscripción calendario.
* ¿Con qué frecuencia se actualiza? : - Cada vez que se recupera un detalle suscripción calendario.
* ¿Cuándo debe ser la caché completamente purgado : - Esto no debería ser necesario .
* ¿Cuándo debe ser la caché completamente purgado? : - Esto no debería ser necesario .


===Definiciones Módulo YUI ===
===Definiciones Módulo YUI ===
Línea 245: Línea 241:
# In Moodle 2.6 onwards make sure you set $CFG->localcachedir to some local directory in config.php (for each node).  This will speed up some of the disk caching that happens outside of MUC, such as themes, javascript, libraries etc.
# In Moodle 2.6 onwards make sure you set $CFG->localcachedir to some local directory in config.php (for each node).  This will speed up some of the disk caching that happens outside of MUC, such as themes, javascript, libraries etc.


==See also==
==Véase también==


Using Moodle forum discussions:
Using Moodle forum discussions:
Línea 253: Línea 249:
* [https://moodle.org/mod/forum/discuss.php?d=232122 moodle cachestore_file]
* [https://moodle.org/mod/forum/discuss.php?d=232122 moodle cachestore_file]


Developer documentation:
Documentation para desarrolladores:
* [[:dev:The Moodle Universal Cache (MUC)]]
* [[:dev:The Moodle Universal Cache (MUC)]]
* [[:dev:Cache API]]
* [[:dev:Cache API]]
* [[:dev:Cache API - Quick reference]]
* [[:dev:Cache API - Quick reference]]


Other:
Otros:
* [http://jfilip.ca/2013/08/20/moodle-2-4-5-vs-2-5-1-performance-and-muc-apc-cache-store/ Moodle 2.4.5 vs. 2.5.1 performance and MUC APC cache store] blog post by Justin Filip
* [http://jfilip.ca/2013/08/20/moodle-2-4-5-vs-2-5-1-performance-and-muc-apc-cache-store/ Moodle 2.4.5 vs. 2.5.1 performance and MUC APC cache store] blog post by Justin Filip



Revisión actual - 01:12 6 dic 2016

note icon.png Existe documentación diferente para varias versiones de Moodle: Esta documentación es para Moodle 2.4 pero existe documentación para Moodle 3.2 y más recientes en Cacheando


La caché es un conjunto de datos procesados ​​que se mantiene en a mano listos para volver a utilizase y así evitar las consultas de base de datos costosas repetitivas.

Moodle 2.4 vio la Implementación del MUC, la Universal Cache Moodle. Este nuevo sistema permite que ciertas funciones de Moodle (por ejemplo, cadena de obtención) se aprovechan de los diferentes servicios instalados (por ejemplo, archivos de caché, memoria RAM, memcached).

En futuras versiones de Moodle vamos a seguir ampliando el número de funciones de Moodle para el uso de MUC, que continuará Mejorando el desempeño, pero ya podemos empezar a usarlo para mejorar tu sitio web.


Enfoque general para las pruebas de rendimiento

Esta es la estrategia general que debe tomar:

  1. Construir un entorno de prueba cercano a lo real lo más parecido a un entorno en producción (por ejemplo, hardware, software, redes, etc)
  2. Asegúrese de eliminar las muchas variables no controladas de este entorno (por ejemplo, otros servicios)
  3. Utilice la herramienta para colocar una carga en el servidor de forma realista, pero simulado. (Por ejemplo jmeter o selenio).
  4. Decidir sobre la forma de medir el rendimiento del servidor mediante la captura de datos (RAM, carga, tiempo empleado, etc)
  5. Ejecutar la carga y medir el resultado de rendimiento de referencia.
  6. Cambiar una variable a la vez, y volver a ejecutar la carga para ver si el rendimiento mejora o empeora. Repita el necesario.
  7. Cuando descubras que ajuste arroja como resultado una mejora de rendimiento constante, aplicalo en tu ambiente de producción.

Cómo utilizar la configuración de almacenamiento en caché

Desde Moodle 2.4, Moodle ha proporcionado un marco de plugin de caché para proporcionar a los administradores la capacidad de controlar en Moodle como se almacenan los datos en caché. Para la mayoría de los sitios de Moodle la configuración predeterminada es suficiente y no es necesario cambiar la configuración. Moodle para sitios más grandes con varios servidores, los administradores pueden desear usar memcached mongodb u otros sistemas, para almacenar datos en caché. La pantalla plugin de caché proporciona a los administradores la posibilidad de configurar los datos que se almacenan en caché.

Tipos de caché

Moodle utiliza tres tipos de caché para almacenar datos en caché:

  • Cache a petición - La caché a petición está disponible durante la duración de cada petición. No se comparte entre usuarios y es utilizado por Moodle limpiandose en cada solicitud.
  • Caché de sesión - La caché de sesión está disponible a través de una sesión de los usuarios de Moodle. No se comparte entre los usuarios, pero persiste por un solo usuario a lo largo de su período de sesiones (es decir, desde cuando hace login hasta cuando cierra la sesión)
  • Memoria caché de aplicaciones - El caché de la aplicación es una caché compartida que está disponible para todas las solicitudes. Puede ser compartida entre los usuarios y los datos almacenados en caché se puede mantener indefinidamente si es necesario.

Tipos y sistemas de caché en varios servidores

Si tiene un sistema con varios servidores web front-end, la caché de la aplicación debe ser compartido entre los servidores. En otras palabras, no se puede utilizar la ubicación de almacenamiento rápido para la caché de la aplicación, pero se debe usar el almacenamiento compartido o algún otro tipo de memoria caché compartida, como un memcache compartido.

Lo mismo ocurre con la caché de sesión, a menos que se utilice el mecanismo de "sesiones pegajosas" para asegurar Que En una sesión, los usuarios siempre tienen acceso al servidor del mismo front-end .

Caché instalados

Esta sección de la pantalla muestra administrador del cache de los plugins que se instalan en el sistema. En él se enumeran cuáles son las capacidades de cada plugin, qué tipo de caché y proporciona el almacén de caché que se añade al sistema.

Instancias del almacén configurados

Esta sección de la pantalla muestra administrador de caché qué tiendas se han añadido al sistema. Se ofrece la posibilidad de cambiar la configuración de caché y depurar los datos almacenados en caché.

Casos de bloqueo de caché

Moodle soporta diferentes mecanismos de acceso al 'bloqueo' de los distinitos caché. En la actualidad es sólo una opción que casi nunca se usa, por lo que con seguridad se puede ignorar .

Definiciones caché conocidos

Definiciones caché conocidos que muestra los caches están en uso por Moodle. Cada elemento es un área de Moodle que está utilizando el almacenamiento en caché . Se le da al administrador la posibilidad de configurar un área individual de Moodle para que utilice un motor de caché diferente. Por ejemplo , un administrador de un grupo Moodle puede optar por hacer definiciones cadena para almacenar en caché en el servidor memcached dedicada utilizando el backend caché memcached. Consulte la sección siguiente para obtener más información sobre la configuración de los mismos.

Definición de la configuración de caché

Cada caché es diferente, se puede configurar de forma independiente, lo que permite a los administradores de "sintonizar" su configuración para los sistemas particulares.

Por defecto estos cachés están listos para usar archivos, que suelen estar muy bien para un sistema de un servidor pequeño.

En un clúster, Sin embargo , estos valores predeterminados pueden causar problemas, ya que los sistemas de archivos compartidos son lentos, por lo que en estos casos se recomienda utilizar el almacenamiento en caché más rápido compartida como backend memcached. Tenga en cuenta que la mayoría de estos caches que operan bajo el supuesto de Que Son compartidos .

En algunos casos se puede optar por utilizar una caché no compartida como el sistema de archivos local Sin embargo, en estos casos que tener cuidado de caches purga manualmente la parte de la administración del sistema .

La referencia siguiente está pensado para ayudarle a entender cómo funciona cada caché definición para que pueda sintonizar adecuadamente:

Language string caché

Se trata de una caché de cadenas calculadas Qué se extraen originalmente de archivos de idioma.

En Moodle 2.5

  • Espera de caché compartida
  • Si no se comparte , se debe purgar manualmente la cadena de idioma después de cualquier cambio de ubicación, como lang packs de edición , actualización de paquetes lang Durante la actualización , instalación o desinstalación de idiomas

En Moodle 2.6 y versiones posteriores

  • Funciona bien con ubicación compartida o modo caches , usted no tiene que hacer nada especial .

Base de datos de Metainformación

Se trata de una caché de información con la estructura de base de datos .

  • Requiere caché compartida
  • Si no se comparte , los cachés deben ser invalidadas después de cualquier cambio de la estructura de base de datos , incluida la creación de tablas temporales

Invalidación Evento

Este caché se utiliza para gestionar la invalidación evento.

  • Cuando se invalida algo, se purga inmediatamente y un registro de eventos se crea con la marca de tiempo .
  • Requiere caché compartida .

Definiciones de Pregunta

Este caché se utiliza por las tiendas y las preguntas del banco de preguntas.

  • Esta pregunta se actualiza cuando se carga o editado .
  • No requiere garantía actualizado.
  • Requiere caché compartida .

Purificador HTML - contenido limpiado

Se trata de un alijo de textos ( mensajes en el foro , los recursos , intros , etc, etc ) de todas partes de Moodle, después de haber sido limpiado de la posible fecha malicioso.

En Moodle 2.5 ,

  • Esta espera una caché compartida
  • Si no se comparte , se debe purgar manualmente después de cada actualización o cambio de $ CFG- > Configuración de allowobjectembed

En Moodle 2.6 y versiones posteriores ,

  • Este precioso con una ubicación compartida o caches nodo obras , que no tienen que hacer nada especial.

Ajustes de configuración

Esto se utiliza para almacenar datos de configuración y config_plugins tabla de base de datos .

  • Esta caché está siendo golpeado bastante a menudo para los ajustes de configuración .
  • Requiere caché compartida .

Grupo Información del curso

Esta caché almacena los grupos y agrupaciones pertenecientes a la fecha del curso .

Cuando los grupos * se actualiza la fecha se recupera para el curso.

  • Requiere caché compartida .

Suscripciones Calendario

  • ¿Qué es la memoria caché? : - las entradas de registro de la tabla ' event_subscriptions ' , en representación de varias suscripciones de calendario.
  • ¿Cuando la caché se actualiza? : - Cuando la suscripción calendario se actualiza o se elimina .
  • ¿Con qué frecuencia se actualiza? : - Cada vez que se recupera un detalle suscripción calendario.
  • ¿Cuándo debe ser la caché completamente purgado? : - Esto no debería ser necesario .

Definiciones Módulo YUI

Este módulo almacena los metadatos para módulos YUI YUI movió en Moodle.

  • Sirve YUI metadatos módulo, JS Cuando la memoria caché está habilitada.
  • Requiere caché compartida .

Observadores de eventos

Introducido en 2.6

Este caché se utiliza para almacenar la lista de observadores del evento.

  • Se actualiza instalar / actualizar la lista , mientras que la inicialización de los observadores del evento.
  • Se accede a este caché, cuando se trigged evento.
  • Requiere caché compartida .

Información Programas base

Este caché se utiliza por clase de complemento plugininfo_base y almacena información .

  • Se accede al cargar / comprobación de versiones del plugin desde el disco.
  • Requiere caché compartida .

Info Plugin - módulos de actividad

Este caché se utiliza por clase y plugininfo_mod Proporcionar acceso a los registros en la tabla de módulos.

  • Se accede al cargar / comprobación de módulos.
  • Requiere caché compartida .

Info Plugin - bloques

Este caché se utiliza por clase y plugininfo_block Proporcionar acceso a los registros de la tabla de bloque.

  • Se accede al cargar / comprobación de bloques.
  • Requiere caché compartida .

Info Plugin - filtros

Esta caché es usada por los nombres de clase plugininfo_filter y tiendas de todos los filtros instalados.

  • Se accede al cargar / comprobación de filtros instalados.
  • Requiere caché compartida .

Info Plugin - repositorios

Este caché se utiliza por clase y plugininfo_repositories Proporcionar acceso a los registros de la tabla del repositorio.

  • Se accede al cargar repositorios habilitados .
  • Requiere caché compartida .

Info Plugin - carteras

Este caché se utiliza por clase plugininfo_portfolio y la lista de las tiendas de la cartera de plugins habilitados .

  • Se accede al comprobar si la cartera está habilitado.
  • Requiere caché compartida .

Categorías Curso árbol

Este caché se utiliza para almacenar el árbol lleno de categorías de cursos

  • Se accede a la vez que resulta o dirigiendo curso categoría.
  • Obtiene invalidada changesincoursecat Cuando se dispara evento.
  • Requiere caché compartida .

Categorías de golf listas para el usuario particular

Se utiliza para almacenar los datos para las categorías visibles al usuario actual curso. Ayuda para navegar por la lista de categorías

  • Se accede a la vez que resulta categoría del curso para el usuario.
  • Cuando se invalida trigged changesincoursecat o changesincourse evento.
  • Requiere caché compartida .

Curso Categorías registros

Este caché se utiliza para almacenar supuesto categoría de objetos , con el registro de los datos en la tabla course_categories

  • Se accede a ella mientras que la categoría supuesto de representación
  • Se invalida changesincoursecat Cuando se dispara evento.
  • Exigir caché local

Lista de contactos supuesto

Esta caché almacena los contactos de los cursos

  • Se accede al intentar mostrar / búsqueda supuesto
  • Requiere caché compartida .

Casos Repositorios fecha

Este caché se utiliza para almacenar datos de los repositorios para evitar las consultas repetitivas DB Dentro de una solicitud

  • Requiere caché local .

Cuando se usa en la cartografía

Esta sección muestra los almacenes de caché por defecto que debe ser usado por Moodle Moodle para cada tipo de caché. Si la asignación para la definición de caché no existe, entonces este valor predeterminado tienda será utilizado en su lugar.

Otros - Las pruebas de rendimiento

Dos enlaces Que podría ser útil para cualquiera que esté considerando el rendimiento de pruebas en sus propios servidores :

Other performance advice for load-balanced web servers

  1. In Moodle 2.4 onwards with load-balanced web servers, don't use the default caching option that stores the data in moodledata on a shared network drive. Use memcached instead. See Tim Hunt's article on http://tjhunt.blogspot.de/2013/05/performance-testing-moodle.html
  2. In Moodle 2.6 onwards make sure you set $CFG->localcachedir to some local directory in config.php (for each node). This will speed up some of the disk caching that happens outside of MUC, such as themes, javascript, libraries etc.

Véase también

Using Moodle forum discussions:

Documentation para desarrolladores:

Otros:

Vea https://docs.moodle.org/24/en/Caching

Moodle 2.4 con servidores web con balanceo de carga

Si Usted está ejecutando Moodle 2.4 con servidores web con balanceo de carga, no utilice la opción por defecto para caché que almacena los datos en moodledata en un disco de red compartido. Utilice en su lugar memcache. Vea el artículo de Tim Hunt's en http://planet.moodle.org/ de fecha 02 Mayo 2013.