Jump to content

Recommended Posts

Всем доброго времени суток!
Есть интернет-магазин на OpenCart (1.5.6.4). Хотим ускорить загрузку картинок.

В общем, есть два варианта:
1.Вынести картинки и кеширование картинок на другой сервер.
2.Дать картинкам отдельный субдомен, но оставить их на том же сервере.

Подскажите, пожалуйста, кто уже стыкался с такими задачами: какой из этих вариантов лучше, или, возможно, их плюсы/минусы. Если у Вас есть какая-то третья идея, буду очень рада услышать.

Share this post


Link to post
Share on other sites

Можете попробовать подгружать картинки через Ajax, чтобы они показывались по мере просмотра страницы посетителем.

Share this post


Link to post
Share on other sites

Что-то не совсем понятно, что Вы хотите ускорить. Опенкарт нарезает и кеширует изображения в папку(тут особо ничего не ускоришь) и потом отдаёт их оттуда. Делает он это (нарезку) только один раз. То есть куда бы Вы не перемещали эту папку на другой домен/сервер  - по сути ничего не изменится - нужно отдать эти файлы клиенту. Если на этапе отдачи изображения от сервера клиенту есть проблемы  - то необходима настройка сервера, который их отдаёт + включение сжатия и кеширования в HTTP ответе. В идеале иметь связку Apache + Nginx, где последний отдаёт статику (то есть картинки, js, css файлы). Вот его и нужно настроить (если его нет - то только Apache). Только после того, как Вы сделали всё возможное, чтобы Ваш сервер отдавал изображения как можно быстрее, можно думать о том, что ещё сделать (это в случае, если скорость Вас по-прежнему не устраивает) и внедрять, к примеру, lazy load загрузку изображений и т.д. 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

rootman, Большое спасибо за Ваш совет!

 

Хотим ускорить работу всего сайта и одним из пунктов есть увеличение скорости загрузки изображений. Но с Вашего ответа я, кажется, поняла, что распределение серверов / создание поддомена для быстроты отдачи изображений большой роли не сыграет. Так?

Share this post


Link to post
Share on other sites

Я не видел Ваш сайт, но в 90% случаев - да, не сыграет. Потому что распределение нагрузки горионтально (то есть на несколько серверов) - это шаг, когда ресурсов одного сервера недостаточно. Современные, даже самые простые - виртуальные, выделенные сервера (кстати, вот ещё Вам пункт "на подумать" - качество услуг Вашего хостера, тарифный план и возможные ограничения связанные с ним) справляются даже с серьёзными нагрузками при должной настройке. Ну и мне кажется, что всё же посетителей у Вас поменьше, чем на Facebook или Aliexpress, так что поработайте над Вашим сервером, а там посмотрите - скорее всего этого будет достаточно :)

Share this post


Link to post
Share on other sites

для начала проверить - включено ли кеширование статики для клиентов (в .htaccess)

 

потом смотреть на сами изображения

бессмысленно использовать в интернет-магазине изображения размером 2000х3000 пискелей и весом под 3МБ каждое

 

выбирайте оптимальный размер изображений (вполне достаточно 600х600 - 800х800)

обработка изображений в графических редакторах так же позволяет значительно уменьшить их вес, при практически незаметной для глаз потере в качестве

 

в шаблоне желательно прописать width и height для изображений - так страница начнет формироваться непосредственно при загрузке

 

проверьте библиотеку system/library/image.php:

 

в строке public function save($file, $quality = 90) {

цифра 90 указывает на степень сжатия кешируемых изображений и наиболее оптимальна для соотношения качество/размер, если отличается - измените

 

там же можно добавить преобразование в прогрессивный jpeg - так картинки начнут отрисовываться сразу при загрузке

для этого перед строкой

imagejpeg($this->image, $file, $quality);

 

вставьте строку

imageinterlace($this->image, true);

 

это основные моменты

 

из дополнительных

как уже подсказали - можно использовать постепенную подгрузку изображений по мере прокрутки страницы (lazy load)

так же, можно использовать распараллеливание подгрузки для статики в несколько потоков с 3-5 поддоменов/алиасов

  • +1 3

Share this post


Link to post
Share on other sites

imageinterlace($this->image, true);

одна строка, а сайт стал на 6% шустрее, по версии PageSpeed. 

СПАСИБО!

Share this post


Link to post
Share on other sites
одна строка, а сайт стал на 6% шустрее, по версии PageSpeed.

 

 

Не стал он шустрее, не обманывайте себя.

 

Просто почитайте, что означает interlace.

Картинки быстрее от этого загружаться (время загрузки файла) не станут, т. к. сам файл становится несколько больше и время на загрузку, соответственно, тоже увеличивается.  Но вся прелесть состоит в том, что если канал не быстрый, то картинка начинает отображаться  по мере ее загрузки сначала в низком качестве, потом в хорошем.

 

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

Share this post


Link to post
Share on other sites

@sitecreator прав, это относительно старый формат изображения для Web, сейчас этим мало кто пользуется, но 5-10 лет назад была популярна т.к. инет у большинства был медленный, технология позволяла загружать и показывать изображения постепенно, но существенно увеличивала размер файла. 

 

Если сервер выделенный, то можете установить jpegoptim и optipng они помогут уменьшить размеры изображений и гугл перестанет на них ругаться.

Edited by halfhope

Share this post


Link to post
Share on other sites

Используйте cdn. У меня много видео, но и изображения тоже через них раздаю, для пользователя то, что нужно.

Share this post


Link to post
Share on other sites

Используйте cdn. У меня много видео, но и изображения тоже через них раздаю, для пользователя то, что нужно.

А какой именно cdn посоветуете?

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.

Sign in to follow this  

  • Similar Content

    • By MaxD
      Скачать/Купить дополнение


      OpenCart Lightning
       

       
      Ура! Заработал русский сайт поддержки Lightning - https://lightning.devs.mx/ru
      Там ответы на вопросы и форма запроса поддержки. Пишите, если заметите какие-то баги
       
      OpenCart Lightning - это мод для ускорения работы магазинов. Он использует целый ряд технологий и ноу-хау.
      Работает со всеми версиями OpenCart и ocStore.
       
      Вот ссылка на демо-магазин с 20000 товаров на хостинге DigitalOcean за $5 - http://demo.devs.mx/lightning
      почти мгновенное открытие страниц оптимизировано для получения высоких показателей в новом Google PageSpeed Insigts (осень 2018) быстрая работа с большим количеством товаров и категорий повышение удобства навигации по магазину и рейтингов в поисковиках не надо настраивать и приглядывать, просто работает отпадает необходимость в дополнительных модах оптимизации или кеширования  
       
       
       
       
      Если вы залогинены в админку - страницы, на которые вы заходите - после этого перегенерируются. То есть, если вы хотите увидеть изменения - просто обновите страницу.
      В большинстве случаев нет необходимости очищать кеш вручную - все обновляется автоматически.
       
      После установки у вас будет 7 дней тестового периода, дальше надо будет купить лицензию.
      Про покупке есть возможность заказать платную проверку магазина и настройку Lightning.
       
      Внимание: OpenCart Lightning не работает на localhost, только на реальных интернет-серверах.
       
      Установка
      Загрузите lightning.ocmod.zip в инсталлятор, зайдите в Модификации и обновите их.
       
      Обновление
      1. Выключите Lightning.
      2. Очистите кеш Lightning.
      3. Зайдите в Модификации и удалите модификацию Lightning.
      4. Если вы обновляетесь с Lightning 1.xx или 2.хх, удалите папку system/lightning
      4. Установите новую версию Ligthning.
      5. Обновите Модификации.
      6. Включите Lightning.
      .
      Добавил MaxD Добавлено 04.12.2014 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика http://lightning.devs.mx/ Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Да  
    • By sv2109
      599.00 руб
      Скачать/Купить дополнение


      BOOST - ускоритель OpenCart + AJAX загрузка модулей
      Больше 10 тысяч загрузок модулей от sv2109!
      Это версия модуля для OpenCart 2.0, версию модуля для OpenCart 1.5.x приобрели уже больше 100 раз!
      Что делает этот модуль?
      Этот модуль позволяет ускорить время генерации страниц OpenCart до 100 раз! А в некоторых случаях и до 1000 раз.
      Модуль, который работает по похожему принципу, продается на оф. сайте и стоит 160$ (продается за "пол цены" за 80$) и имеет намного меньший функционал, чем в этом модуле.
      Зачем?
      Скорость загрузки сайта напрямую влияет на конверсию магазина. Если страница грузится больше 2-х секунд, пользователи не будут ждать, они уйдут к вашим конкурентам. Скорость загрузки сайта напрямую влияет на ранжирование страниц этого сайта в поисковой выдаче. Из 2-х одинаковых сайтов выше в выдаче будет тот, у кого скорость загрузки больше. Поэтому очень важно иметь сайт, который грузится быстро - такой сайт привлекательный как для пользователей, так и для поисковых систем.
      Это так же экономит огромное количество ресурсов сервера, что позволит на 1 хостинг аккаунте держать больше сайтов, а так же держать большие сайты на более дешевых хостингах.
      Отзывы
      Как все работает?
      Пользователь1 загружает Страницу1 (это может быть страница товара, категории, производителя, блога, информационная страница итд.). Через 10 секунд уже Пользователь2 загружает ту же самую страницу. Есть ли у этих страниц что-то общего? Да, и очень много - та же тема, то же меню, те же категории, товары, модули, футер итд. Так зачем же 1000 раз тратить огромные ресурсы сервера, чтобы создавать те же самые блоки? Не проще ли все общее сохранить в кеше и при последующих обращения не тратить ресурсы, а загрузить это из кеша?
      Что делать с блоками, которые должны быть уникальными?
      Например корзина должна быть уникальной для разных пользователей, строка приветствия должна содержать разные имена пользователей, модули, которым нужна уникальная информация, например модуль "случайные товары" должен содержать случайные товары итд.
      Модуль BOOST решает эту задачу - в модуле есть инструмент, который позволяет загрузить все уникальные блоки асинхронно через AJAX.
      То есть, простыми словами - все, что можно кешировать - кешируется, все что нельзя кешировать - подгружается через AJAX асинхронно.
      При этом достигается просто огромная скорость - время генерации страницы из кеша на сервере - сотые и даже тысячные доли секунды! Примерно от 1 до 30 милисекунд.
      Какие страницы кеширует модуль?
      Все страницы, указанные в настройках. По умолчанию там указаны страницы товаров, категорий, производителя, информационные страницы итд. Если у вас установлены какие-то дополнительные модули, например модуль Блог, вы можете также добавить в настройки страницы этого модуля для кеширования.
      Вы также можете в настройках указать параметры POST, GET, COOKIE, SESSION при которых не нужно кешировать страницу. Например GET параметр "nocache"
      Требования:
      OpenCart/ocStore 2.x, 3.x
      (версия для OpenCart 1.5.x находится тут)
       
      Модуль должен работать с любой темой, а также может работать и с другими модулями кеширования.
      Модуль активно использует файловый кеш, что требует дополнительного места на жестком диске на хостинге.
      Модуль использует IonCube, обычно на 99% хостингов он на всякий случай можете проверить.
      Одна лицензия модуля позволяет установить этот модуль на 1 домене.
      Демо:
      Замечания по демо:
      На демо установлен пустой OpenCart, скорость работы которого и так довольно высокая. На реальном сайте с десятками установленных модулей, десятками тысяч товаров и сотнями категорий эффект от модуля (разница между генерацией страницы без кеша и с кешем) будет намного и даже в разы больше, чем на пустом демо сайте. Если страница, которую вы загрузили не в кеше, обновите страницу - F5, чтобы увидеть разницу. Демо:
      Сайт Админка Для связи с автором модуля пишите на sv2109@gmail.com
      © Стасюк Владимир (sv2109.com), 2015
      Добавил sv2109 Добавлено 23.07.2015 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика sv2109.com Старая цена Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика  
    • By MaxD
      Ура! Заработал русский сайт поддержки Lightning - https://lightning.devs.mx/ru
      Там ответы на вопросы и форма запроса поддержки. Пишите, если заметите какие-то баги
       
      OpenCart Lightning - это мод для ускорения работы магазинов. Он использует целый ряд технологий и ноу-хау.
      Работает со всеми версиями OpenCart и ocStore.
       
      Вот ссылка на демо-магазин с 20000 товаров на хостинге DigitalOcean за $5 - http://demo.devs.mx/lightning
      почти мгновенное открытие страниц оптимизировано для получения высоких показателей в новом Google PageSpeed Insigts (осень 2018) быстрая работа с большим количеством товаров и категорий повышение удобства навигации по магазину и рейтингов в поисковиках не надо настраивать и приглядывать, просто работает отпадает необходимость в дополнительных модах оптимизации или кеширования  
       
       
       
       
      Если вы залогинены в админку - страницы, на которые вы заходите - после этого перегенерируются. То есть, если вы хотите увидеть изменения - просто обновите страницу.
      В большинстве случаев нет необходимости очищать кеш вручную - все обновляется автоматически.
       
      После установки у вас будет 7 дней тестового периода, дальше надо будет купить лицензию.
      Про покупке есть возможность заказать платную проверку магазина и настройку Lightning.
       
      Внимание: OpenCart Lightning не работает на localhost, только на реальных интернет-серверах.
       
      Установка
      Загрузите lightning.ocmod.zip в инсталлятор, зайдите в Модификации и обновите их.
       
      Обновление
      1. Выключите Lightning.
      2. Очистите кеш Lightning.
      3. Зайдите в Модификации и удалите модификацию Lightning.
      4. Если вы обновляетесь с Lightning 1.xx или 2.хх, удалите папку system/lightning
      4. Установите новую версию Ligthning.
      5. Обновите Модификации.
      6. Включите Lightning.
      .
    • By timijes
      Имеется сайт,прогнал его через https://developers.google.com .Мне сказали что нужны уменьшить вес изображений.
      Изображения загружаю по размерам шаблона+в формате png,перед этим ещё загоняю в оптимизатор,но когда после этого их вставляешь на сайт размер становится снова прежним.Как с этим бороться?Как уменьшить вес файлов?

    • By markimax
      990.00 руб
      Скачать/Купить дополнение


      Jet Cache - кеширование, оптимизация для магазинов

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 10`000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart

      Версия под opencart 3.x высылается по запросу
      Возможности
       
      - кеширует полностью страницы при полной интеграции с opencart (позволяет кешировать и для зарегистрированных пользователей и изменений корзины а также в зависимости от изменений в модулях)  
      - кеширует выбранные контроллеры (т е фактически  любые модули, будь то меню или т.п. а также полностью кеширует позиции (уникальная технология которая не реализовано ни в одном модуле кеширования для opencart) (с))  
      - кеширует методы моделей opencart (подсчет количества товаров и т п )  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart (уникальная технология полной интеграции с opencart, в отличии от всех кешировщиков которые сделанны по технологии v2pc)  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее... Добавил markimax Добавлено 15.03.2017 Категория Кэширование, сжатие, ускорение Системные требования PHP 5.3+ Сайт разработчика https://opencartadmin.com/seo-cms-jet-cache.html Старая цена 590 Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
  • 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.