Pull to refresh

Comments 69

UFO just landed and posted this here
Спасибо за статью
однако, Пример такого ненужного модуля – 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. Сайты просто летают. А апач выкинут ибо ненужен.
Пишите в хабрапочту

Одесский, сколько на одном вдс оперативной?
Странно что автор не упомянл о смене движка кэширования с БД на 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 и они не просятся на питон сильно :)
UFO just landed and posted this here
UFO just landed and posted this here
Ну тогда уж сразу на C++ или Pascal :)
Зачем использовать еще один модуль (poormanscron) если есть крон cpanel-и?
Этот модуль как раз для сайтов, у которых не только в панельки, но и вообще нет возможности использовать стандартный cron.
это статья я вно не про бесплатный шаред с бедными панельками.
весьма странное сочетание: «poormanscron» и «sudo make»
Пытались перевести наиболее распространённые примеры оптимизации Drupal. Не на всех дешёвых или бесплатных хостингах есть панельки управления.
UFO just landed and posted this here
Статья хорошая, тема актуальна постоянно.
Спасибо.

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

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

Articles

Change theme settings