Доброго времени суток!
Тут поступил заказ от одной влиятельной конторы на разработку сайта и магазина для Drupal,поскольку я сомневаюсь что система выдержит такую нагрузку требуется ваш совет,подойдет ли система для такого проекта,а также какие модули применить?
По понятным причинам я не могу расгласить название компании заказавшей сайт,поэтому буду писать yousite.ru
Вот что требуется сделать:
1. Мультиязычный сайт (все направления действия компании разделены и вынесены на отдельные поддомены,например сам сайт (главный) yousite.ru магазин по продаже ПО (на модуле ecommerce)- shop.yousite.ru Железо hard.yousite.ru при этом надо учитывать что вся система еще и мультиязычная,то есть еще надо учитывать языки,то есть для русского сайта домен будет youdomain.ru для английского youdomain.com и Т.Д
2.Оптимизация. Поскольку у этой компании большая посещаемость - в текущий момент на действующем сайте компании средняя посещаемость за 200000 уникальный посетителей в сутки,ранее я читал что дру при генерации страницы производит очень большое количество запросов к Mysq,особенно для авторизованных пользователей (даже при включенном кешировании и связки APACHE+ngux c включенным модулем eacselerator ),поэтому необходимо чтобы система держала нормально нагрузку при 10-20 тысячах одновременно авторизованных пользователей.
3.Единая авторизация на всех сайтах (тут думаю проблем не возникнет)
Что имеем:
1.Три сервера AMD 2X2,8 DDR 8 ГБ HDD SATA2 2X450ГГБ (объединеные в кластер)для Web-сервера.
2.Сервер MySQL AMD 2X2,8 DDR 8 ГБ HDD SATA2 2X450ГГБ (для БД MySQL)
На Web-серверах поднято кеширование (Apache+ngux)+eacselerator
Подойдет ли такая конфигурация серверов для проекта с такой посещаемостью?
Подойдет ли собственно друпал для такого проекта и с такой посещаемостью?
Если возникнут вопросы пишите,я отвечу на них
Комментарии
хз... я бы увеличил бюджет на порядок и сделал за 3 месяца под задачу с нуля...
200к в сутки и друпал... эмм...
вопрос. сколько из этих 200 будут зареганые?
Хотя бы 2 тысячи держал я уже не мечтаю о 10-12 тысячах одновременно зарегестрированных пользователей
Нда друпал не выдержит такого издевательства......умрет с записью в лог типа memory limit
нда тут явно не выдержат сервера надо машин штук 20 в класестер ставить да и то я сомневаюсь что потянет такую нагрузку
Если мультиязычность будет реализована разнесением разных языковых версий по разным доменам (com, ru, de...) то это не мультиязычный режим друпала, а отдельные установки с разными админ панелями, т.е. фактически отдельные сайты. Это и к лучшему, мультиязычность как фича друпала еще не доработана.
А вот www.site.ru и shop.site.ru как раз можно будет реализовать на одной установке с единой админ панелью, хотя и не просто.
Единая авторизация на всех сайтах при таком раскладе - между разными установками системы, не знаю, вот это вопрос, можно ли будет... По конфигу тоже у акселя лучше наверное спросить...
Не, тут лучше "Битрикс" уже. Тем более, если магазины и (надо думать) торговые каталоги. Все-таки, Drupal пока послабее.
Почитайте еще здесь http://www.drupal.ru/node/17309
нда кто еще чего нить посоветует по оптимизации нагрузки?
отказаться от модуля path в том виде что он есть
сделать обертки над функциями таксономий - так как они часто вызываются несколько раз с одними и теми же параметрами что вызывает одни и те же запросы.
А так же посмотреть на node_load node_view - и понять что то как они работают - неоптимально в частности при отображении списков - получается от 150 запросов на страницу при 10 элементах в списке. чем больше модулей тем больше.
в среднем модуль добавляет на каждый node_load node_view еще один запрос к БД.
Значит принцип друпаловских node и битриксовских иблоков(а там ситуация не лучше) - дурацкий принцип.
Откажитесь от нод и думайте над своей системой обработки записей.
Еще гляньте на pager_query и сделаейте explain запросов которые она делает. если поймете почему неправильно и ускорите, заменив своей - будет правильно.
ВОт.
Резюме.
От друпала останется: система меню
система модулей
локализация
интерфейс доступа к БД
То есть фактически то же что делать проект с нуля.
Я Вам об этом говорил.
ЗЫ: В данный момент занимаюсь патчами на path, node - и могу заявить что существенно ускорить это - невозможно.
ЗЗЫ: В своей CMS я отказался от принципа работы модуля path и алиасов урлов в том виде в каком они есть. Будет свое ноу хау
ЗЗЗЫ: я понимаю что меня закидают тухлыми помидорами фанаты друпала, но та концепция модуля node которая реализована в Drupal на данный момент - не может быть нормально и по человечески ускорена. Увы.
Вы писали что ваш проект закидают тухлыми помидорами: тут я с вами могу поспорить,вы правы,что система нод и др в дру создана мягко говоря не очень хорошо в плане быстродействия,так что ждемс от вас нормального движка.
У меня тоже есть свое ноу-хау в плане повышения быстродейтсвия (практически переписанное ядро друпала,что вызвало в свою очередь отказ от MySQL заменой его XML базой данных.
В этом ядре был добавлен парсер: и для сравнения: быстродействие системы возросло в разы (а то,MySQL само сабой тормоза )
Щас бьюсь над конвертером модулей (возможность изменения модулей от друпал к моей системе с переносом Бд В ХML
НУ все щас меня будут закидывать тухлыми помидорами
окей. XML
а что вы будет делать когоа объемы будут большие и у вас просто не хватит памяти и скорости на парсинг XML файла?
СУБД нужна. Другой вопрос что не стоит ее задрачивать до исступления как это в друпале сделано.
Пора открыть отдельную ветку на тему "как я изменил Друпал до неузнаваемости"
Ну тут немного другая реализация Демон парсера на с++ и переделка друпала для работы через сокеты.То есть запрос от дру передается через сокеты к парсеру,потом парсер лазет в XML файл и по меткам находит то что надо,считывает и отправляет обратно через сокеты друпалу.
Поиск примерно по такому же алгоритму по которому работают все поисковики (самые простые,я не говорю про гигантов типа гугля)