Как стать автором
Обновить

Комментарии 69

НЛО прилетело и опубликовало эту надпись здесь
Спасибо за статью
однако, Пример такого ненужного модуля – Statistics. Вместо статистики выдаваемой данным модулем, можно использовать статистику сервиса — Google Analytics.

а количество просмотров данной ноды ГА тоже может выдать пользователю?
Может
расскажите как?
выдать именно пользователю, а не человеку с доступом в ГА :)
p.s. Заодно вывод наиболее популярных материалов в разбивке по типу (например, полуярные записи в блогах, популярные темы форума и тд)
Простите, не сконцентрировал внимание на «выдать пользователю» :)
Но в любом случае, в GA можно дать доступ пользователю ко всем отчётам через Диспечер пользователей. Не исключаю, что через API это тоже можно сделать.
Google Analytics Tracking API:

var pageTracker = _gat._getTracker(«UA-12345-1»);
pageTracker._trackPageview("/home/landingPage");

Ну а дальше — дело техники (создать модуль и реализовать что душе угодно)

Многим хватает отображения количества посещений за сутки, с этим прекрасно справляется Google Analytics (при условии очень медленного сервера).
Ну, тогда уж счетчик livinternet ставить
хотя конечно дело вкуса
Если что — я продаю VDS оптимизированные под Drupal. nginx+php-fpm+memcache. Сайты просто летают. А апач выкинут ибо ненужен.
Пишите в хабрапочту

Одесский, сколько на одном вдс оперативной?
От 256mb до 2G :)
Странно что автор не упомянл о смене движка кэширования с БД на memcache — даже если опустить все остальные виды оптимизации со стороны сервера, замена хранилища кэша на мэмкэш сразу же дает идимы приросто производительности при второй и последующих загрузках страниц (элментов страниц).
Это и так все знают… Интересна первая часть, где рассказывается именно о настройках Друпала. Оптимизация сервера — это не только для него, но и для других CMS тоже подойдет.
В Authcache можно использовать движок memcache или как в примере — всё хранить в БД.
Про Cacherouter забыли — а ведь если на сервере хорошая дисковая подсистема, можно перевести кеш из базы на файлы. Я уж молчу о разделении кешей.
2. Если необходимо кэшировать страницы только для анонимных пользователей (без аутентифицированных), можно установить модуль Cache Router — пропустили по тексту наверное.
И у аутентифицированных есть чего кешировать. А вот как раз насчет Authcache я сильно сомневаюсь. Визуально — да, будет быстрее. А подгружать информацию для самого пользователя и прочее — сколько еще запросов к базе надо совершить?
Authcache — он как раз и кэширует инфу у каждого зарегистрированного пользователя.
Он АЯКСом подгружает измененное. Ускорение чисто визуальное, серверу только хуже. Лично я предпочитаю вторгаться в структуру БД при помощи hook_schema_alter для некоторых запросов. Для числа новых комментариев, например. В друпале есть чего ускорять, но точно не при помощи Authcache.
Ускорение практическое, а не визуальное, тестирование Вам всё покажет. Вторгаться в структуру БД и в ядро Drupal — это строить не портируемое решение, проще сразу на C++ всё написать.
>К сожалению не все модули Drupal версии 5 реализованы для Drupal версии 6 (например, модуль Sphinx), не забудем об этом при планировании разработки Интернет сайта.
Sphinx для Drupal 6 есть и нормально работает. Даже dev-версия довольно стабильна.
Пару месяцев назад стабильной версии не было, а dev не у всех работал.
Предлагаю самый верный способ оптимизации Drupal.
Нужно его портировать с PHP в питон
:)
И будет ровно то же, если портировать 1 в 1. Узкое место Drupal отнюдь не PHP.
Мои тесты показывают, что для старта PHP нужно 700 мс, а для отработки логики Друпала 100 мс.
Вы, конечно, можете утверждать, что слабое место не PHP, но цифры то говорят обратное.
У Вас другие цифры?
700 мс для старта PHP?! У меня блог отрабатывает полностью за ~30 мс. Не Drupal, конечно, но PHP.
Вот интересно, почему Вы сказали:
«Не Drupal, конечно»
Потому, что Друпал, конечно, не может выдать таких скоростей?

Понимаете, если Вы напишете на странице print 'Hello Word' — это одна скорость
Если запустите Друпал — это другая.
PHP нужно воспринимать не обособленно, а в связке с Друпалом.
Нет. Потому, что лень берёт своё…

Вот Drupal6 прилично завешанный модулями с парой тысяч нод:

Concurrency Level: 10
Time taken for tests: 9.610599 seconds
Complete requests: 200
Failed requests: 0
Write errors: 0
Total transferred: 1572400 bytes
HTML transferred: 1478200 bytes
Requests per second: 20.81 [#/sec] (mean)
Time per request: 480.530 [ms] (mean)
Time per request: 48.053 [ms] (mean, across all concurrent requests)
Transfer rate: 159.72 [Kbytes/sec] received
Это общая температура по больнице.
У Вас 400 мс, у меня 800 мс — это говорит только о том, что у Вас железо лучше или акселератор стоит.
Я же имел ввиду разные стадии работы Друпала.
Можете посмотреть www.be-in.ru/journal (там только журнал, открытая студия, форум и стрит фешен на Друпале).
Я там внизу странички подписал цифры. Первая цифра — старт Друпала, все инклюды. Вторая цифра — отработка логики страницы (пункта меню). Третья цифра — темизация. Четвертая цифра — выполнение exit процедур.
Естественно xcache стоит. Не ставить его — это довольно странное решение. Поставьте и первая цифра у вас значительно упадёт.
PHP при использовании в связке с апачем фактически стартует только один раз, а далее только обрабатывает запросы, и ему не надо перечитывать конфиг при каждом запросе к примеру. Так что время запуска php ничего не значит, хоть 700 мс, хоть 15 минут.
Я имел ввиду немного другое. 700 мс на отработку всех необходимых инклюдов.
Zend Framework'ом видимо балуетесь? :)) сами виноваты тогда. И не юзаете кешер опкодов? Виноваты 2 раза.
на php есть wikipedia и facebook и они не просятся на питон сильно :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ну тогда уж сразу на C++ или Pascal :)
Зачем использовать еще один модуль (poormanscron) если есть крон cpanel-и?
Этот модуль как раз для сайтов, у которых не только в панельки, но и вообще нет возможности использовать стандартный cron.
Ясно. Спасибо.
это статья я вно не про бесплатный шаред с бедными панельками.
весьма странное сочетание: «poormanscron» и «sudo make»
Пытались перевести наиболее распространённые примеры оптимизации Drupal. Не на всех дешёвых или бесплатных хостингах есть панельки управления.
НЛО прилетело и опубликовало эту надпись здесь
Пожалуйста.
Статья хорошая, тема актуальна постоянно.
Спасибо.

Особо приятно что автор — представительница прекрасного пола, Елена, большое Вам спасибо!
Спасибо большое за статью!
Давно искал такое описание
Странно, мне кажется, после прочтения этого материала желание работать с Друпалом точно пропадет. Такие извраты.
НЛО прилетело и опубликовало эту надпись здесь
Тогда уж лучше пройти через какой-нибудь MVC фреймворк… причем лучше не на php.
НЛО прилетело и опубликовало эту надпись здесь
Миллионы не заглядывали в код видимо. Ориентироваться на код, нгаписанный в стиле перловых самописных скриптов 90-х… не уверен, что стоит. Проблема Друпала — наследованный старый, кое-как написанный код. Еще и на функциях с глобальными переменными… фи, неужели не проще спрятать данные и методы в объекты, чем так извращаться?
Давайте не будем сравнивать друпал со сферической cms в вакууме.
У Вас есть конкретные предентенты на сравнение с друпал?
а меня сподвигло на установку мемкеша, а я так боялся…
А Вы поработайте с чужой самописной или покупной CMS — у половины из них нет таких возможностей оптимизации, поэтому они очень кушают процессорное время.
Но это же ужасно, как можно продавать некачественные CMS за деньги? (и еще я не могу представить как написать более медленную CMS чем Друпал, это надо очень постараться)
Не буду разводить холивар, но чуть ли не каждая 2 платная cms…
Drupal'у ничего не поможет, на большей нагрузке с его дибильными мелкими запросами к базе по каждой мелочи при любом чихе…
Если на друпале реализовывать красивый и «многосервисный» проект — любой сервак загнется. Проверено на своем опыте. После года на друпале весь проект придется переносить на свою цмску ибо друпал из-за своей универсальности и нагроможденности модулей и немного странной логики в базе не дает расти проекту. При увеличении ЗАРЕГИСТРИРОВАННЫХ пользователей свыше 1000 в день дает ощутимую нагрузку на довольно мощный сервер (притом база и фротенд разнесены на разные сервера).
С другой стороны mysqlproxy позволит масштабировать mysql сервер, так что путём небольших затрат мы получим вполне рабочую систему.

вы наверное удивитесь, но к примеру ubuntu.com работает на друпале.
Я очень рад за убунту.ком, и за сам конкретно переписанный друпал.ком (который при нагрузке сам иногда отключает поиск и другие второстепенные модули) — проектов на друпале много, не спорю.
Я не зря сказал про Зарегистрированных юзеров. Друпал тяжело работает с большим колличеством залогиненных юзеров — стандартный кеш для них не работает и множество других кеширующих модулей, помогает только мемкеш.
Итого хоть друпал разрабатывался для социалок, для них он и не применим из-за реализации обращений к базе данных.
НЛО прилетело и опубликовало эту надпись здесь
> При увеличении ЗАРЕГИСТРИРОВАННЫХ пользователей свыше 1000 в день
Батенька вы либо не умеете капитализировать Ваш сайт, либо жмот :)
НЛО прилетело и опубликовало эту надпись здесь
При использовании модуля для кэширования авторизированных пользователей, обязательно править шаблоны и использовать указанные вами переменные? или эффект будет и без этого?
Тестируйте и узнаете, у меня вообще переменные для исправления отсутствуют в шаблоне.
Ах да. Про blockcache_alter ни слова нет. А ведь модуль великолепен :) Меня даже патчинг ядра не остановил.
Патчинг ядра — великое зло если это только не Ваш личный сайт. Клиентам ненужен не поддерживаемый сайт который очень трудно обновить.
Естественно зло, кто ж спорит. Только бабло зло побеждает :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории