Перейти к содержанию

Рекомендуемые сообщения

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для начала проверить - включено ли кеширование статики для клиентов (в .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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

imageinterlace($this->image, true);

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

СПАСИБО!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
одна строка, а сайт стал на 6% шустрее, по версии PageSpeed.

 

 

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Изменено пользователем halfhope

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

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


      OpenCart Lightning
       

       
      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.х  
    • От MaxD
      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.
      .
    • От 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.х  
    • От markimax
      Логин / пароль:
      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 Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • От 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 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.