Помощь Оптимизация mysql при использовании > 17000 товаров

maxim nestoff

Создатель
Регистрация
23 Апр 2009
Сообщения
185
Реакции
15
Друзья, после импорта товаров сайт (или даже скорее главная страница сайта) стал очень долго открываться. Использую свой сервер с 512 мб оперативы. В процессах mysql сжирает 98% ресурсов процессора при открытии главной страницы сайта. Попробовал убрать товары и категории - никаких изменений в лучшую сторону. Выставил
query_cache_size=128M

Попробовал поигратся с конфигами mysql - никакого результата.


Страницы about, админка отрываются нормально.
 
Случаем не стоит подсчет количества товаров в категориях ?
 
Есть специальный модуль (от Yoda, кажется), в котором категории оптмизированы под большое кол-во товаров. Но с таким количеством, вам надо кэшировать все и вся + уменьшать запросы к БД.
 
Категории отключил, все товары из главной убрал. Может подскажите как глянуть какие запросы идут с главной в mysql?
 
Перейдите в консольный клиент mysql и используйте команды:
show processlist;
show status;
 
Куча тем была же, Для просмотра ссылки Войди или Зарегистрируйся, например. Также советую отрубить поиск и поставить Seo Pro с кэшированием.
 
Вот самая большая проблема catalog/model/catalog/product.php
в контролерах ети запросы по несколько раз просятся
 
Эмм, сори за оффтоп, но не маловато ли оперативы? Почему бы не добавить?
 
Путем экспериментов было выявлено, что проблемы возникают когда на сайт загрузить категории (таблица oc_category).
Кстати, вот конфиг сервера
PIII-500Mhz
512Mb SDRAM (4x128)
60gb hdd
Старое барахло, я знаю, но другого пока не могу себе позволить. Этого достаточно для работы скрипта с таким колл товара?

Вот самая большая проблема catalog/model/catalog/product.php
в контролерах ети запросы по несколько раз просятся
Что там нужно изменить?


thekorolev сказал Для просмотра ссылки Войди или Зарегистрируйся
Есть специальный модуль (от Yoda, кажется), в котором категории оптмизированы под большое кол-во товаров. Но с таким количеством, вам надо кэшировать все и вся + уменьшать запросы к БД.​
Может подскажите, что за модуль?

upd. Вот логи медленных mysql запросов:
Код:
# Time: 130430 12:51:43
# User@Host: zoomarket[zoomarket] @ localhost []
# Query_time: 2.476169  Lock_time: 0.000635 Rows_sent: 1  Rows_examined: 58327
SET timestamp=1367315503;
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)  LEFT JOIN oc_product_special ps ON (p.product_id = ps.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 = '260';

Версия OC 1.5.5.1'
 
Етого мало тебе, такой проц ето убийство

Для просмотра ссылки Войди или Зарегистрируйся, там смотри что делать хотя ето мало тебе даст о все же снимет немножко нагрузку и быстродействия +
 
Назад
Сверху