Pull to refresh

Comments 19

Убьете вы сервер таким способом.

Основывать такие вещи надо не на оригинальном друпале, а на Pressflow, а перед вебсервером, на котором работает PHP (надеюсь, у вас нe Apache + mod_php, a nginx + PHP-FPM?) надо бы еще Varnish поставить и ESI наладить. Тогда уже можно и социальную сеть строить. А без этого — ну максимум очень маленькое камерное сообщество.
насчёт Pressflow я подумаю, не знал, спасибо за подсказку.
насчёт сервера — стоит XAMPP, соответственно, вывод — стоит Апач. пока пусть будет так, со временем разгребусь.
Ну, XAMPP это для разработки, а о продакшне вы думаете уже? Нагрузки-то принципиально разные.
Основная критическая разница между PressFlow и Drupal в том, что первый не пытается создать сессию (и положить куку) для неавторизованных пользователей. Следовательно, для них можно вообще целиком всю страницу загнать в кеш reverse proxy, и при последующем обращении к сайту обращения к вебсерверу, поднимающему PHP, даже не произойдет, страница просто мгновенно отдастся из кеша.

Для авторизованных пользователей контент может быть закеширован поблочно, поскольку бОльшая часть блоков для разных пользователей все равно выглядит одинаково — следовательно, их не нужно перегенерировать, а можно опять же моментально отдать из кеша. Ну а дальше уже надо тонко настраивать Varnish в зависимости от проекта.
XAMPP для разработки, само собой :)
Для продакшна два варианта — либо IT-Patrol, либо Fozzy. Оба привлекательны как по цене, так и по характеристикам. Другие даже не рассматриваю.
Насчёт Varnish — предлагают вместо него APC и FastCGI, мол, неплохо ускоряет отдачу страничек.
Ну и кеширование блоков, само собой. Заодно, возможно, настройки кеширования в самом Drupal сделать.
Неправильно предлагают.
APC работает на уровне PHP, FastCGI вообще не из этой оперы (это не значит, что надо обходиться без APC, это значит что не в нем дело)

Varnish вам позволит для определенной части посетителей вообще не обращаться к PHP-серверу, если нужный им контент уже закеширован. Как только вы допустили посетителя до PHP — все, производительности каюк — вам придется поднимать весь друпаловский бутстрап, даже для того чтобы один-единственный блок отдать. Лучше этого избегать как только можно. Для этого Varnish и нужен. Поищите в гугле Varnish Pressflow, там будет много подробных объяснений, как это и зачем.

Ну и конечно, если уж обращение к веб-серверу неминуемо, всегда дешевле сгенерировать только нужные блоки, чем страницу целиком. К тому же в Varnish вполне можно настроить для каждого блока индивидуально правила кеширования — на уровне пользователя и группы (вся группа пользователей шарит один экземпляр закешированного блока, при этом у каждой группы этот блок свой — например, у разных групп пользователей разная навигация), и на уровне времени протухания кеша (блок со списком комментариев протухает за минуту, блок с навигацией протухает за сутки, блок с основным контеном ноды протухает за час).

А насчет хостинга — нуууууу даже не знаю… Взяли бы DigitalOcean и не парились. Решение с Varnish требует физического сервера или VPS, виртуальный хостинг тут не поможет.
Кстати, в этом топике предлагают использовать Squid вместо Varnish. Только в синтаксисе ни nginx, ни Apache пока не силён :( только-только начинаю его изучать
Может быть, у меня со сквидом и ESI (ESI — это важно!) опыта не было.

Но я вам так скажу — если вы останетесь на голом друпале+Apache, и ваш сайт на данном оборудовании потянет 20 одновременных подключений, то правильно сконфигурированный Pressflow + Varnish вам даст на том же оборудовании уже тысячи. Возможно, сквид даст миллион или миллиард ;-) — но для начала и тысячи неплохо. По настройке Pressflow+Varnish вы в комьюнити гораздо легче поддержку найдете.

Синтаксис у nginx и Apache несложный, чего там разбираться… гугл в руки и вперед, сложнее (и нужнее) понять, что конкретно надо делать, а не как именно это делать.
Кстати, по поводу Pressflow: ребята не рекомендуют сейчас ставить его, потому что
the key enhancements from Pressflow 6 were added to Drupal 7.

Но, что бы там ни было, загрузил с GitHub сборку Pressflow… лучше уж сразу, нежели потом.
If your project is built on Drupal 7 you might not need to use Pressflow at this time because the key enhancements from Pressflow 6 were added to Drupal 7.

Pressflow был актуален для шестерки, а для семерки его наработки были включены в ядро.
Сейчас на шестерке нет смысла разрабатывать что либо.
А вот это может быть, я смотрел тогда, когда на семерке еще не было актуально разрабатывать. Тогда прошу прощения за свой совет, но тем не менее, рекомендую присмотреться, в чем была разница между ними в 6 версии, и что из этого включено в 7.
Подборка модулей стандартная, считаю не хватает еще IMCE и IMCE_MK_Dir.
Transliteration нужен больше для того, чтобы файлы на кириллице перекодировались на латиницу.
согласен, подборка стандартная. но пока об уникальности говорить не приходится…
насчёт IMCE я думал, но пока не стал включать в общий список — прошлый опыт как-то меня не вдохновил. надеюсь изменить к нему своё отношение.
Дальше нам нужно дополнительно как минимум два модуля: Views и CCK. Несмотря на то, что оба модуля включены в ядро

Во-первых, филды в D7 != CCK в D6
Во-вторых, у вас включён в ядро D7? Это что-то новое.

В целом, польза статьи сомнительна.
очепятался, поправил. про CCK задумался, а написал про Views.
но: «Most of CCK has moved to core in the Drupal 7 version»

да и на полезность статья не претендует, скорее, я пишу о том, как ни в коем случае не стоит делать :)
В целом, польза статьи сомнительна.

Ну, ты ж не пишешь в хаб друпала на хабре, вот и результат. Я уже привыкла, что здесь пишут переводы статей не важно какого качества либо свой первый сексуальный опыт с друпалом :)
Я слежу за хабом, Константин. Конечно, попадаются хорошие статьи. Тем не менее тот же Евгений Ильин уже год не писал. Такие узкоспециализированные материалы по друпалу пока что лучше смотрятся на профильных сайтах, где более подготовленная аудитория и более конструктивная дискуссия.
Sign up to leave a comment.

Articles