Увеличение скорости работы Magento

14 Августа 2017

Одним из недостатков работы Magento CE является скорость работы, если используется конфигурация сервера по умолчанию. Есть несколько способов заставить работать Magento быстрее.

Ну что, попробуем ускорить работу Magento встроенными способами.

 

Первый шаг, отредактировать файл htaccess.

 

Включим сжатие вывода

В этом пункте мы включим mod_deflate модуля Apache, который сжимает текст, CSS и javascript перед отправкой их в браузер пользователя. Это уменьшает их размер. Чтобы это включить просто раскомментируйте соответствующие строки в файле htaccess, как это показано ниже.

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip


# Insert filter on all content
SetOutputFilter DEFLATE


# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript


# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html


# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip


# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html


# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary


# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

 

Включение Expires выдачи заголовков

Браузеры используют заголовки expires, чтобы определить, как долго компоненты страницы могут быть закэшированы. Статические компоненты, такие как изображения, могут быть закэшированы на продолжительное время т.к. меняются в магазине они не часто. Также могут кэшироваться и остальные компоненты страницы. Чтобы включить эту функцию, просто раскомментировать соответствующую строку и добавить “ExpiresActive On” над ней. См. ниже:

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires
 
    ExpiresActive On
    ExpiresDefault "access plus 1 year"

Имейте ввиду, что если у вас стоит кэш на продолжительное время, то после изменения компонента страницы, вы должны сменить его название, иначе он у пользователя не сменится. Например картинку Name.jpg сменить на Name2.jpg. Подробнее: http://developer.yahoo.com/performance/rules.html

 

Отключение ETags

Теги etag - это один из способов браузера чтобы проверять кэшированные компоненты во время следующих посещений пользователя. Они могут привести к замедлению работы сайта. Лучше всего их просто отключить:

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags
 
    FileETag none

 

Второй шаг, это настройки в админ панели сайта

Объединение CSS и JS файлов

Убедимся, что мы включили объединение файлов JS и CSS:

  • Magento admin -> System Configuration -> Developer -> Under “Javascript Settings”, change “Merge Javascript Files” to YES.
  • Magento admin -> System Configuration -> Developer -> Under “CSS Settings”, change “Merge CSS Files” to YES

После этого очистим кэш сайта.

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

 

Использование каталога с горизонтальной структурой хранения (Flat Catalog)

Magento использует EAV модель, чтобы хранить данные о клиентах и товарах. Это позволяет магенто быть невероятно расширяемой, но результат работы приводит к более длинным SQL-запросам и достаточно продолжительному чтению данных. Включение горизонтальной структуры хранения категорий и товаров, позволяет сливать данные в одну таблицу, тем самым улучшая производительность. Как правило, для большинства магазинов подходит горизонтальная структура категорий. (Система > Конфигурация > Каталог > Пользовательская часть)

Перевод http://inchoo.net/

Комментарии - 0

Разрешённые теги: <b><i><br>