Подходит ли Drupal для интернет-магазина?

Доброго времени суток!

Хочу поинтересоваться у всех, кто интересовался вопросом построения на Drupal интернет-магазинов: насколько хороши расширения Drupal для интернет-магазина, насколько большое потребление ресурсов и время отклика, какой вид хостинга подойдёт ресурсу?

Известно: большой каталог товаров (уже больше десяти тысяч, импортируются из 1С ежедневно), много дополнительных функций (из них форум — не самая тяжёлая) будут на том же движке, посещаемость должна быть расчитана на десятки тысяч уникальных посетителей в день (прикидываю сходу, текущая и детали рекламной кампании мне не известны).

Буду очень благодарен за помощь, как мнением, так и ссылкой.

С уважением,
Стилгар

field_vote: 
Ваша оценка: Нет Средняя: 4.4 (33 оценки)

Хеллоу! В конторе, в которой я прежде работал, интернет-магазины только на Друпале и делали. Но не на 10 тыс уников в день, конечно. У Друпала серьезные проблемы с потреблением ресурсов, а точнее повышенные требования к памяти (от 64Мб, если установлены модули Views и CCK) и, что еще хуже, Друпал генерирует огромное количество обращений к БД (что, впрочем, лечится, но нужен спец). Если не лечить, то error_log в первые же сутки надуется всякими MySQL server has gone away.

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

Но мое мнение, если магазин нужен под такую посещаемость, то и бюджет должен быть соответствующий. Т.е., ИМХО, лучше всего подойдет самопис.

Приветствую! :-)

Бюджет мне не известен, но, думаю, вариант дороже чем CMS потянет. Мне (пока только мне) нравится Django, к нему есть магазин Satchmo (версия 0.9, но уже есть куча магазинов на нём), я давно собираюсь попробовать его на одном сравнительно небольшом магазине.

А какой самый простой способ продемонстрировать ресурсоёмкость Drupal? Если загнать в него всю базу товаров, хорошо нагрузит? Вот сейчас там на кривом самописе запрос к категории на 5000 товаров обрабатывается 4-9 секунд (при этом показываются только 8 :-) ).

Кстати, для Друпала вроде два популярных расширения для интернет-магазинов, какое порекомендуете?

А какой самый простой способ продемонстрировать ресурсоёмкость Drupal?

Советую поставить модуль 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 в тему оформления для Друпала.

Сводя дебет с кредитом можно сказать, что главным плюсом разработки магазина на Друпал является простота, а расплатой за сэкономленные время и деньги — жадность к ресурсам.

Спасибо за такой подробный ответ. :-)

Фичи Друпала меня очень радуют, особенно по сравнению с хорошо знакомой мне Джумлой. Но запросы жёсткие. Уже погуглил на тему кеша. Постараюсь довести до понимания людей что они выбирают.

Во-первых, кеш, во-вторых path.inc. Поковыряв path.inc можно снизить количество запросов в разы, если не на порядок. Например, Либератум несколько раз падал из-за высокой нагрузки на БД и даже один раз сайт изгнали с хостинга за это дело. Потом прочитал толстенную книгу на эту тему, пропатчил несколько файликов и все нормализовалось. А с кешем надо быть аккуратнее, точнее не использовать встроенный, т.к. он хранит отрендеренные страницы в БД, отчего она еще сильнее разрастается. Есть сторонние модули, реализующие кеш в файлах на диске.

Ага, то есть при условии вдумчивого чтения большой книги и прямых рук, c Drupal всё не так плохо? Можно сделать не тормозным даже большой магазин (в общем — сайт).

И также количество контента не смертельно, главное — хороший сервер. Вот Liberatum уже тысяч пять посещений в день имеет, если судить по изменению количества людей онлайн за два года. Google знает на Liberatum под 5000 страниц. Большинство из них не сгенерированы автоматически, если я правильно помню структуру сайта. При этом запросов к таблице с нодами явно хватает из-за «Попоулярного содержимого» и т. п. Если не хотите намекать, что сейчас показывает статистика, мягко уйдите от обсуждения на примере Либератума, я пойму. :-)

Насчёт кеша. Я читал, что стандартный (я понял, его не надо использовать) не работает для зарегистрированых из-за динамического изменения и кастомизации страниц. А сторонние умеют кешировать часть страницы — в случае с интернет-магазином, саму ноду с товаром — а потом собирать страницу из кеша и динамических частей?

Google знает на Liberatum под 5000 страниц

Гугль в последнее время сильно штормит. В индексе Яндекса 41 тыс страниц.

Вот Liberatum уже тысяч пять посещений в день имеет

Нет, пока не имеет. :) Просто никаких SEO-мероприятий особо не проводится. Это хобби. Так... Собраться с друзьями обсудить новости... :) Пока в день не больше 3000-3500. Счетчик врет, т.к. у многих вырезалка рекламы, а он под нее подпадает из-за размеров.

c Drupal всё не так плохо?

Конечно, неплохо. Оптимизация + хороший хостинг (лучше дедик, если >10K в день) и никаких проблем. :) Зато у Друпала легкий приятный код, в котором очень легко разобраться и что-то подправить. Кстати, под Друпал есть модули интеграции с Commerce и Ubercart, но мне не кажется их использование хорошей идеей. Допустим код магазина был подправлен. Потом выходят новые версии Commerce и Ubercart, в которых закрываются опасные дырки. Нужно будет каждый раз через систему контроля версий перетаскивать свои изменения в новую версию. В случае реализации через модули, можно смело обновлять Друпал, т.к. настройки CCK, Views и т.д. хранятся в БД, а дополнительный функционал, который добавил программер (например, корзина заказов), будет храниться в виде модуля в отдельной директории пользовательских модулей. В общем, все четко и продумано.

А сторонние умеют кешировать часть страницы

Да, умеют кешировать не страницу целиком, а блоки. Причем, сторонние умеют это делать не только в БД, но и на диске и даже в ОЗУ, в том числе и для залогинившихся.

Спасибо за предупреждение насчёт готовых корзин-магазинов, буду учитывать. Попробую завтра донести всё это до людей, пусть принимают решение, вооружённые информацией.

Срочно нужна помощь, скачал drupal и обосрался, как отстирать штаны чтобы мама не узнала и магазин приносил прибыль?

Не забудь постирать штаны, вижу что писал — то ты обосранным.

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.