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

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

Добрый день! На over 9000 opencart тормозит. Ок, отключаю в настройках системы подсчет количества товаров. Смотрю slow лог, там 

 

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 = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '64'

 

хм... выглядит как этот самый подсчет. Вообще как с опенкартом дела обстоят - каждый ковыряется в файлах ядра и правит что ему нравится, или существуют более "гуманные" способы?

Потом смотрю про построение индексов http://forum.opencart.com/viewtopic.php?f=20&t=39759#p191059 - там на первый взгляд вообще написали чушь, хотя бы потому, что нет составных индексов, которые вообще могут в отдельных запросах быть покрывающими. Например по product_option_value вообще думаю можно сделать покрывающий, посмотрев запросы.

 

Есть более-менее вменяемый мануал, или все так плохо?

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


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

 

Ок, отключаю в настройках системы подсчет количества товаров.

Ну... не каждый разработчик модуля это учитывает :(

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


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

гуманный способ - пул реквест в репозиторий ocstore
https://github.com/myopencart/ocStore
 

отключаю в настройках системы подсчет количества товаров

				$product_total = $this->model_catalog_product->getTotalProducts($data);				
				
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
...

фактически отключается не подсчет кол-ва, а отображение. почему так мне самому интересно

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


Ссылка на сообщение
Поделиться на другие сайты
Потом смотрю про построение индексов http://forum.opencart.com/viewtopic.php?f=20&t=39759#p191059 - там на первый взгляд вообще написали чушь,
ALTER TABLE `user` ADD INDEX ( `username` ) ;
ALTER TABLE `user` ADD INDEX ( `password` ) ;
ALTER TABLE `user` ADD INDEX ( `email` ) ;

Это конечно жесть ...

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


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

Да, я видела osStore, но что меня смутило: не официальный релиз  теперь ясно, что это - форк, и что "подмастерье превзошло мастера". Вначале я писала про opencart 1.5.6, который вижу третий день.

Теперь вопрос - к osStore подходят темы от opencart 1.5.6? При установке темы от фемефорест заменялись файлы ядра сайта, в суть этих изменений я не вглядывалась, но может сложиться ситуация, что тема затрет в форке важные изменения, после чего все рухнет :) У кого есть опыт? Не хочется отслеживать изменения форка, делать некоторый патч на тему, чтобы потом еще ошибки ловить. Хочется по-возможности максимальной работоспособности, подправив пару строк. Также есть модули опенкарта - насколько они совместимы с osStore? Интересует не какая-то функциональность, а обычные крутилки товаров/галеры.

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


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

Да, я видела osStore, но что меня смутило: не официальный релиз  теперь ясно, что это - форк, и что "подмастерье превзошло мастера". Вначале я писала про opencart 1.5.6, который вижу третий день.

Теперь вопрос - к osStore подходят темы от opencart 1.5.6? При установке темы от фемефорест заменялись файлы ядра сайта, в суть этих изменений я не вглядывалась, но может сложиться ситуация, что тема затрет в форке важные изменения, после чего все рухнет :) У кого есть опыт? Не хочется отслеживать изменения форка, делать некоторый патч на тему, чтобы потом еще ошибки ловить. Хочется по-возможности максимальной работоспособности, подправив пару строк. Также есть модули опенкарта - насколько они совместимы с osStore? Интересует не какая-то функциональность, а обычные крутилки товаров/галеры.

 

здесь все целиком зависит от автора

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

 

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

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


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

Идем дальше... Модель данных одинакова? Т.е. если попросту взять БД от опенкарта, а файлы от osStore - будет работать? :)

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


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

Не совсем совместима по модели

ocStore более заточена под SEO нужды.

 

Но за счет совместимости основной модели, практически все модули opencart работают.

Трудности могут возникнуть на некоторых, специфических, учитывающих   особенность OC. Но это все дело поправимое.

 

 

 

который вижу третий день.

ПлЁхо.

Плохо то, что только третий день. И уже вопросы. На день 10-й, 20-й эти бы вопросы сами бы отпали. (имхо)

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


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

В общем, очень крутая прибавка в скорости произошла при удалении из запросов сравнения с времени (типа дата доступности <= NOW()) и удаления WHERE store_id = ...

Конечно, это означает отказ от мультимагазинности и учета времени. С другой стороны, такие навороты и не нужны.

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


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

гуманный способ - пул реквест в репозиторий ocstore

https://github.com/myopencart/ocStore

Если б ещё кто выложил базу побольше для тестов.

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


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

Могу скинуть. Единственное - в админке нельзя зайти и отредактировать элемент, там mysql ошибка - еще не разбиралась с этим. База забивалась через addCategory, addProduct который вытащила из админки. Ну и opencart 1.5.6

Пока проблему не исправлю этот дамп бесполезен

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


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

Вот ссылка на скачивание https://yadi.sk/d/MM7iVbcigKQa2

Там вся БД, ставилось на opencart 1.5.6, после чего добавлен русский язык, рубль и каталог на 13 тыс товаров и 1,8 тыс категорий.

Значимые для каталога таблицы: oc_product*, oc_category*, oc_currency, oc_url_alias, oc_language, oc_manufacturer, oc_manufacturer_to_store, oc_setting

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От 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.х  
  • Последние посетители   0 пользователей онлайн

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

×

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

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