Магазин на 500 000+ товаров
Добрый день.
Есть задача сделать магазин на 570 000 товраов.
Товары простые — у них почти нет свойств, кроме изображения, описания и цены.
Первая проблема — это напролнение.
Модуль Импорт/Экспорт вешается. По моим расчетам ему надо 3-4 недели чтобы все загрузить )))
Это решилось импортом напрямую через запрос в БД. Слава mysql и после импорта 4 таблиц все товары на месте примерно за 15-20 минут.
Но начинается новый прикол, что до 300 000 товаров сайт еще более-менее живой и время отклика «около вменяемое» порядка 1000-1500 м/сек.
Но как только мы переваливаем за 400 тыс, время отклика уходит в 3-5 м/сек, а после 500 000 товаров доходит до 7 м/сек.
А в некоторых случаях сайт просто начинает отдавать 500 ошибку прямо с главной страницы.
Как быть с таким количеством наименований?
это просто магазин крепежа — куча разных винтиков разного размера и разной фасовки.
Тут нет модификаций, нет связей, один товар — одна категория.
Есть задача сделать магазин на 570 000 товраов.
Товары простые — у них почти нет свойств, кроме изображения, описания и цены.
Первая проблема — это напролнение.
Модуль Импорт/Экспорт вешается. По моим расчетам ему надо 3-4 недели чтобы все загрузить )))
Это решилось импортом напрямую через запрос в БД. Слава mysql и после импорта 4 таблиц все товары на месте примерно за 15-20 минут.
Но начинается новый прикол, что до 300 000 товаров сайт еще более-менее живой и время отклика «около вменяемое» порядка 1000-1500 м/сек.
Но как только мы переваливаем за 400 тыс, время отклика уходит в 3-5 м/сек, а после 500 000 товаров доходит до 7 м/сек.
А в некоторых случаях сайт просто начинает отдавать 500 ошибку прямо с главной страницы.
Как быть с таким количеством наименований?
это просто магазин крепежа — куча разных винтиков разного размера и разной фасовки.
Тут нет модификаций, нет связей, один товар — одна категория.
Комментарии: 12
Да не раз обсуждалось в этом же сообществе…
Во первый кеш… он как бы в modx файловый по-умолчанию… уходите от этого.
Если товары простые — может их хранить в отдельной таблице? не в дереве ресурсов?
Во первый кеш… он как бы в modx файловый по-умолчанию… уходите от этого.
Если товары простые — может их хранить в отдельной таблице? не в дереве ресурсов?
Во первый кеш… он как бы в modx файловый по-умолчанию… уходите от этого.В какую сторону уходить?
Вообще конечно посмотрите, что у вас тормозит, какие запросы, и уже тогда можно будет искать решение.
В самой карточке товара есть тормоза, или они только в каталоге присутствуют?
Судя по всему и правда нужная отдельная таблица на товары или даже на группы товаров разные таблицы.
Есть что-то по этому поводу в описании?
Нашел тут, что кто то мучался с 300 000 товаров, но никаких итогов в вопросе там не было.
Больше тем особо не нашел.
Отдельные таблицы под товары потребуют изменений в самом minishop судя по всему. Если была тема или кто-то писал про что-то подобное — пришлите, вдруг поможет
Кэш уже не спасет. Тормозит весь сайт.
Есть что-то по этому поводу в описании?
Нашел тут, что кто то мучался с 300 000 товаров, но никаких итогов в вопросе там не было.
Больше тем особо не нашел.
Отдельные таблицы под товары потребуют изменений в самом minishop судя по всему. Если была тема или кто-то писал про что-то подобное — пришлите, вдруг поможет
Кэш уже не спасет. Тормозит весь сайт.
Про кеш статья хорошая: modx.pro/hosting/281
Но в идеале для товаров кеш нужно вообще отключить! Он при таких кол-вах страниц приносит больше проблем, чем ускоряет сайт.
Но в идеале для товаров кеш нужно вообще отключить! Он при таких кол-вах страниц приносит больше проблем, чем ускоряет сайт.
может не верно выбран инструмент? Зачем тогда вам именно modx? У вас только товары и только категории, набросайте эту логику без всяких cms ок.
Попробуйте отключить в положение НЕТ эти настройки: cache_alias_map и use_context_resource_table. возможно это хоть как то ускорит. Но при 500к — выводить товары нужно уже самописными сниппетами с прямыми запросами без xpdo. Тк узким местом в данном случае скорее оно, чем кеши прочее.
Напиши @Володя, у него есть заготовочка которая тестилась на большем количестве товаров с поиском и фильтрацией. Прекрасно себя показала. Естественно оно продается, но, уверяю, стоит того.
попробовал отключить xpdo — скорость осталась на дне. возможно, что это не он.
постоянно идут ошибки о медленных запросах mysql
постоянно идут ошибки о медленных запросах mysql
отключить xpdo не возможно. она либо есть либо (нет) прямые запросы. Проверьте используются ли в БД индексы.
Ну и смотря какой хостинг. Ну и частота процессора очень сильно влияет на быстроту mysql.
Ну и смотря какой хостинг. Ну и частота процессора очень сильно влияет на быстроту mysql.
возможно есть вариант разделить таблицы товаров и объектов или что-то в этом духе? или разделить таблицы товаров по категориям, тогда в каждой категории выйдет по 50-100 тыс товаров. а с ними система работает.
А у вас ВСЕ товары только в 1й категории?
парент один, да. а привязка по дереву ко многим
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.