Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Добрый день! На 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? Интересует не какая-то функциональность, а обычные крутилки товаров/галеры.

 

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

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

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

 

 

 

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

ПлЁхо.

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

Надіслати
Поділитися на інших сайтах

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

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

Надіслати
Поділитися на інших сайтах


Могу скинуть. Единственное - в админке нельзя зайти и отредактировать элемент, там 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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.