Jump to content
mobily

Увеличиваем скорость загрузки страниц OpenCart

Recommended Posts

Учитывая, что проблема быстродействия в opencart стоит достаточно остро и подобные темы уже неоднократно поднимались на этом форуме, решил внести свою лепту.

Сразу оговорюсь, я не программист и решения, о которых я расскажу, для многих покажутся достаточно тривиальными, но тем не менее.

Итак, что имеем на входе:

1. Вес главной страницы 2.5мб

2. Google PageSpeed Score of 76 (out of 100).

проверять тут: https://developers.google.com/speed/pagespeed/insights

3. Page Speed Grade и YSlow Grade около 60%(что сильно не оч.)

проверять тут: http://gtmetrix.com

4. В магазине 2500 товаров и штук 14 категорий.

5. Главная страница, да и все остальные грузятся долго.

Магия (step-by-step):

1. Деактивировать все неиспользуемые модули.

2. Установить Smart Optimizer

Если после установки появляется, алерт с сообщениями на страницах магазина, то просто отключаем debug mode в конфиге, на ходовые качества не влияет.

3. Настраиваем Cloudflare, в архиве инструкция что делать.

4. регистрируем аккаунт на cloudflare.com

Меняем NSы и врубаем CDN. В настройках CDN, включаем минификацию JS и CSS, метод кеширования- simplified. Защиту лучше отключить, если она вам не нужна.

Что получили(Та-дам):

1. Вес Главной страницы 1.4мб

2. Google PageSpeed Score of 92 (out of 100).

3. Page Speed Grade: А (91%) и YSlow Grade: C (71%)

4. Сайт летает (Даже после очистки всех кешей)

Надеюсь это вам поможет. Успехов!

  • +1 5

Share this post


Link to post
Share on other sites

проверить бы на десятке пациентов с тормозами.

если результат будет положительный - тема переедет в FAQ

  • +1 1

Share this post


Link to post
Share on other sites

mobily, молодец.

от себя добавлю, что один из мощных методов в комплексной терапии:

APC — ускоритель PHP. Это расширение самого PHP.

Значительно улучшает производительность.

но доступен не на всех хостингах. на выделенных серверах - без проблем.

Opencart с ним хорошо совместим. Но, правда, не имел возможности тестировать со всеми на свете модулями.

Имеет определенную несовместимость с некоторыми другими движками.

Поэтому иногда удобно включать ускорение только для конкретного сайта.

Share this post


Link to post
Share on other sites

действительно показатели выросли.продолжаю наблюдать...

Share this post


Link to post
Share on other sites

Из своего опыта скажу, доступность серверов клоудфлейр где-то 97%, уже больше года использую эту cdn сеть для своих проектов, плюсов от их использования значительно больше чем минусов. Да и попал этот сервис в ту-ду лист не из-за минификатора, это CDN сеть, ее задача кешировать на своих серверах скрипты, картинки и стили с последующей раздачей посетителям с наиболее подходящей локации,тем самым снижая количество запросов к серверу и уменьшая потребление трафика..

Share this post


Link to post
Share on other sites

Из своего опыта скажу, доступность серверов клоудфлейр где-то 97%, уже больше года использую эту cdn сеть для своих проектов, плюсов от их использования значительно больше чем минусов. Да и попал этот сервис в ту-ду лист не из-за минификатора, это CDN сеть, ее задача кешировать на своих серверах скрипты, картинки и стили с последующей раздачей посетителям с наиболее подходящей локации,тем самым снижая количество запросов к серверу и уменьшая потребление трафика..

97% - это очень плохо

10 суток в году неработоспособен! Серьезные магазины позволить себе такого не могут.

  • +1 1

Share this post


Link to post
Share on other sites

Серьезные магазины могут себе позволить заплатить 20$ за про-аккаунт и заиметь аптайм 100% :)

  • +1 1

Share this post


Link to post
Share on other sites

Вариантов множество, как платных, так и бесплатных. Тот, что я описал в первом посте лишь один из.

Share this post


Link to post
Share on other sites

Ни как не получается установить Smart Optimizer, подскажите, пожалуйста, люди добрый, как его установить?

Скачал, распаковал залил в корень сайта, изменил права на 777 у папки кеша и дописал в его .htaccess

<ifmodule mod_expires.c="">
  <filesmatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$"="">
  ExpiresActive On
  ExpiresDefault "access plus 10 years"
  </filesmatch>
</ifmodule>
<ifmodule mod_rewrite.c="">
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*\.(js|css))$ smartoptimizer/?$1

  <ifmodule mod_expires.c="">
  RewriteCond %{REQUEST_FILENAME} -f
  RewriteRule ^(.*\.(js|css|html?|xml|txt))$ smartoptimizer/?$1
  </ifmodule>[/size][/color][/font]
[font="Arial, Verdana, sans-serif"][color="#000000"][size=3]   <ifmodule !mod_expires.c="">
  RewriteCond %{REQUEST_FILENAME} -f
  RewriteRule ^(.*\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico))$ smartoptimizer/?$1
  </ifmodule>
</ifmodule>
<filesmatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$"="">
  FileETag none
</filesmatch>

Изменений ни каких нет, из чего сделал вывод, что не работает....

Edited by AE1

Share this post


Link to post
Share on other sites

... ну что могу сказать после непродолжительного использования:

сайт лежал раз пять за все время ~ 2 мес

показатели выросли но визуально без всяких замеров я прироста не увидел.

итог - снес.

Share this post


Link to post
Share on other sites

Полностью согласен, google page speed, uphot.ru, http://gtmetrix.com это такие-же коммерческие структуры, которым нужно продавать свое дисковое пространство, облачные сервисы, эти цифры на их сайтах особо ничего не означают, opencart 1.5.4.1 изначально не тормоз,это мы добавляя в него кривые модули,которые писали люди не продумывая до конца как они будут друг с другом взаимодейсвовать, как модуль грузит сервер сайта или сервер базы данных, для создателя модуля главное "Мой модуль работает" остальное ваши проблеммы. Вот мой совет:

1.Установить модуль "1000 категорий аккордеон", реально удобный модуль и снижает заметно нагрузку на базу данных,сайт грузится быстрее чем со стандартными категориями.

2.Выключить подсчет товаров в категориях.

3.Убрать выпадающие категории.

4.Зайти в админку и поставить уровень сжатия на 6

5.Сжать все изображения на сервере до размера не более 50 килобайт. Если позволяет тематика сайта (но это не обязательно)

6.Убрать из футера ненужные ссылки,я выкинул все.

7.Кто рекомендует к одному товару другие советую исправить product.php (наберите в яндексе: Баг или фича "рекомендуемые товары")

8.выключить на сервере неиспользуемые расширения и модули.

Думаю что эти пункты ускорят загрузку вашего сайта процентов на 30...

  • +1 2

Share this post


Link to post
Share on other sites

Ни как не получается установить Smart Optimizer, подскажите, пожалуйста, люди добрый, как его установить?

Скачал, распаковал залил в корень сайта, изменил права на 777 у папки кеша и дописал в его .htaccess

 

<ifmodule mod_expires.c="">
   <filesmatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$"="">
	  ExpiresActive On
	  ExpiresDefault "access plus 10 years"
   </filesmatch>
</ifmodule>
<ifmodule mod_rewrite.c="">
   RewriteEngine On

   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*\.(js|css))$ smartoptimizer/?$1

   <ifmodule mod_expires.c="">
	  RewriteCond %{REQUEST_FILENAME} -f
	  RewriteRule ^(.*\.(js|css|html?|xml|txt))$ smartoptimizer/?$1
   </ifmodule>[/size][/color][/font]
[font="Arial, Verdana, sans-serif"][color="#000000"][size=3]   <ifmodule !mod_expires.c="">
	  RewriteCond %{REQUEST_FILENAME} -f
	  RewriteRule ^(.*\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico))$ smartoptimizer/?$1
   </ifmodule>
</ifmodule>
<filesmatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$"="">
   FileETag none
</filesmatch>

Изменений ни каких нет, из чего сделал вывод, что не работает....

 

 

 

У меня после дописывания ошибку 500 выдает. А если менять index.php то белая страница и // пишет. 

Share this post


Link to post
Share on other sites

Проставьте индексы в базе данных будет еще быстрее работать если вы конечно планируете, что кол-во товаров базе будет увеличиваться и будет увеличиваться кол-во  посетителей на сайте. А то что вы оптимизировали хорошей производительности не даст. 

Share this post


Link to post
Share on other sites
4. регистрируем аккаунт на cloudflare.com

 

Есть еще ru.cloudflare.com, правда там перевод кривой. 

Спасибо за статью, действительно помогает! Размер страницы уменьшился с 1,2 до 0,9 МБ

Но все же хотелось бы достичь объема меньше 0,1 МБ. А оптимизаторы советуют делать объем страницы не более 0,03 МБ - это для продвижения по запросам в поисковиках хорошо.

 

После того, как я прописал в DNS сервера cloudflare.com, мой сайт стал не доступен - это нормально?

Буду надеятся, что скоро заработает вновь.

 

P.S. Сайт заработал. Но такое ощущение, что после установки cloudflare.com стал медленнее грузится: Google PageSpeed показывает, что скорость загрузки уменьшилась с 92 до 87 и что надо "Удалить из верхней части страницы код JavaScript и CSS, блокирующий отображение" - пока не совсем понимаю как это сделать. Может кто подскажет?

 

PingAdmin показывает скорость загрузки сайта 100-400 КБ/с из разных городов по всей России,

HostTracker показывает 10-40 КБ/c из разных городов мира, хотя мой VDS-хостер заявляет, что серверы подключены на скорости 100Мбит/сек. В чем проблема может быть не понимаю, почему скорость загрузки маленькая?

 

PingDom перестал видеть сайт вообще, видимо DNS-настройки еще не дошли до него.

 

Loadimpact показывает, что text/html занимает 1,6% объема страницы сайта и 98% времени загрузки:

5d875c3fac0ebb4aa9d6622394f3a23d4292c5a8

 

Кто может дать еще какие- то советы по увеличению скорости загрузки сайта?

Edited by BeeHit

Share this post


Link to post
Share on other sites

Огромное спасибо. У меня после улучшения страница весит вообще 600 кб!

Share this post


Link to post
Share on other sites

4.Зайти в админку и поставить уровень сжатия на 6

 

А почему не на 9? Кстати тест на гугл разницы не почуствовал. Может сжатие не работает у меня?

Share this post


Link to post
Share on other sites

Господа, включил сжатие в админке с параметром "6". Но Гугл ПэйджСпид все равно ругается что сжатие не включено.

ЧЯДНТ?

Share this post


Link to post
Share on other sites

Cloudflare с уровнем сжатия работает только хуже. Убрал код Cloudflare, уровень сжатия начал работать.

Share this post


Link to post
Share on other sites

Включил сжатие на 9 и скоростть загрузки стала 2,77с против 7,6с.Реально круто.А на 6 разницы не было

Share this post


Link to post
Share on other sites

 "Удалить из верхней части страницы код JavaScript и CSS, блокирующий отображение" - пока не совсем понимаю как это сделать. Может кто подскажет?

 

Кто-нибудь разобрался как это сделать?

Share this post


Link to post
Share on other sites

Кто-нибудь разобрался как это сделать?

Что тут понимать, ненужные скрипты отвечающие за подгрузку доп. функционала (colorbox, jquery.ui) и счетчики яндекса поместите в footer.tpl до закрывающего тега body. 

Если есть несколько каруселей товаров на главной, то сделайте подгрузку этих скриптов по условию, что если на главной грузим скрипт в противном не грузим..

Как-то так )))

Если заняться оптимизацией opencart, то можно и самому минифицировать скрипты и css вручную, и картинки загружать сразу сжатые. А еще для магазинов с более 3000 товаров, лучше не брать простой хостинг, а хотя бы самый дешевый VPS. И будет хорошо.

 

Share this post


Link to post
Share on other sites

Что тут понимать, ненужные скрипты отвечающие за подгрузку доп. функционала (colorbox, jquery.ui) и счетчики яндекса поместите в footer.tpl до закрывающего тега body. 

Если есть несколько каруселей товаров на главной, то сделайте подгрузку этих скриптов по условию, что если на главной грузим скрипт в противном не грузим..

Как-то так )))

Если заняться оптимизацией opencart, то можно и самому минифицировать скрипты и css вручную, и картинки загружать сразу сжатые. А еще для магазинов с более 3000 товаров, лучше не брать простой хостинг, а хотя бы самый дешевый VPS. И будет хорошо.

 

 

Спасибо за ответ. Но в footer.tpl не получается. Выходит много ошибок. Перенес в конец файла header.tpl

Share this post


Link to post
Share on other sites

Сайт установлен на VPS сервере Centos RAM-1200MB CPU-1700 Mhz. Установлен Apache+nginx+APC. Для ускорения отключил пересчет товаров, установил smartoptimizer, gzip сжатие nginx 9, перенес скрипты в конец файла header.tpl, удалил не используемые модули. Товаров всего около 1000шт. Скорость ответа сервера 2,3сек. Пробовал memcached, но прироста производительности не заметил. Что еще можно сделать для ускорения? Возможно ли сделать ответ 0,2сек?

Share this post


Link to post
Share on other sites

Сайт установлен на VPS сервере Centos RAM-1200MB CPU-1700 Mhz. Установлен Apache+nginx+APC. Для ускорения отключил пересчет товаров, установил smartoptimizer, gzip сжатие nginx 9, перенес скрипты в конец файла header.tpl, удалил не используемые модули. Товаров всего около 1000шт. Скорость ответа сервера 2,3сек. Пробовал memcached, но прироста производительности не заметил. Что еще можно сделать для ускорения? Возможно ли сделать ответ 0,2сек?

 

Вместо smartoptimizer, поставьте себе google pagespeed module  к апачу, он корректно реализует все фишки, связанные с оптимизацией отдачи статического контента. Жмет и объединяет скрипты и стили, жмет картинки. Если попотеть то можно все бекграунды  в css преобразовать в Base64. И т.д.

При этом обработка происходит не на уровне PHP, а на уровне апача. Ну и к нему в качестве проксируещей прокладки nginx неплохо смотрится.

 

Также очень неплохо вынести все скрипты и js в футер, оставив в шапке только подключение Jquery, чтобы нормально отрабатывались скрипты, встроенные в шаблоны модулей.

 

Но учтите, этими методами вы решаете проблемы отдачи именно статического контента.

А для уменьшения времени генерации динамического (непосредственно содержание HTML страниц магазина) нужно копать и оптимизировать код, проверить есть ли индексы в БД, и пользоваться несколькими уровнями кеширования данных.

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By lolomtk
      Доброго времени!
       
      Требуется оптимизировать работу каталога
       
      https://supershtrih.ru/shtrih-kodirovanie-i-identifikaciya?kill_cache=1&d=1
       
      Ищу прямого исполнителя
       
      Версия 2.0.1.1  
       
       
       
    • By Verwolf
      Простой модуль, позволяющий автоматизировать процесс очистки кэша сайта.
       
      Позволяет освободить дисковое пространство на хостинге за счёт удаления закэшированных данных модулей и расширений, которые не используются.
       
      Очистка кэша запускается автоматически при следующих действиях в админке:
      отключение модификации; удаление модификации; удаление какого-либо расширения (из любой категории).  
      Также данный модуль способствует увеличению производительности сайта в целом и уменьшает время ответа сервера за счёт уменьшения запросов к не используемым файлам кэша.
       
      Производит очистку:
      системного кэша OpenCart; кэша изображений.  
      Более подробно о назначении каждого Вы можете прочитать по ссылке - http://cccp-blog.com/opencart/kak-v-opencart-ochistit-kehsh
       
      Очистка кэша запускается при каждом удалении расширеания и модификации через админку. Также после установки доступна возможность очистки кэша вручную, не дожидаясь удаления модулей, с помощью кнопки Clear Cache в боковом меню панели администратора в меню System.
       
      При установке пользуйтесь инструкцией, описанной в файле readme.txt (в архиве). Также в инструкции подробно рассмотрен процесс удаления модуля с сайта.
       
      Версия для OpenCart 1.5 - https://opencartforum.com/files/file/3049-auto-cache-cleaner-accleaner-oc-15/
      Версия для OpenCart 3 - https://opencartforum.com/files/file/6943-auto-cache-cleaner-accleaner-oc-3/
       
       
    • By Verwolf
      350.00 руб
      Скачать/Купить дополнение


      Auto Cache Cleaner (ACCleaner) OC 2
      Простой модуль, позволяющий автоматизировать процесс очистки кэша сайта.
       
      Позволяет освободить дисковое пространство на хостинге за счёт удаления закэшированных данных модулей и расширений, которые не используются.
       
      Очистка кэша запускается автоматически при следующих действиях в админке:
      отключение модификации; удаление модификации; удаление какого-либо расширения (из любой категории).  
      Также данный модуль способствует увеличению производительности сайта в целом и уменьшает время ответа сервера за счёт уменьшения запросов к не используемым файлам кэша.
       
      Производит очистку:
      системного кэша OpenCart; кэша изображений.  
      Более подробно о назначении каждого Вы можете прочитать по ссылке - http://cccp-blog.com/opencart/kak-v-opencart-ochistit-kehsh
       
      Очистка кэша запускается при каждом удалении расширеания и модификации через админку. Также после установки доступна возможность очистки кэша вручную, не дожидаясь удаления модулей, с помощью кнопки Clear Cache в боковом меню панели администратора в меню System.
       
      При установке пользуйтесь инструкцией, описанной в файле readme.txt (в архиве). Также в инструкции подробно рассмотрен процесс удаления модуля с сайта.
       
      Версия для OpenCart 1.5 - https://opencartforum.com/files/file/3049-auto-cache-cleaner-accleaner-oc-15/
      Версия для OpenCart 3 - https://opencartforum.com/files/file/6943-auto-cache-cleaner-accleaner-oc-3/
       
       
      Добавил Verwolf Добавлено 27.03.2019 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика http://cccp-blog.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By Verwolf
      350.00 руб
      Скачать/Купить дополнение


      Auto Cache Cleaner (ACCleaner) OC 3
      Простой модуль, позволяющий автоматизировать процесс очистки кэша сайта.
       
      Позволяет освободить дисковое пространство на хостинге за счёт удаления закэшированных данных модулей и расширений, которые не используются.
       
      Очистка кэша запускается автоматически при следующих действиях в админке:
      отключение модификации; удаление модификации; удаление какого-либо расширения (из любой категории).  
      Также данный модуль способствует увеличению производительности сайта в целом и уменьшает время ответа сервера за счёт уменьшения запросов к не используемым файлам кэша.
       
      Производит очистку:
      системного кэша OpenCart; кэша изображений.  
      Более подробно о назначении каждого Вы можете прочитать по ссылке - http://cccp-blog.com/opencart/kak-v-opencart-ochistit-kehsh
       
      Очистка кэша запускается при каждом удалении расширеания и модификации через админку. Также после установки доступна возможность очистки кэша вручную, не дожидаясь удаления модулей, с помощью кнопки Clear Cache в боковом меню панели администратора в меню System.
       
      При установке пользуйтесь инструкцией, описанной в файле readme.txt (в архиве). Также в инструкции подробно рассмотрен процесс удаления модуля с сайта.
       
      Версия для OpenCart 1.5 - https://opencartforum.com/files/file/3049-auto-cache-cleaner-accleaner-oc-15/
      Версия для OpenCart 2 - https://opencartforum.com/files/file/6937-auto-cache-cleaner-accleaner-oc-2/
       
       
      Добавил Verwolf Добавлено 28.03.2019 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика http://cccp-blog.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By Verwolf
      Простой модуль, позволяющий автоматизировать процесс очистки кэша сайта.
       
      Позволяет освободить дисковое пространство на хостинге за счёт удаления закэшированных данных модулей и расширений, которые не используются.
       
      Очистка кэша запускается автоматически при следующих действиях в админке:
      отключение модификации; удаление модификации; удаление какого-либо расширения (из любой категории).  
      Также данный модуль способствует увеличению производительности сайта в целом и уменьшает время ответа сервера за счёт уменьшения запросов к не используемым файлам кэша.
       
      Производит очистку:
      системного кэша OpenCart; кэша изображений.  
      Более подробно о назначении каждого Вы можете прочитать по ссылке - http://cccp-blog.com/opencart/kak-v-opencart-ochistit-kehsh
       
      Очистка кэша запускается при каждом удалении расширеания и модификации через админку. Также после установки доступна возможность очистки кэша вручную, не дожидаясь удаления модулей, с помощью кнопки Clear Cache в боковом меню панели администратора в меню System.
       
      При установке пользуйтесь инструкцией, описанной в файле readme.txt (в архиве). Также в инструкции подробно рассмотрен процесс удаления модуля с сайта.
       
      Версия для OpenCart 1.5 - https://opencartforum.com/files/file/3049-auto-cache-cleaner-accleaner-oc-15/
      Версия для OpenCart 2 - https://opencartforum.com/files/file/6937-auto-cache-cleaner-accleaner-oc-2/
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.