Помощь Производительность Opencart

spamhost

Постоялец
Регистрация
29 Апр 2009
Сообщения
291
Реакции
160
Прошу поделиться своим опытом повышения производительности эл. магазинов на базе Opencart.
Прошу делиться своими достигнутыми результатами оптимизации, напр. в формате:

Кол-во товаров | Версия OpenCart | Конфиг. серверного окружения (аппар. и прогр.) | Измерение для DESKTOP страниц внутри Категорий Для просмотра ссылки Войди или Зарегистрируйся

p.s. Пока на моих VDS KVM (4CPU, 4GB RAM) OC 2.X умирает при кол-ве товаров более 7-10.000 товаров - открытие Категорий занимает по 10-20 секунд, выборка с помощью MegaFilter занимает 15-25 секунд. Создание индексов, попытка настроить MySQL, nginx и различные системы кэширования и др. оптимизация не дает пока заметных результатов.

Кто-то может уже поделиться опытом успешного запуска OC 2.x на PHP7 ?
 
Последнее редактирование:
у меня меньше товаров. Просто прописал в htaccess пару строк и время загрузки страниц по гуглу выросло на 15%
 
Прошу поделиться своим опытом повышения производительности эл. магазинов на базе Opencart.
Прошу делиться своими достигнутыми результатами оптимизации, напр. в формате:

Кол-во товаров | Версия OC | Измерение для DESKTOP страниц внутри Категорий Для просмотра ссылки Войди или Зарегистрируйся

p.s. Пока на моих VDS KVM (4CPU, 4GB RAM) OC 2.X умирает при кол-ве товаров более 7-10.000 товаров - открытие Категорий занимает по 10-20 секунд, выборка с помощью MegaFilter занимает 15-25 секунд. Создание индексов, попытка настроить MySQL и др. оптимизация не дает пока заметных результатов.

Кто-то может уже поделиться опытом успешного запуска OC 2.x на PHP7 ?

Здравствуйте! Для OC 2.1.0.2 вариант такой простой - Для просмотра ссылки Войди или Зарегистрируйся
Мне реально помог! Товаров около 1К было - время загрузки почти в 2 раза сократил.
### Установка ###
1. Загрузить файл turbo.php в корневую директорию OpenCart (рядом с config.php).
2. Перейти по ссылке Для просмотра ссылки Войди или Зарегистрируйся в браузере и следовать инструкциям на экране.
3. Этот скрипт должен быть удален сразу же после использования
Пользуйтесь!
 
Способ от Maxika с созданием индексов оказался действенным и значительно ускорил выборку. Таблицы конвертировать пока не стал.
 
Способ от Maxika с созданием индексов оказался действенным и значительно ускорил выборку. Таблицы конвертировать пока не стал.
Таблицы конвертить лучше по полной готовности. Хотя и так все хорошо работает.
Рад помочь:)
 
какие же это магические строки? Поделитесь)
Здесь очень полезно прописать следующие строки:

Код:
<FilesMatch "\.(css|js|cssgz|jsgz)$">
    Header set Cache-Control "max-age=7776000, public"
    Header append Vary: Accept-Encoding
</FilesMatch>

<FilesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>

<FilesMatch "\.(html|htm)$">
    Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

# Add "gzip Encoding" to already gzipped files
AddType text/css .css .cssgz
AddType text/javascript .js .jsgz
AddEncoding x-gzip .cssgz .jsgz

# Optimization for Browser Caching
FileETag MTime Size
<IfModule mod_expires.c>
    ExpiresActive on
    <filesmatch ".(jpg|jpeg|gif|png|ico|css|js|cssgz|jsgz)$">
        ExpiresDefault "access plus 7 days"
    </filesmatch>
    ExpiresDefault "access 7 days"
    ExpiresByType application/javascript "access plus 7 days"
    ExpiresByType text/javascript "access plus 7 days"
    ExpiresByType text/css "access plus 7 days"
    ExpiresByType text/html "access plus 7 day"
    ExpiresByType text/x-javascript "access 1 year"
    ExpiresByType image/gif "access plus 7 days"
    ExpiresByType image/jpeg "access plus 7 days"
    ExpiresByType image/png "access plus 7 days"
    ExpiresByType image/jpg "access plus 7 days"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

# Enable Gzip into use mod_gzip.c
<IfModule mod_gzip.c>
    mod_gzip_on         Yes
    mod_gzip_dechunk    Yes
    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler   ^cgi-script$
    mod_gzip_item_include mime      ^text\.*
    mod_gzip_item_include mime      ^application/x-javascript.*
    mod_gzip_item_include mime      ^application/x-font-woff.*
    mod_gzip_item_exclude mime      ^image\.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>
 
Последнее редактирование:
Пока на моих VDS KVM (4CPU, 4GB RAM) OC 2.X умирает при кол-ве товаров более 7-10.000 товаров - открытие Категорий занимает по 10-20 секунд, выборка с помощью MegaFilter занимает 15-25 секунд. Создание индексов, попытка настроить MySQL, nginx и различные системы кэширования и др. оптимизация не дает пока заметных результатов.

скорее всего запросы мегафильтра неоптимизированы, потому и грузит в целом страницы с категориями.
 
какие же это магические строки? Поделитесь)
Вариант Maxika у меня дает резуьтаты хуже. У меня настроино так и по скорости получил 67/86


Код:
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/css
  <IfModule mod_setenvif.c>
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  </IfModule>
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>

<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
 
Здравствуйте! Для OC 2.1.0.2 вариант такой простой - Для просмотра ссылки Войди или Зарегистрируйся
Мне реально помог! Товаров около 1К было - время загрузки почти в 2 раза сократил.
### Установка ###
1. Загрузить файл turbo.php в корневую директорию OpenCart (рядом с config.php).
2. Перейти по ссылке Для просмотра ссылки Войди или Зарегистрируйся в браузере и следовать инструкциям на экране.
3. Этот скрипт должен быть удален сразу же после использования
Пользуйтесь!

под OcStore 2.1.0.2 ваш скрипт будет работать?
 
Назад
Сверху