Magento на русском

Новости, обмен опытом, база знаний для разработчиков.

Оптимизация и настройка Magento

by @ 12:28 on 19.11.2009.

Инструкция по оптимизации скорости работы и загрузки Magento.

Оптимизацию можно разделить на 2 составляющие. Первая должна в идеале производиться  на стадии создания магазина. Она включает в себя перечень настроек сервера, установку расширений Апача и т.п. Вторая – это непосредственно оптимизация скриптов магазина.

Советы по настройке сервера

1. Установить APC - http://pecl.php.net/package/APC или Xcache - http://xcache.lighttpd.net/

2. Включить KeepAlives на сервере это даст возможность браузеру не устанавливать десятки соединений для загрузки всех картинок и файлов, а использовать одно.

3. Выделить больше памяти на исполняемые php скрипты и для mySQL.

Советы по настройке движка магазина

1. Самый действенный способ по ускорению загрузки страничек – это слияние кучи CSS и JS файлов. Это хорошо умеет делать Fooman Speedster, установить его можно от сюда http://www.magentocommerce.com/extension/457/fooman-speedster.

Чтобы он заработал необходимо выполнить некоторые инструкции. Замечу сразу что это расширение не только склеивает файлы, но и сжимает их gzip’ом, что ускоряет загрузку страничек при медленном интернет соединении.

Инструкция по установке:

Необходимо добавить в .htaccess следующее

############################################

## Compress, Combine and Cache Javascript/CSS
RewriteRule ^(index.php/)?minify/([^/]+)(/.*.(js|css))$ lib/minify/m.php?f=$3&d=$2

В том же htaccess файле нужно раскомментировать строчку с правилом RewriteBase. И проверить чтобы там был указан правильный путь к месту где лежит index.php.

После установки расширения через magento-connect нужно проверить что /lib/minify/m.php имеет права 755 и папка в которой он лежит тоже, а /var/minifycache доступна для записи – 777.

Данному расширению, после установки необходимо несколько загрузок страничек для того чтобы собрать данные и выстроить КЭШа.

После установки я на глаз почувствовал разницу. В среднем увеличение происходит на 30-50%.

2. Включение Gzip сжатия в .htaccess необходимо как для работы Fooman Speedster так и для возможности использования его сервером при запросах обычных страничек. Некоторые браузеры, посылая в заголовках пакетов хедеры с форматом принимаемых форматов данных могут получать обычные странички сжатыми и в рантайме распаковывать их. Что это дает? Так же как и для предыдущего пункта это предназначено для ускорения передачи данных при низкоскоростных каналах. Отмечу что сервер тоже должен поддерживать эту технологию.

Включить gzip можно следующим образом, добавив в htaccess следующее:

php_flag zlib.output_compression on

3. Лучше использовать memory-based filesystem для хранения КЭШа и сессий. Я не уверен, что это поможет хотя бы немного увеличить скорость работы на каждой установке магазина, но факт в том что работа с файловой системой медленнее чем с базой данных.

4. Включение Magento КЭШа. Это прилично помогает ускориться, но включение КЭШа должно быть произведено после установки всех расширений.

5. Многие рекомендуют убрать с главной странички  динамический контент, т.е. по возможности сделать её статичной. Это позволит меньше нагружать сервер при открытии главной странички, а освободившиеся ресурсы пойдут на отработку других задач.

6. Ну и в завершение установим Magento Compiler. Вот тут получаем ключ http://www.magentocommerce.com/extension/1359/magento-compiler, заходим в magento-connect и выставляем режим совместимости Beta. Затем ставим расширение. Если движку хватит прав, он изменит index.php сам, если нет, то надо будет руками поменять

Это

$mageFilename = ‘app/Mage.php’;

На это

/**
* Error reporting
*/
error_reporting(E_ALL | E_STRICT);

/**
* Compilation includes configuration file
*/
$compilerConfig = ‘includes/config.php’;
if (file_exists($compilerConfig)) {
include($compilerConfig);
}

После установки – заходим в админку System->Tools->Compilation, компилируем и тестим.

Данное расширение дает прирост производительности движка на стороне сервера. Это самый эффективный метод, на мой взгляд, для разгона на слабых хостингах. Результаты опять-таки видны невооруженным глазом.

Внимание! Это расширение не рекомендуется ставить на продакшен серверы так как оно еще пока в Beta версии.

The URI to TrackBack this entry is: http://magento.verych.ru/%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%b8-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-magento/trackback/

Комментариев - 2 для “Оптимизация и настройка Magento”

  1. Niidil:

    Ты забыл про nginx.
    Вот ещё интересная статья по оптимизации от Varien
    http://varien.com.ua/blog/ustanovka-magento-dlya-raboty-s-nginx-php-fpm-apc/

  2. donvictorio:

    после установки спидстера (магенто 1401) сломался дизайн, полностью, хорошо, что не закрыл окно с коннектом, там после удаления модуля всё поправилось.
    при добавлении php_flag zlib.output_compression on сервер выдал ошибку 500, и после этого я забил на оптимизацию.

Оставить комментарий

© 2009-2012 Magento по-русски 99% авторских статей