Jump to content
 







Main menu
   


Navigation  



Main page
Get MediaWiki
Get extensions
Tech blog
Contribute
 




Support  



User help
FAQ
Technical manual
Support desk
Communication
 




Development  



Developer portal
Code statistics
 




mediawiki.org  



Community portal
Recent changes
Translate content
Random page
Village pump
Sandbox
 




In other languages  




Add links
 







Search  









English
 


















Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



Beginning
 


1 Contexto  





2 Inicio rápido  



2.1  Inicio rápido con Puppet  







3 PHP  



3.1  Caché de Código intermedio  







4 Object caching  



4.1  Local server  





4.2  Main cache  



4.2.1  Single web server  





4.2.2  Multiple web servers  







4.3  Interwiki cache  





4.4  Localisation cache  





4.5  Sidebar cache  







5 Page view caching  



5.1  Caching proxy  





5.2  File cache  







6 Web server  





7 Configuration settings  



7.1  Composer  







8 Database configuration  



8.1  MySQL  





8.2  Multiple servers  







9 Benchmarking  





10 See also  





11 References  














Manual: Ajuste de rendimiento










Manual
Discussion
 

















Read
Translate
View history
 








Tools
   


Actions  



Read
Translate
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
 




Print/export  



Create a book
Download as PDF
Printable version
 
















From mediawiki.org
 


This page is a translated version of the page Manual:Performance tuning and the translation is 9% complete.
  • English
  • español
  • français
  • polski
  • русский
  • 中文
  • 日本語
  • 한국어
  • Esta página proporciona una descripción general de diferentes formas de mejorar el rendimiento de MediaWiki.

    Contexto

    MediaWiki es capaz de escalar para satisfacer las necesidades de grandes grupos de wikis como los de la Fundación Wikimedia, WikiHowyFandom, y puede aprovechar una amplia cantidad de métodos, incluyendo múltiples servidores de bases de datos de carga balanceada, caché de objetos memcached, cachés Varnish (véase Manual:Caché Varnish) y múltiples servidores de aplicaciones. Sin embargo, para la mayoría de las instalaciones pequeñas, esto es exagerado, y simplemente habilitar el almacenamiento en caché de objetos y optimizar el rendimiento de PHP debería ser suficiente.

    Inicio rápido

    Versión corta: Recomendamos la caché de código intermedio (bytecode) para PHP, APCu como caché de objetos locales, Memcached como caché principal; esto es lo que la Fundación Wikimedia utiliza para Wikipedia en absoluto.

    En algunos casos, el exceso de almacenamiento en caché en demasiados niveles puede degradar el rendimiento.

    Inicio rápido con Puppet

    La mayoria de los ajustes en esta pagina se han recopilado en un manifiesto de puppet (puppet/modules/role/manifests/simple_performant.pp and puppet/modules/role/manifests/simple_miser.pp). Si instala Puppet, puede aplicarlos a su servidor con un solo comando.

    PHP

    Caché de Código intermedio

    Véase Configuración de PHP#Caché Opcode.

    PHP works by compiling a PHP file into bytecode and then executing that bytecode. The process of compiling a large application such as MediaWiki takes considerable time. PHP accelerators work by storing the compiled bytecode and executing it directly reducing the time spent compiling code.

    OPcache is included in PHP 5.5.0 and later and is the recommended accelerator for MediaWiki. Other supported op code caches are: WinCache.

    Opcode caches store the compiled output of PHP scripts, greatly reducing the amount of time needed to run a script multiple times. MediaWiki does not need to be configured to do PHP bytecode caching and will "just work" once installed and enabled.

    Since MediaWiki 1.36, it may be slower on systems without op code caching. See task T274041.

    Object caching

    For more information about local server, main cache and other cache interfaces, see Manual:Caching.

    Local server

    This interface is used for lightweight caching directly on the web server. This interface is expected to persist stored values across web requests.

    Presence of a supported backend is automatically detected by MediaWiki. No MediaWiki configuration necessary.

    For PHP 7+, you should install APCuorWinCache. (On PHP 5, APCu was known to be unstable in some cases.[1])

    To install APCu, use:

    sudo apt-get install php-apcu php-igbinary
    

    A script, apc.php is bundled with the APCu package which can be used to inspect the status of the cache, and also examine the contents of the user cache to verify that MediaWiki is correctly using it.

    Main cache

    This interface is used as the main object cache for larger objects.

    The main cache is disabled by default and needs to be configured manually. To enable it, set $wgMainCacheType to a key in $wgObjectCaches . There are preconfigured interfaces for Memcached, APC, and MySQL. You can configure additional backends via $ObjectCaches (e.g. for Redis).

    // Default:
    // $wgMainCacheType = CACHE_NONE;
    

    Single web server

    If you have APC installed is strongly recommended to use that by setting the following in LocalSettings.php :

    $wgMainCacheType = CACHE_ACCEL;
    

    Once set, the user session store and parser output cache will also inherit this MainCacheType setting.

    When using APC with limited RAM (and no Memcached or other object cache configured), then important objects might be evicted too often due to the size of parser output cache building up. Consider setting $wgParserCacheType to CACHE_DB, which will move those keys out to the database instead.

    If using $wgMainCacheType = CACHE_ACCEL; and users are unable to login due to "session hijacking" errors, consider overriding $wgSessionCacheType toCACHE_DB. See task T147161 for more info.

    If you can't use APC, consider installing Memcached (requires at least 80MB of RAM). While installing Memcached is considerably more complicated, it is very effective.

    If neither APC or Memcached is an option, you can fallback to storing the object cache in your database. The following preset will do that:

    $wgMainCacheType = CACHE_DB;
    

    Multiple web servers

    If your MediaWiki site is served by multiple web servers, you should use a central Memcached server. Detailed instructions are on the memcached page.

    It is important that you do not use APC as your main cache if you have multiple web servers. This cache must be coordinated centrally for a single MediaWiki installation. Having each web server use APC as its own MainCache will cause stale values, corruption or other unexpected side-effects. Note that for values that are safe to store in uncoordinated fashion (the "local-server cache"), MediaWiki automatically makes use of APC regardless of this configuration setting.

    Interwiki cache

    MediaWiki interwiki prefixes are stored in the interwiki database table. See Interwiki cache for how to enable caching.

    Localisation cache

    By default, interface message translations are cached in the l10n_cache database table. Ensure $wgCacheDirectory inLocalSettings.php is set to a valid path to use a local caching instead. See Help:System message#Caching for more details.

    A small save in DB queries can be obtained by caching the sidebar (disabled by default). See $wgEnableSidebarCache and $wgSidebarCacheExpiry .

    Page view caching

    Page view caching increases performance tremendously for anonymous (not logged-in) users. It does not affect performance for logged-in users.

    Caching proxy

    A caching proxy (or "HTTP accelerator") stores a copy of web pages generated by your web server. When such page is requested a second time, then the proxy serves up its local copy, instead of passing the request onto the real web server.

    This massively improves the response times for page loads by end users, and also tremendously reduces the computational load on the MediaWiki web server. When a page is edited, MediaWiki can automatically purge the local copy from the cache proxy.

    Examples of cache proxies:

    File cache

    See Manual:File cache for main article about this.

    In absence of a caching proxy or HTTP accelerator, MediaWiki can optionally use the file system to store the output of rendered pages. For larger sites, using an external cache like Varnish is preferable to using the file cache.

    Web server

    Configuration settings

    Large sites running MediaWiki 1.6 or later should set $wgJobRunRate to a low number, say 0.01. See Manual:Job queue for more information.

    Composer

    This will provide no benefit if you enable opcache in PHP.

    MediaWiki uses composer for organizing library dependencies. By default these are included from the /vendor directory using a dynamic autoloader. This autoloader needs to search directories which can be slow. It is recommended to generate a static autoloader with Composer, which will make your wiki respond faster.

    Using a static autoloader is the default for all MediaWiki installations from the tarball download or from Git. If for some reason this is not the case, use the following to generate the static autoloader:

    composer update -o --no-dev
    

    Remember that this will need to be re-run after each MediaWiki update as it includes a static copy of which libraries and classes exist in the software.

    Database configuration

    MySQL

    For a heavy concurrent write load, InnoDB is essential. Use memcached, not the default MySQL-based object cache.

    See below for some DB configuration tricks. You can also try and run the mysql-tuning-primer script to get some quick statistics and suggestions.

    Multiple servers

    The database software and web server software will start to fight over RAM on busy MediaWiki installations that are hosted on a single server. If your wiki has a consistent traffic, a logical step, once other performance optimizations have been made (and cache serves most of the content), is to put the database and web server on separate servers (or, in some cases, multiple separate servers, starting with a replica.) Also:

    Benchmarking

    Some tools can help quickly evaluate the effects of performance tuning.

    See also

    References

    1. APCu GitHub issue 19: Hung apaches on pthread wrlocks
  • Niklas Laxström, Performance is a feature, December 9th, 2013.

  • Retrieved from "https://www.mediawiki.org/w/index.php?title=Manual:Performance_tuning/es&oldid=6594094"

    Categories: 
    MediaWiki development/es
    Performance tuning/es
     



    This page was last edited on 22 June 2024, at 03:25.

    Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.



    Privacy policy

    About mediawiki.org

    Disclaimers

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki