Какие у вас есть советы по ускорению (производительности) установки MediaWiki?

8

У нас установлена ​​MediaWiki, и мы получаем жалобы, что она замедляется. Как мы можем увеличить скорость / производительность?

У меня есть один совет (который я добавлю ниже), но мне действительно интересно услышать больше. Желательно один совет за ответ.

Восстановить Монику - до свидания SE
источник
1
Вот полезная ссылка, которую я нашел: dom.as/2007/01/26/mediawiki-performance-tuning
Восстановить Монику - Прощай, SE
Или более полный и недавний mediawiki.org/wiki/Manual:Performance_tuning
Nemo

Ответы:

4

Вместо кэширования памяти, особенно если ваш сайт имеет небольшой или средний размер, поэтому общий размер всех страниц hmtl не представляет проблемы - простое решение - просто включить вместо этого файловый кеш.

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

Сегодня я потратил несколько часов, пытаясь включить любое из рекомендованных MediaWiki решений для кэширования памяти на моем общем хостинге (в bluehost), и не нашел способа сделать это, а затем обнаружил эту опцию, и она решила все проблемы.

Это вики с включенным кешированием файлов:

http://robertinventor.com/bmwiki

До кэширования файлов загрузка большинства страниц занимала несколько секунд, а иногда и намного больше, до минут, согласно журналам аналитики Google.

Роберт Уокер
источник
4

Несколько отличных советов здесь . Для меня самым большим отличием (от 8 секунд до 0 в IIS 7) было включение кеширования и изменения $wgDBserver = "127.0.0.1";(из localhost). По какой-то причине локальный хост разрешался через сеть.

Вот весь пост от Jaded:

  1. Одним из самых значительных результатов, снижающим нагрузку с 15 секунд до примерно 6 или 7, было включение кэширования и ускорения Mediawiki, как подробно описано в этом посте: http://www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-output-caching-and-friendlyshort-urls.aspx . Короче говоря, включите в файл 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();
    

    Убедитесь, что ваши локальные учетные записи IUSR и IIS_IUSR имеют разрешения «Изменить» на каталог кэша, иначе файлы и каталоги из механизма кэширования Mediawiki не смогут выполнять запись в них.

  2. Я внес небольшие изменения в кеширование в PHP с использованием Wincache, но это вряд ли оказало какое-либо влияние - включите и настройте его, если хотите с точки зрения PHP, но не ожидайте значительного скачка. То же самое относится и к кешированию запросов MySQL - мой Wiki-сайт относительно небольшой, с минимальным использованием, поэтому кеширование MySQL-запросов не было огромным улучшением.

  3. Последним гвоздем в гробу для ускорения работы сайта было изменение настройки $ wgDBserver в моем файле Mediawiki LocalSettings.php. Для него было задано значение «Localhost», и в этом посте http://forums.iis.net/t/1153459.aspx/3/10 указывалось, что использование «Localhost» в Windows 7 и более поздних версиях, а также выпуск Server 2008 и выше, позволяет подключить IPv6 к запрос страницы. Транспортный уровень должен был разрешить localhost и делал это путем согласования между IPv4 и IPv6-адресом, которые PHP и MySQL должны были разрешить, прежде чем разрешить визуализацию страницы. Похоже, что это все еще не полностью поддерживаемый интегрированный протокол, поэтому установка $ wgDBserver на IPv4-адрес «127.0.0.1» заняла рендеринг с 6 секунд до 1 секунды - проблема решена!

Sonic Soul
источник
2

Прежде всего, вы должны быть уверены, что используете Apache Server '' '. Mediawiki работает медленнее, если вы установили на Windows Server или IIS. Если он находится на сервере Windows, переместите папки приложений на сервер Linux. Руководство по Windows и Linux Server для Mediawiki

альт
источник
0

Это может не относиться к текущим версиям MW, но проверьте настройку php mbstring.func_overload. Я установил его на 2 (как обязательное условие для небольшой установки zabbix), и это убило производительность установки MW на 1.12 на том же сервере.

SmallClanger
источник
Спасибо! Проверим это.
Восстановить Монику - До свидания SE
в соответствии с: mediawiki.org/wiki/PHP_configuration mbstring.func_overload Этот параметр вызывает ошибки и может непредсказуемо повредить данные; MediaWiki откажется от установки, если эта опция включена. Так что я думаю, что это не применимо.
Восстановить Монику - до свидания SE
0

Используйте php кеширование кода операции, убедитесь, что дБ не является узким местом, рассмотрите возможность использования http cacher, такого как лак.

3molo
источник
Можете ли вы дать мне немного больше деталей здесь? Например, ссылки, как узнать, является ли БД узким местом, что такое http cacher? Я не настолько осведомлен о деталях серверной части.
Восстановить Монику - до свидания SE
Google для mysqltuner.pl, или используйте mysql-tuner.sh от day32.com/MySQL , они скажут вам, если вам нужно увеличить буферы, если запросы выполняются медленно и т. Д. Varnish - это служба обратного прокси-типа, которая может кешировать динамические веб-страницы, кривая обучения немного крутая, но это высококлассный сервис, поэтому его действительно стоит проверить. Порядок того, как вы должны исследовать, (часть из очевидной, например, пропускной способности сети), вероятно, 1) кэширование кода операции 2) определение того, как работает / выполняет БД, и 3) лакирование.
3моло
В Mediawiki даже есть статья о кешировании с помощью лака! mediawiki.org/wiki/Manual:Varnish_caching
3моло
Забыл упомянуть, что mediawiki также предлагает использовать memcached для кэширования между базой данных и реальным сайтом, см. Mediawiki.org/wiki/Memcached
3molo