Назад | Перейти на главную страницу

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

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

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

Несколько отличных советов Вот. Для меня самая большая разница (с 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 секунды - проблема решена!

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

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

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

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

http://robertinventor.com/bmwiki

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

Включите кеширование в LocalSettings.php. Сделайте это, добавив / изменив эту строку:

$wgMainCacheType = CACHE_ACCEL;

Видеть Руководство: Кэш и эта страница mwusers.

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

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

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