MS2, mSearch2 и 25 000 товаров
Всем привет!
Есть задача разработать книжный каталог со стартовой численностью 25 000+ наименований. Вопрос: потянет ли MS2 такое количество товаров? Не будет ли тормозить? Сможет ли mSearch2 быстро фильтровать категории, в которых содержится по несколько тысяч наименований?
И второй вопрос. Есть ли где-то успешные реализации электронных товаров на ms2 (программы, документы и пр). И если есть — поделитесь, пожалуйста, ссылками.
Стоит выбор платформы для реализации, и появилась дилемма: сделать все на родном и любимом MODX, либо искать другую платформу.
Всем спасибо за ответы.
Есть задача разработать книжный каталог со стартовой численностью 25 000+ наименований. Вопрос: потянет ли MS2 такое количество товаров? Не будет ли тормозить? Сможет ли mSearch2 быстро фильтровать категории, в которых содержится по несколько тысяч наименований?
И второй вопрос. Есть ли где-то успешные реализации электронных товаров на ms2 (программы, документы и пр). И если есть — поделитесь, пожалуйста, ссылками.
Стоит выбор платформы для реализации, и появилась дилемма: сделать все на родном и любимом MODX, либо искать другую платформу.
Всем спасибо за ответы.
Комментарии: 24
Рекламы коммент: если не MS2, то обязательно уже и не MODX? Есть ShopModxBox. Вот, для примера, магазин на 140 000 товаров. Дизайн конечно стремненький (не наш), но по скорости работы он совсем не плох.
Хотел было показать еще www.dg-yug.ru (там 75 000 статей, и как раз там я делал семантический поиск, котторый войдет в ближайший скорый релиз ShopModxBox), да только теперь он тормозить жутко стал. Судя по всему я могу сейчас кинуть тень сомнения, но переделали его как раз на office, mfilter, hybridAuth и т.п. До того, как сайт испортили, поиск выполнялся 1-2 сек по всем статьям (там порядка 10 500 000 индекс-записей). Чуть позже я разверну копию сайта, чтобы подтвердить свои слова. Сейчас поиск выполняется более 10 секунд. К слову о поиске: искать, например, «Пропала собака в Сочи». Сейчас он находит 1000+ страниц результатов. В первой же статье есть Сочи, но нет и близко собака и пропала (пропажа и т.п.).
Вообще про историю с этим сайтом я напишу чуть позже. Это яркий пример того, как бывает, когда клиент хочет съэкономить, думая, что можно сменить подрядчика на подешевле, когда все уже готово. Забывают, что готовое сломать не долго. А ведь раньше сайт открывался менее чем за 0.1 сек. Он и сейчас примерно за столько же открывается, да только это из кеша. На горячую 3+ сек открывается. Это при том, что еще и комментарии убрали (а у нас они были не кешируемыми).
В общем, дело не только в выбранном инструменте, но и кто работает с ним.
Хотел было показать еще www.dg-yug.ru (там 75 000 статей, и как раз там я делал семантический поиск, котторый войдет в ближайший скорый релиз ShopModxBox), да только теперь он тормозить жутко стал. Судя по всему я могу сейчас кинуть тень сомнения, но переделали его как раз на office, mfilter, hybridAuth и т.п. До того, как сайт испортили, поиск выполнялся 1-2 сек по всем статьям (там порядка 10 500 000 индекс-записей). Чуть позже я разверну копию сайта, чтобы подтвердить свои слова. Сейчас поиск выполняется более 10 секунд. К слову о поиске: искать, например, «Пропала собака в Сочи». Сейчас он находит 1000+ страниц результатов. В первой же статье есть Сочи, но нет и близко собака и пропала (пропажа и т.п.).
Вообще про историю с этим сайтом я напишу чуть позже. Это яркий пример того, как бывает, когда клиент хочет съэкономить, думая, что можно сменить подрядчика на подешевле, когда все уже готово. Забывают, что готовое сломать не долго. А ведь раньше сайт открывался менее чем за 0.1 сек. Он и сейчас примерно за столько же открывается, да только это из кеша. На горячую 3+ сек открывается. Это при том, что еще и комментарии убрали (а у нас они были не кешируемыми).
В общем, дело не только в выбранном инструменте, но и кто работает с ним.
Николай, спасибо за подробный ответ. Я не работал с ShopModxBox, — расскажите пожалуйста, товары там хранятся в отдельной таблице, или все реализовано аналогично с ShopKeeper`ом — обычными документами? Думаю, что с обычными документами при десятках тысяч будет тормозить при сохранении, банально из-за очистки кэша. Впрочем, это лишь мои домыслы.
Товары документами хранятся не только в шопкипере, но и в минишопе. Это нормальная практика. Но да, с кешем тут конечно потребуются дополнительные телодвижения.
Во-первых, кеш-провайдер переводится на memCached или типа того. Как раз для быстрого сброса кеша. По опыту скажу, что даже на сотне тысяч документов кеш будет сбрасываться мгновенно.
Во-вторых, дело не только в объеме и сбросе кеша, а в самой генерации кеша. Ведь MODX проходится по всем документам, чтобы набить их в кеш. Хотите больше информации по кешированию — крайне советую к прочтению modxclub.ru/blog/139.html
Для борьбы с этим мы используем описанный в статье cacheOptimizer. Правда после обновления самого MODX-а его так же придется переустанавливать, но это не долго. Может руки доберутся и я все-таки отправлю пуллреквест в ядро MODX, хотя сомневаюсь, что его примут. Но без этого крупные проекты на MODX просто не запустить.
Во-первых, кеш-провайдер переводится на memCached или типа того. Как раз для быстрого сброса кеша. По опыту скажу, что даже на сотне тысяч документов кеш будет сбрасываться мгновенно.
Во-вторых, дело не только в объеме и сбросе кеша, а в самой генерации кеша. Ведь MODX проходится по всем документам, чтобы набить их в кеш. Хотите больше информации по кешированию — крайне советую к прочтению modxclub.ru/blog/139.html
Для борьбы с этим мы используем описанный в статье cacheOptimizer. Правда после обновления самого MODX-а его так же придется переустанавливать, но это не долго. Может руки доберутся и я все-таки отправлю пуллреквест в ядро MODX, хотя сомневаюсь, что его примут. Но без этого крупные проекты на MODX просто не запустить.
Спасибо за cacheOptimizer, интересно. Надо попробовать. Еще попутно наткнулся на cacheMaster, тоже стоящее внимания (по описанию) решение, позволяет очищать кэш только редактируемого документа.
В шопкипере есть возможность хранить товары в отдельной таблице.
В минишопе тоже как бы товары хранятся отдельно.
В минишопе тоже как бы товары хранятся отдельно.
Вы говорите о товарах или о данных товаров? И в минишопе, на сколько я знаю, товары не хранятся как бы отдельно. Есть товар (CRC, расширяющий modResource класс github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/msproduct.class.php#L7), а есть отдельно класс данных товаров msProductData. То же самое и в ShopModxBox.
А вот про хранение товаров в отдельной таблице шопкипера никогда не слышал. Только что в отдельном контексте хранится. Но может что новое и появилось. Или там так же отдельно только параметры документов, и вы это тоже называете отдельным хранением товаров?
А вот про хранение товаров в отдельной таблице шопкипера никогда не слышал. Только что в отдельном контексте хранится. Но может что новое и появилось. Или там так же отдельно только параметры документов, и вы это тоже называете отдельным хранением товаров?
В шопкипере через MIGX создаешь отдельную табличку с своими полями и там уже хранишь товары. Так было раньше, сейчас им не пользовался давно, может что интересное и появилось.
А ЧПУ на базе самого MODX, проверку прав и т.п. — все фтопку. Да? Ну ОК. По этим причинам мы не делаем самих товаров не в документах. Но достаточно прокачали оптимизацию, чтобы потянуть сотни тысяч товаров. Хотя бы вот этот топик прочитайте habrahabr.ru/post/253737/
Я не агитирую за какой-то из компонентов, просто сказал что есть возможность хранить отдельно, а с ЧПУ там есть решения и всё такое, можно в документацию глянуть(кому надо). Что там внутри я не в курсе, я верстальщик, приходилось пару раз натягивать макеты без собственно разработчика, поэтому говорю то, что узнал из документации.
Вашим решением тоже не приходилось пользоваться, верстальщику с ним тяжко.
А автору могу посоветовать только поставить разные компоненты и забить их данными (не руками конечно), тогда и будет ясно что справляется, а что нет.
Вашим решением тоже не приходилось пользоваться, верстальщику с ним тяжко.
А автору могу посоветовать только поставить разные компоненты и забить их данными (не руками конечно), тогда и будет ясно что справляется, а что нет.
Можно попробовать нагенерировать скриптом фейковых товаров пару-тройку десятков тысяч. Спасибо за наводку, интересная мысль…
Да я тоже не на агитации сосредоточен, а на деталях и правильным именованием вещей. Хранить дополнительные параметры товаров, когда сами товары являются документами — это не есть «хранить товары в отдельной таблице. Это есть „хранить данные товаров в отдельной таблице“.
А вот если вы пытаетесь программировать, а не просто компоновать готовые модули, то тут да, верстальщику это сложно. И об этом сразу говорилось, что ShopModxBox имеет довольно высокий порог вхождения. Но в топике ничего не говорилось про пороги вхождения, в топике спрашивалось про возможности создания магазина на 25 000 товаров на MODX. ShopModxBox это может легко, даже без установки cacheOptimizer.
Вашим решением тоже не приходилось пользоваться, верстальщику с ним тяжко.Верстальщику с ним не сложно, если он там верстает, а не программирует. Потому что что сложного верстать код в Смарти, тем более имея исходные данные в массивах? О плюсах использования сторонних шаблонизаторов на замену нативному MODX-ому довольно много написано здесь.
А вот если вы пытаетесь программировать, а не просто компоновать готовые модули, то тут да, верстальщику это сложно. И об этом сразу говорилось, что ShopModxBox имеет довольно высокий порог вхождения. Но в топике ничего не говорилось про пороги вхождения, в топике спрашивалось про возможности создания магазина на 25 000 товаров на MODX. ShopModxBox это может легко, даже без установки cacheOptimizer.
За сcылку спасибо, интересная статья
Всегда пожалуйста!
Делал ИМ на шопкипере, безо всяких ухищрений с отдельными таблицами, т.е. всё на ресурсах. И параметры товаров в обычных ТВ. mFilter и mSearch вполне сносно работают с 13 тыс. товарами. У каждого товара имеется 7 твшек. А в MS параметры вообще в отдельной таблице лежат, думаю 25 тыс. товаров вообще не проблема.
А можно ссылку на такой магазин на шопкипере? А то я за два дня получил уже два запроса на оптимизацию магазинов на нем. Один три секунды открывается (там меньше сотни товаров), а другой порядка 20 секунд. Понимаю, что от разработчика тоже многое зависит, вот может вы тот, кто смог на нем большой магазин сделать?
Бывают еще разные говнохостинги, вроде nic.ru, у которых бд переваривает запросы со скоростью калькулятора «Электроника-М». Достаточно просто перенести на любой нормальный хостинг, и все замчит со скоростью ветра.
У меня есть магаз на MS2+mSearch2+Office и еще там кое-чего разного понаставлено, все это крутится на дешевом виртуальном хостинге (у не самого быстрого Мастерхоста) и работает хорошо. Но и товаров там сотни три или чуть больше, так что это сложно считать показателем.
У меня есть магаз на MS2+mSearch2+Office и еще там кое-чего разного понаставлено, все это крутится на дешевом виртуальном хостинге (у не самого быстрого Мастерхоста) и работает хорошо. Но и товаров там сотни три или чуть больше, так что это сложно считать показателем.
Я довольно часто переделываю сайты и имею не малый опыт в этом. Когда сайт открывается несколько секунд, даже при смене хостинга на офигенный вы вряд ли получите прирост более чем в три раза. Но плюс к этому вы еще и получите весьма заметную нагрузку на сервер. Просто посмотрите картинки здесь: modxclub.ru/blog/131.html
Поэтому, даже если вы перенесли на офигенный хостинг, то проведя нормальную работу с сайтом можно увидеть серьезную разницу в нагрузке на сервер, особенно если есть средства измерить ее.
А вот такие общие фразы «я делал, было много всего, у меня все летало как ветер...» без пруфов — как бы мало имеет ценности.
Поэтому, даже если вы перенесли на офигенный хостинг, то проведя нормальную работу с сайтом можно увидеть серьезную разницу в нагрузке на сервер, особенно если есть средства измерить ее.
А вот такие общие фразы «я делал, было много всего, у меня все летало как ветер...» без пруфов — как бы мало имеет ценности.
Согласен что nic.ru — не айс вообще.
А можно ссылку на такой магазин на шопкипере?Магазин пока в разработке (на завершающем этапе), и я не хотел бы его выносить на суд общественности :) 20 секунд это совсем жестоко… Показатели открытия категории товаров с карточками сейчас такие, если обновить кеш:
Время на запросы к БД 0.4206 s
Запросов к БД 473
Время работы PHP скриптов 3.3148 s
Время генерации страницы 3.7355 s
Фильтрация работает в пределах секунды. И shopkeeper тут вообще не причём, т.к. это всего лишь корзина и не более. Хранение товаров производится штатными средствами modx, а вывод с помощью сниппетов pdoTools. Никаких особых средств или чего-то нестандартного я не использовал, сам не ожидал, что так получится, думал будет медленнее. Правда под нагрузкой как будет работать пока знаю.
Ну, как я и говорил, на 13к и не требуется с кешем никакой допработ, достаточно просто отключить кеширование алиасов в настройках (хотя и рекомендуется перевести на memcached или типа того).
473 запроса — это очень много. 3.7 секунд — тоже много. Я ни в чем не обвиняю, просто говорю, что надо стараться не допускать таких показателей :)
473 запроса — это очень много. 3.7 секунд — тоже много. Я ни в чем не обвиняю, просто говорю, что надо стараться не допускать таких показателей :)
Ссылку на сайт можно? Так-то это просто картинка от рандомного сайта.
P.S. 1к в день — посещалка ни о чем, если говорить о нагрузке. Вопрос сколько онлайн юзеров выдерживает? Мы на dg-yug.ru тестировали 2000 юзеров онлайн, сервер положить не смогли. Отчет: joxi.ru/Dr8Ke8OIYgKlA6
Но это было до того, как егоиспортили обновили. Сейчас скорее всего и сотню не выдержит.
Также могу порекомендовать Django, на проекте с 1500к товаров страницы генерируются за ~50мсГенерятся, или из кеша отдаются?
P.S. 1к в день — посещалка ни о чем, если говорить о нагрузке. Вопрос сколько онлайн юзеров выдерживает? Мы на dg-yug.ru тестировали 2000 юзеров онлайн, сервер положить не смогли. Отчет: joxi.ru/Dr8Ke8OIYgKlA6
Но это было до того, как его
Спасибо за информацию!
Подскажите спецификации сервера, на котором все это крутится (если не секрет).
Django — он же на питоне и для питона? Это пока не вариант, мне бы с MODX/PHP разобраться :)
Подскажите спецификации сервера, на котором все это крутится (если не секрет).
Django — он же на питоне и для питона? Это пока не вариант, мне бы с MODX/PHP разобраться :)
Кстати, еще вопросик: у вас там 100к товаров. С объемом кеша как-то боролись? КЕш-провайдер стандартный файловый или как? И если файловый, то сколько он по объему в мегабайтах?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.