Подходит ли Drupal для интернет-магазина?
Опубликовано 19 мая, 2010 - 02:06 пользователем Stilgar
Доброго времени суток!
Хочу поинтересоваться у всех, кто интересовался вопросом построения на Drupal интернет-магазинов: насколько хороши расширения Drupal для интернет-магазина, насколько большое потребление ресурсов и время отклика, какой вид хостинга подойдёт ресурсу?
Известно: большой каталог товаров (уже больше десяти тысяч, импортируются из 1С ежедневно), много дополнительных функций (из них форум — не самая тяжёлая) будут на том же движке, посещаемость должна быть расчитана на десятки тысяч уникальных посетителей в день (прикидываю сходу, текущая и детали рекламной кампании мне не известны).
Буду очень благодарен за помощь, как мнением, так и ссылкой.
С уважением,
Стилгар
field_vote:
pomodor
19 мая, 2010 - 02:32
Хеллоу! В конторе, в которой я прежде работал, интернет-магазины только на Друпале и делали. Но не на 10 тыс уников в день, конечно. У Друпала серьезные проблемы с потреблением ресурсов, а точнее повышенные требования к памяти (от 64Мб, если установлены модули Views и CCK) и, что еще хуже, Друпал генерирует огромное количество обращений к БД (что, впрочем, лечится, но нужен спец). Если не лечить, то error_log в первые же сутки надуется всякими MySQL server has gone away.
Сама разработка очень проста, т.к. есть почти все необходимые модули. Даже программировать не особо много приходится, основное делается мышкой в админке.
Но мое мнение, если магазин нужен под такую посещаемость, то и бюджет должен быть соответствующий. Т.е., ИМХО, лучше всего подойдет самопис.
Stilgar
19 мая, 2010 - 13:37
Приветствую! :-)
Бюджет мне не известен, но, думаю, вариант дороже чем CMS потянет. Мне (пока только мне) нравится Django, к нему есть магазин Satchmo (версия 0.9, но уже есть куча магазинов на нём), я давно собираюсь попробовать его на одном сравнительно небольшом магазине.
А какой самый простой способ продемонстрировать ресурсоёмкость Drupal? Если загнать в него всю базу товаров, хорошо нагрузит? Вот сейчас там на кривом самописе запрос к категории на 5000 товаров обрабатывается 4-9 секунд (при этом показываются только 8 :-) ).
Кстати, для Друпала вроде два популярных расширения для интернет-магазинов, какое порекомендуете?
pomodor
19 мая, 2010 - 14:10
Советую поставить модуль Devel (http://drupal.org/project/devel). Он показывает количество обращений к БД для генерации каждой страницы. Даже без тестовых данных количество запросов будет 200-300 на страницу. Если умножить на количество одновременных юзеров, то получается довольно много. Еще Devel показывает потребление памяти. Для магазина потребуются модуль Views, а он очень прожорливый.
Честно говоря, никакое. В Друпале есть понятие нода (единица контента). У любой ноды есть два обязательных поля "заголовок" и "тело". Установив модуль Content Construction Kit (http://drupal.org/project/cck) можно добавлять к ноде произвольные поля мышкой прямо в админке. Полями могут быть: цена, картинка, ссылка на сайт производителя и т.д. Т.е., сделать ноду под товар — минутное дело.
Идем далее. :) Есть модуль Views (http://drupal.org/project/views). Он позволяет компоновать ноды на странице по определенному правилу. Например, популярные товары, новинки, есть на складе, нет на складе, цена ниже 10 тыс руб и т.д. Что угодно. Опять же, все мышкой.
Идем далее. Модуль Profile (входит в комплект) позволяет дополнять профиль юзера произвольными полями, например, адресом доставки.
Ну и так далее. Остается только написать модуль корзины и оформления заказа, что несложно.
Опционально можно добавить галерею, рубрику "похожие товары", отзывы о товаре и т.п.
У нас программист средней квалификации такой магазин собирал за неделю, включая переделку макета в psd в тему оформления для Друпала.
Сводя дебет с кредитом можно сказать, что главным плюсом разработки магазина на Друпал является простота, а расплатой за сэкономленные время и деньги — жадность к ресурсам.
Stilgar
19 мая, 2010 - 19:57
Спасибо за такой подробный ответ. :-)
Фичи Друпала меня очень радуют, особенно по сравнению с хорошо знакомой мне Джумлой. Но запросы жёсткие. Уже погуглил на тему кеша. Постараюсь довести до понимания людей что они выбирают.
pomodor
19 мая, 2010 - 21:02
Во-первых, кеш, во-вторых path.inc. Поковыряв path.inc можно снизить количество запросов в разы, если не на порядок. Например, Либератум несколько раз падал из-за высокой нагрузки на БД и даже один раз сайт изгнали с хостинга за это дело. Потом прочитал толстенную книгу на эту тему, пропатчил несколько файликов и все нормализовалось. А с кешем надо быть аккуратнее, точнее не использовать встроенный, т.к. он хранит отрендеренные страницы в БД, отчего она еще сильнее разрастается. Есть сторонние модули, реализующие кеш в файлах на диске.
Stilgar
19 мая, 2010 - 22:33
Ага, то есть при условии вдумчивого чтения большой книги и прямых рук, c Drupal всё не так плохо? Можно сделать не тормозным даже большой магазин (в общем — сайт).
И также количество контента не смертельно, главное — хороший сервер. Вот Liberatum уже тысяч пять посещений в день имеет, если судить по изменению количества людей онлайн за два года. Google знает на Liberatum под 5000 страниц. Большинство из них не сгенерированы автоматически, если я правильно помню структуру сайта. При этом запросов к таблице с нодами явно хватает из-за «Попоулярного содержимого» и т. п. Если не хотите намекать, что сейчас показывает статистика, мягко уйдите от обсуждения на примере Либератума, я пойму. :-)
Насчёт кеша. Я читал, что стандартный (я понял, его не надо использовать) не работает для зарегистрированых из-за динамического изменения и кастомизации страниц. А сторонние умеют кешировать часть страницы — в случае с интернет-магазином, саму ноду с товаром — а потом собирать страницу из кеша и динамических частей?
pomodor
19 мая, 2010 - 23:13
Гугль в последнее время сильно штормит. В индексе Яндекса 41 тыс страниц.
Нет, пока не имеет. :) Просто никаких SEO-мероприятий особо не проводится. Это хобби. Так... Собраться с друзьями обсудить новости... :) Пока в день не больше 3000-3500. Счетчик врет, т.к. у многих вырезалка рекламы, а он под нее подпадает из-за размеров.
Конечно, неплохо. Оптимизация + хороший хостинг (лучше дедик, если >10K в день) и никаких проблем. :) Зато у Друпала легкий приятный код, в котором очень легко разобраться и что-то подправить. Кстати, под Друпал есть модули интеграции с Commerce и Ubercart, но мне не кажется их использование хорошей идеей. Допустим код магазина был подправлен. Потом выходят новые версии Commerce и Ubercart, в которых закрываются опасные дырки. Нужно будет каждый раз через систему контроля версий перетаскивать свои изменения в новую версию. В случае реализации через модули, можно смело обновлять Друпал, т.к. настройки CCK, Views и т.д. хранятся в БД, а дополнительный функционал, который добавил программер (например, корзина заказов), будет храниться в виде модуля в отдельной директории пользовательских модулей. В общем, все четко и продумано.
Да, умеют кешировать не страницу целиком, а блоки. Причем, сторонние умеют это делать не только в БД, но и на диске и даже в ОЗУ, в том числе и для залогинившихся.
Stilgar
20 мая, 2010 - 02:35
Спасибо за предупреждение насчёт готовых корзин-магазинов, буду учитывать. Попробую завтра донести всё это до людей, пусть принимают решение, вооружённые информацией.
Чингачгук
13 августа, 2015 - 15:47
Срочно нужна помощь, скачал drupal и обосрался, как отстирать штаны чтобы мама не узнала и магазин приносил прибыль?
Чингачгук
13 августа, 2015 - 15:49
Не забудь постирать штаны, вижу что писал — то ты обосранным.
Комментировать