MediaWiki/Уменьшение нагрузки

From SysadminWiki.ru
Jump to: navigation, search

Общая информация

Ускорение работы движка MediaWiki значительно зависит от дополнительных настроек.

1) Так как MediaWiki - это набор PHP скриптов, которые компилируются при каждом вызове, то кэширование откомпелированного кода существенно повышает производительность сайта.

2) Так как MediaWiki - это веб-приложение, индексируемое поисковыми системами, то адаптация к ним (например оптимизация robot.txt) также снизит нагрузку на сервер.


Кэш

Использование кэша значительно снижает нагрузку на сервер. Реализаций кэша для PHP существует несколько. Команда MediaWiki рекомендует APC.

Включается кэш PHP в LocalSettings.php:

$wgMainCacheType = CACHE_ACCEL;

Включая $wgMainCacheType, мы также включаем $wgMessageCacheType и $wgParserCacheType, наследующих его значение


Полезные ссылки:


robots.txt

Полезно запретить поисковым роботам индексировать все служебные страницы, а ограничить их только статьями. Для этого редактируем файл robots.txt в корне сайта:

User-agent: *
Disallow: /w/
Disallow: /wiki/Special


В случае вики фермы (семьи), добавляем правила для каждого экземпляра движка:

User-agent: *
Disallow: /w/
Disallow: /ru/w-
Disallow: /en/w-

а в языковые подкаталоги:

User-agent: *
Disallow: /w/
Disallow: /w-

При этом для робота не имеет значения один ли у нас экземпляр движка (а остальные вики используют мягкие ссылки) или каждая вики имеет свой собственный набор файлов, он будет пробовать пройти по всем ссылкам, поэтому мы ограничиваем его движения, указывая какие URL не стоит обрабатывать.


Полезные ссылки