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

Оптимизация SQL запросов

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

Здравствуйте, помогите кто чем может :) слишком большой отклик  у некоторых запросов к базе sql, сервер выделенный виртуальный, трафика нет (отладка магаза) но при этому на открытие страницы уходит под 5-7 секунд, установил панель отладки которая показала большой отклик для таких вот запросов:

23 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (521)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.20478 s
24 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (519)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.21754 s
25 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (517)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.22328 s
26 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (73)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.21217 s
27 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (75)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19892 s
28 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (74)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19897 s
29 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (482)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19218 s
30 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (484)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.18633 s

ускорялок никаких не ставил, размер таблицы oc_product_description 60Мб, таблицы oc_product 7Мб (32 000 товаров) остальные запросы выполняются за тысячные доли секунды.  Если у кого есть мысли куда копать - подскажите, всем откликрувшимся спасибо.

post-27652-0-69137300-1376980926_thumb.jpg

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


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

Отключите в админке подсчет товаров в категории.

  • +1 1

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


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

Отключите в админке подсчет товаров в категории.

Естественно, подсчёт отключён, я вот думаю а остаются ли запросы к базе относительно подсчёта этих товаров, например, что значит этот кусочек кода: SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product ?

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


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

Какие еще модули установлены? Где-то идет обращение к модели где идет подсчет товаров.

  • +1 1

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


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

Отключил все модули, все вкумод удалил, всё равно запросы остаются.

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


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

А сколько у вас категорий на сайте? Мы недавно на такое натыкались у товарища noVe https://opencartforum.com/topic/23340-uskorit-rabotu-saita-na-ocstore-1541-poriadka-50-000-tovarov/

Может быть и вам поможет.

Кстати, ссылку бы дали ;)

  • +1 1

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


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

Естественно, подсчёт отключён, я вот думаю а остаются ли запросы к базе относительно подсчёта этих товаров, например, что значит этот кусочек кода: SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product ?

Как вариант это может быть подсчет для pagination

  • +1 1

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


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

сайт находится на домене office-dom.com там сейчас активирован плагин для отладки, и все модули выключены.

 

Как вариант это может быть подсчет для pagination

Что за pagination? его возможно отключить без последствий?

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


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

Что за pagination? его возможно отключить без последствий?

Это постраничная навигация в категориях и т.д.

  • +1 1

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


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

 

Что за pagination? его возможно отключить без последствий?

Возможно, комментировать в controller и template все что связано с pagination. Но тогда пропадет навигация по страницам в категориях и т.д. А это уже с последствиями :-)  для юзабилити.

  • +1 1

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


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

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

<a href="[вц]">модули opencart</a>
Изменено пользователем freelancer
варез
  • +1 1

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


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

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

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

 

 

 

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

<a href="http://myopencart.net/forum/files/">модули opencart</a>

 

Где именно этот код? На главной я не нашёл, возможно он относился к конкретному модулю. Дистриб уже перелопачен так, что стандартным его не назвать...

  • +1 1

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


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

office-dom.com/index.php?route=product/category&path=480_485 в исходном коде страницы.

  • +1 1

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


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

Да, действительно помимо всего прочего ещё и инфицирован файл response.php, видимо последствия апрельских атак.  Восстановил его из оригинального дистрибутива, благодарю за наводку.

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


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

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

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

И что же это за решение проблемы?

Если категория должна быть в главном меню, то зачем снимать галочку "Главное меню"? )

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


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

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

 

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

 

У меня тоже такая проблема, почему-то сайт генерирует оч большую нагрузку, до 100к cp,

Может вы подскажете? хостинг прислал проблемный запрос:

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '63'

 

exaplin запроса:

artilari_olive8e@everest3.beget.ru[artilari_olive8e]> explain SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '63'; +----+-------------+-------+------------+--------+---------------------+---------+---------+----------------------------------------+-------+----------+--------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+--------+---------------------+---------+---------+----------------------------------------+-------+----------+--------------------------+ | 1 | SIMPLE | p2s | NULL | index | PRIMARY | PRIMARY | 8 | NULL | 20056 | 10.00 | Using where; Using index | | 1 | SIMPLE | p | NULL | eq_ref | PRIMARY | PRIMARY | 4 | artilari_olive8e.p2s.product_id | 1 | 5.00 | Using where | | 1 | SIMPLE | pd | NULL | eq_ref | PRIMARY | PRIMARY | 8 | artilari_olive8e.p2s.product_id,const | 1 | 100.00 | Using index | | 1 | SIMPLE | p2c | NULL | ref | PRIMARY,category_id | PRIMARY | 4 | artilari_olive8e.p2s.product_id | 3 | 100.00 | Using where; Using index | | 1 | SIMPLE | cp | NULL | eq_ref | PRIMARY | PRIMARY | 8 | artilari_olive8e.p2c.category_id,const | 1 | 100.00 | Using index | +----+-------------+-------+------------+--------+---------------------+---------+---------+------

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


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

По поводу подсчета, он просто так не отключает, нужно править еще категории если я не ошибаюсь 

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


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

Ilari, какая версия движка? сколько товаров, сколько категорий?

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


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

С этими SELECT(COUNT(...)) в опенкарте действительно проблемы. Мы у клиента лечили установкой кеширования: http://e-45.ru/articles/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-opencart-1_5

В принципе, процедура несложная: смотрим в профайлере тормозные запросы, ищем код, оборачиваем в кеш, потом следующий и т.д.

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


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

С этими SELECT(COUNT(...)) в опенкарте действительно проблемы. Мы у клиента лечили установкой кеширования: http://e-45.ru/articles/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-opencart-1_5

В принципе, процедура несложная: смотрим в профайлере тормозные запросы, ищем код, оборачиваем в кеш, потом следующий и т.д.

Кэширование - хорошо, но не тогда когда у вас есть сортировка по наличию.

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


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

Кэширование - хорошо, но не тогда когда у вас есть сортировка по наличию.

 

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

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


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

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

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

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


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

@Vladzimir

md5(http_build_query($data)); 

@druzhkov, Интересное решения, нужно будет поэкспериментировать  

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


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

@Vladzimir

md5(http_build_query($data)); 

@druzhkov, Интересное решения, нужно будет поэкспериментировать  

И что это даст? data всегда будет одна и та же. А вот результат запроса всегда плавает.

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


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

И что это даст? data всегда будет одна и та же. А вот результат запроса всегда плавает.

$data['sort'] всегда разная будет и будет генерировать разный хеш 

 

мы же используем http_build_query 

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От 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.х  
    • От Sha
      449.00 руб
      Скачать/Купить дополнение


      Layout Type, ускорение мобильной версии.
      Модуль для ускорения мобильной версии сайта.
      DEMO
      Подробней:
      Как сделать шаблон адаптивным? на мобильной версии скрыть "лишние" элементы.
      Как, что-бы при этом не пострадало usability? переместить модули и виджеты на другие позиции.
       
      Даже топовые шаблоны, поступают именно таким образом, элементы которые "не нужны" или наоборот необходимы только в мобильной версии: либо скрываются посредством css (display:none); либо перемещаются, хорошо если flexbox или bootstrap pull push но часто с помощью навешивания множества слушателей событий javascript. Даже адаптивность bootstrap основана на таких принципах.
      Всё это создаёт лишний "вес" и нагрузку, что конечно же замедляет работу сайта и заставляет процессор пользователя работать с повышенной нагрузкой шумя как майнинг ферма.
      Мы в наших продуктах пропагандируем использовать только то, что необходимо сейчас. И исходя из этих принципов нами был разработан
       
      модуль Мобильные схемы который позволит:
      уменьшить объём страницы,  избавится от лишнего JavaScript кода, избавится от css костылей,      и др.
           при этом даже улучшив
      адаптивность, гибкость в настройке и дружелюбность Вашего сайта!  
       
      Поддерживает встроенные схемы популярных модулей, например поддерживает SEOCMS.
      Большие скидки, для постоянных покупателей.
       
      Бесплатно модуль получить можно вместе с шаблоном Roundshop.
       
      FAQ
       
      Техническая поддержка
      доступна пользователям из списка покупателей.
      Если вы обращаетесь с просьбой разобраться в проблеме, то для экономии времени укажите:
      адрес сайта доступ в админ-панель доступ на FTP-сервер  
      По любым вопросам вы можете связаться с нами через:
      Личные сообщения на форуме; Режим работы с 10-00 до 18-00 по киевскому времени за исключением выходных и праздничных дней.
       
      Добавил Sha Добавлено 13.03.2018 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика r.konotop.info Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От Sha
      Модуль для ускорения мобильной версии сайта.
      DEMO
      Подробней:
      Как сделать шаблон адаптивным? на мобильной версии скрыть "лишние" элементы.
      Как, что-бы при этом не пострадало usability? переместить модули и виджеты на другие позиции.
       
      Даже топовые шаблоны, поступают именно таким образом, элементы которые "не нужны" или наоборот необходимы только в мобильной версии: либо скрываются посредством css (display:none); либо перемещаются, хорошо если flexbox или bootstrap pull push но часто с помощью навешивания множества слушателей событий javascript. Даже адаптивность bootstrap основана на таких принципах.
      Всё это создаёт лишний "вес" и нагрузку, что конечно же замедляет работу сайта и заставляет процессор пользователя работать с повышенной нагрузкой шумя как майнинг ферма.
      Мы в наших продуктах пропагандируем использовать только то, что необходимо сейчас. И исходя из этих принципов нами был разработан
       
      модуль Мобильные схемы который позволит:
      уменьшить объём страницы,  избавится от лишнего JavaScript кода, избавится от css костылей,      и др.
           при этом даже улучшив
      адаптивность, гибкость в настройке и дружелюбность Вашего сайта!  
       
      Поддерживает встроенные схемы популярных модулей, например поддерживает SEOCMS.
      Большие скидки, для постоянных покупателей.
       
      Бесплатно модуль получить можно вместе с шаблоном Roundshop.
       
      FAQ
       
      Техническая поддержка
      доступна пользователям из списка покупателей.
      Если вы обращаетесь с просьбой разобраться в проблеме, то для экономии времени укажите:
      адрес сайта доступ в админ-панель доступ на FTP-сервер  
      По любым вопросам вы можете связаться с нами через:
      Личные сообщения на форуме; Режим работы с 10-00 до 18-00 по киевскому времени за исключением выходных и праздничных дней.
       
  • Последние посетители   0 пользователей онлайн

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

×

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

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