¿Qué consejos tiene para acelerar (el rendimiento de) una instalación de MediaWiki?

8

Tenemos una instalación de MediaWiki y recibimos quejas de que cada vez es más lenta. ¿Cómo podemos aumentar la velocidad / rendimiento?

Tengo un consejo (que agregaré a continuación) pero estoy realmente interesado en escuchar más. Preferiblemente un consejo por respuesta.

Restablece a Monica - Goodbye SE
fuente
1
Aquí hay un enlace útil que encontré: dom.as/2007/01/26/mediawiki-performance-tuning
Reinstate Monica - Goodbye SE
O el más completo y reciente mediawiki.org/wiki/Manual:Performance_tuning
Nemo

Respuestas:

4

En lugar de la memoria caché, especialmente si su sitio es de tamaño pequeño a mediano, por lo que el tamaño total de todas las páginas hmtl no es un problema; una solución simple es simplemente activar la caché de archivos.

http://www.mediawiki.org/wiki/Manual:File_cache

Pasé varias horas hoy tratando de encender cualquiera de las soluciones de almacenamiento en memoria caché recomendadas por mediawiki en mi alojamiento compartido (en bluehost) y no encontré ninguna forma de hacerlo, y luego descubrí esta opción y resolvió todos los problemas.

Esta es la wiki con el almacenamiento en caché de archivos activado:

http://robertinventor.com/bmwiki

Antes del almacenamiento en caché de archivos, la carga de la mayoría de las páginas tardó varios segundos, y a veces mucho más, hasta minutos, según los registros de análisis de Google.

Robert Walker
fuente
4

Algunos buenos consejos aquí . Para mí, lo que marcó la mayor diferencia (de 8 segundos a 0 en IIS 7) fue habilitar el almacenamiento en caché y el cambio $wgDBserver = "127.0.0.1";(desde localhost). Por alguna razón, localhost se estaba resolviendo a través de la red.

Aquí está la publicación completa de Jaded:

  1. Uno de los mayores impactos, reducir la carga de 15 segundos a alrededor de 6 o 7 fue habilitar el almacenamiento en caché y la aceleración de Mediawiki, como se detalla en esta publicación: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-caching-and-friendlyshort-urls.aspx . En resumen, habilite lo siguiente en su archivo Mediawiki localsettings.php:

    $wgCacheDirectory = "c:\your\path\to\cache";
    $wgFileCacheDirectory = "c:\your\path\to\cache ";
    $wgEnableSidebarCache = true;
    $wgUseFileCache = true;
    $wgShowIPinHeader = false;
    $wgEnableParserCache = true;
    $wgCachePages = true;
    
    $wgMainCacheType = CACHE_ACCEL;
    $wgMessageCacheType = CACHE_ACCEL;
    $wgParserCacheType = CACHE_ACCEL;
    $wgMemCachedServers = array();
    

    Asegúrese de que sus cuentas locales IUSR e IIS_IUSR tengan permisos "Modificar" en el directorio de caché, o de lo contrario los archivos y directorios del motor de almacenamiento en caché de Mediawiki no podrán escribir en ellos.

  2. Hice algunos cambios menores en el almacenamiento en caché en PHP usando Wincache, pero eso no tuvo ningún efecto: habilítelo y configúrelo si lo desea desde una perspectiva de PHP, pero no espere un salto importante. Lo mismo ocurre con el almacenamiento en caché de consultas MySQL: mi sitio Wiki es relativamente pequeño, con un uso mínimo, por lo que el almacenamiento en caché de consultas MySQL no fue una gran mejora.

  3. El último clavo en el ataúd para actualizar el sitio fue modificar la configuración de $ wgDBserver en mi archivo Mediawiki LocalSettings.php. Se configuró en "Localhost", y esta publicación http://forums.iis.net/t/1153459.aspx/3/10 sugirió que el uso de "Localhost" en Windows 7 en adelante y Server 2008 en adelante comienza a involucrar a IPv6 en La consulta de la página. La capa de transporte tenía que resolver localhost y lo hacía negociando entre una dirección IPv4 y una dirección IPv6, que PHP y MySQL necesitaban resolver antes de permitir que la página se procesara. Parece que este todavía no es un protocolo integrado totalmente compatible, por lo que configurar $ wgDBserver en la dirección IPv4 de "127.0.0.1" llevó la representación de 6 segundos a solo 1 segundo - ¡problema resuelto!

Alma sónica
fuente
3

Active el almacenamiento en caché en LocalSettings.php. Haga esto agregando / cambiando esta línea:

$wgMainCacheType = CACHE_ACCEL;

Consulte el Manual: Caché y esta página de mwusers .

Restablece a Monica - Goodbye SE
fuente
2

En primer lugar, debe asegurarse de utilizar el servidor Apache '' '. Mediawiki es más lento si lo ha instalado en Windows Server o IIS. Si está en el servidor de Windows Mueva las carpetas de la aplicación al servidor Linux. Servidor de Windows y Linux para la Guía de Mediawiki

Viola
fuente
0

Esto puede no ser relevante con las versiones actuales de MW, pero verifique la configuración de php mbstring.func_overload. Lo configuré en 2 (como requisito para una pequeña instalación de zabbix) y eliminó el rendimiento de una instalación de 1.12 MW en el mismo servidor.

SmallClanger
fuente
¡gracias! Lo comprobaré
Restablecer Monica - Adiós SE
de acuerdo con: mediawiki.org/wiki/PHP_configuration mbstring.func_overload Esta opción causa errores y puede corromper los datos de manera impredecible; MediaWiki se negará a instalar si esta opción está activada. Entonces supongo que esto no es aplicable.
Restablecer Monica - Adiós SE
0

Use un cacher de código de operación php, asegúrese de que dB no sea el cuello de botella, considere usar un cacher http como barniz.

3molo
fuente
¿Me puede dar un poco más de detalle aquí? Por ejemplo, enlaces, cómo saber si el DB es el cuello de botella, ¿qué es un http cacher? No conozco tanto los detalles del back end.
Restablecer Monica - Adiós SE
Google para mysqltuner.pl, o use mysql-tuner.sh de day32.com/MySQL , le dirán si necesita reforzar los buffers, si las consultas se ejecutan lentamente, etc. Varnish es un servicio de tipo proxy inverso que puede almacenar en caché páginas web dinámicas, la curva de aprendizaje es un poco empinada, pero es un servicio de alta gama, por lo que realmente vale la pena echarle un vistazo. El orden de cómo debe investigar es (una parte de lo obvio, como el rendimiento de la red) probablemente 1) opcode cacher 2) determinar cómo está db / rendimiento y 3) barniz.
3molo
¡Mediawiki incluso tiene un artículo sobre el almacenamiento en caché con barniz! mediawiki.org/wiki/Manual:Varnish_caching
3molo
Olvidé mencionar que mediawiki también sugiere usar memcached para el almacenamiento en caché entre la base de datos y el sitio real, ver mediawiki.org/wiki/Memcached
3molo