Ромка!eu

  • Отдых
  • Работа

Это старая (Drupal 6) версия сайта romka.eu. Она больше не обновляется, комментирование материалов отключено. Обновленная версия сайта доступна по адресу http://romka.eu.

Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish

Ромка — Чт, 06/14/2012 - 23:15

Публикую текст своего доклада для Друпалконфа, который прошел 4 июня 2012 года в Москве. Хочу акцентировать внимание на том, что этот текст не адаптирован под блогпост и публикуется в том виде, в котором я рассказывал его на конференции.

Введение

В текущем Drupal 6 проекте, над которым я работаю последние 2 года, в пике мы отдаем до 2 млн просмотров страниц в день и забиваем полностью наш 200-мегабитный интернет-канал. Судя по отчетам нашей системы мониторинга с текущей архитектурой и железом (6 серверов: 2 фронтэнда с nginx, 2 бэкенда с Varnish + Apache + Drupal и 2 MySQL-сервера с master-slave репликацией) мы можем выдерживать втрое большую нагрузку, если решим вопрос с каналом.

За время работы этого проекта мы на нем успели применить и испытать если не все, то большинство технологий по оптимизации производительности, которые применимы к Друпалу, в том числе использовали собственные велосипеды, но в итоге пришли к использованию связки Прессфлоу + Варниш и эта связка показала себя самой производительной и простой в сопровождении (в сравнении с собственными патчами ядра и модулей).

Я хочу рассказать о том, какие для Друпала существуют средства оптимизации скорости отдачи контента и сравнить их плюсы и минусы. Я не буду вдаваться в детали и приводить примеры конфигов, это все можно найти в интернете (я у себя в блоге выложу в ближайшее время пример конфига, используемого в наших проектах). Я не буду рассказаывать об оптимизации конфигов MySQL, установке систем кеширования опкода, так как это большая тема достойная отдельного доклада, она хорошо раскрыта, в интернете можно найти много статей по оптимизации окружения, в котором работает сайт. Кроме того, эта тема имеет мало отношения к Друпалу и больше должна быть интересна системным администраторам, чем программистам (хотя программистам тоже неплохо бы в ней разбираться).

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

  • Boost
  • cache
  • Drupal
  • Varnish
  • доклад
  • кеш
  • Работа
  • Ромка's blog
  • 1 комментарий
  • Читать далее

Любопытное поведение модуля syslog в шестом Друпале (баг?)

Ромка — Втр, 03/13/2012 - 13:21

Описание проблемы

На сайте используется Drupal 6 и модуль theme key, который позволяет задавать разный дизайн для разных страниц. Столкнулся с неприятной и трудноуловимой проблемой: есть 2 полностью идентично настроенных (как казалось изначально) сервера, на одном из которых theme key отрабатывает корректно, а на втором нет — все время отображает контент в дефолтной теме оформления. Похожая проблема также встречалась в другом проекте, не использующем theme key, на странице управления блоками.

После некоторых экспериментов удалось выяснить, что сервера отличаются настройкой PHP error_reporting. На глючащем сервере она была задана так:

error_reporting = E_ALL & ~E_DEPRECATED

на работающем так:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE

Обновление этой настройки на некорректно работающем сервере решало проблему. Может показаться что это магия какая-то, мне так изначально и показалось: ну какое отношение имеют сообщения, выводимые в лог, к работе модулей и выбору темы оформления Друпала? В итоге, оказалось, имеют самое непосредственное отношение. Ниже описание причины проблемы и её решение.

  • Drupal 6
  • Работа
  • Ромка's blog
  • Читать далее

Arduino + bluetooth, небольшая проблема

Ромка — Сб, 03/10/2012 - 14:51

Вдохновленный вот этой серией статей об Ардуино, ставлю разные эксперименты над Ардуино, сегодня таки сумел подружить её с Bluetooth-модулем (скетч взял прямо из документации), но столкнулся с проблемой. При попытке загрузить скетч в Ардуино, когда схема уже собрана вот так:
arduino-bt.jpg
получал ошибку:

avrdude: stk500_getsync(): not in sync: resp=0x00

  • arduino
  • Ромка's blog
  • 5 комментариев
  • Читать далее

Гугл 1 марта прекратил поддержку сервиса Google Friend Connect

Ромка — Пнд, 03/05/2012 - 17:43

Не ожидал такого от Гугла. Теперь встала задача придумать способ восстановить свои аккаунты толпе юзеров, которые использовали Google Friend Connect для авторизации на сайте и не знают свои пароли, и не могут вспомнить свои логины.

  • Friend Connect
  • Google
  • Ромка's blog
  • 4 комментария

Проба пера в HTML5 + canvas. Эффект ластика

Ромка — Ср, 07/06/2011 - 15:42

Задача

Создать эффект "ластика" с помощью html5 тэга canvas. Суть эффекта простая: выводится картинка, поверх картинки выводится полупрозрачный фон, если пользователь нажимает на левую кнопку мыши и начинает двигать курсор по холсту, то полупрозрачный фон должен стираться. Конечный результат можно увидеть тут.

Задача будет разбита на 3 части:
1. сначала мы зальем картинку равномерным фоном и научимся стирать этот фон ластиком квадратной формы.

  • canvas
  • html5
  • ластик
  • Ромка's blog
  • Читать далее

Доклад на DrupalConfMoscow 2011

Ромка — Пнд, 04/25/2011 - 01:18

23 апреля 2011 года принял участие в конференции DrupalConfMoscow 2011. Вместе с Тарасом Савчуком рассказал о том, как мы настраивали Друпал и системное окружение, чтобы сайт forbes.ru мог выдержать нагрузку 250 тысяч уников в сутки. Ниже видео и текстовая версия моей части доклада.

 
  • доклад
  • Друпал
  • конференция
  • Работа
  • Ромка's blog
  • 12 комментариев
  • Читать далее

Путешествие по Перу и Боливии. Часть 2

Ромка — Чт, 03/24/2011 - 02:13

Отчет о путешествии по Перу и Боливии. Часть 2.

Это вторая часть отчета о путешествии по Перу и Боливии. Первая часть доступна здесь.

В Ла Пас мы прилетели около 10 утра (2 часа полета) и без промедления поехали на автовокзал где купили билеты до Оруру, откуда дальше поездом должны быль добраться до Уюни. Боливийские автобусы не отличаются комфортом. Духота, спертый воздух, орущие дети, дребезжащая музыка, доносящаяся из дешевых наушников десятка пассажиров. В общем, эта четырехчасовая поездка не доставила удовольствия.

Добравшись до Оруру мы поехали на железнодорожный вокзал где у нас были забронированы (но не выкуплены) билеты на вечерний поезд до Уюни. Как-то так получилось, что о нашей брони кассиру было ничего не известно, билетов в самый комфортный вагон уже не было, пришлось ехать в вагоне среднего класса (40 боливианов). Хотя обратно мы ехали в самом дорогом вагоне (90 боливианов) разницы между ним и вагоном среднего класса я не увидел, за исключением того, что в дорогом вагоне бесплатно раздали по бутерброду.

До Уюни мы добрались в 2 часа ночи, заселились в первый попавшийся отель, а утром купили билеты на обратный поезд. Здесь у нас была зарезервирована трехдневная экскурсия по окрестностям Уюни и, на этот раз, эта бронь внезапно не исчезла.

Солончак Уюни и немного фотошопа

  • Боливия
  • зима-весна 2011
  • Ла Пас
  • Лима
  • Мачу Пикчу
  • Отдых
  • Перу
  • Уюни
  • Ромка's blog
  • 5 комментариев
  • Читать далее

Путешествие по Перу и Боливии. Часть 1

Ромка — Чт, 03/24/2011 - 01:52

Отчет о путешествии по Перу и Боливии

С 23 февраля по 10 марта укатил в отпуск, на этот раз, впервые жизни, решил поехать в Южную Америку и посетить Боливию и Перу. Когда-то давно, лет 5 назад, я прочитал в «Максиме» о солончаке Уюни (Salar de Uyuni) и загорелся желанием увидеть его. Солончак Уюни — это самое большое в мире высохшее соляное озеро, в июне-августе оно выглядит как гигантская белая пустыня с идеально ровной поверхностью. В декабре-марте эта пустыня покрывается слоем выоды, глубиной в несколько сантиметров, от чего вся её превращается в гигантское зеркало, в котором отражается чистое небо и облака. Люди, стоящие на этом зеркале, выглядят так, будто ходят по поверхности воды.

  • Боливия
  • зима-весна 2011
  • Ла Пас
  • Лима
  • Мачу Пикчу
  • Отдых
  • Перу
  • Уюни
  • Ромка's blog
  • 1 комментарий
  • Читать далее

Несколько панорам из путешествия по Перу и Боливии

Ромка — Вс, 03/13/2011 - 17:25

Во время путешествия по Боливии и Перу сделал несколько панорам.

Куско

Панорама Куско

Панорама Куско

Солончак Уюни (Salar de Uyuni)

Панорама солончака Уюни

Панорама солончака Уюни

Пустыни в окрестностях Уюни

Пустыня в окрестностях солончака Уюни

Пустыня в окрестностях солончака Уюни

Закат в горах

Закат в горах

  • Боливия
  • Отдых
  • панорама
  • Перу
  • Ромка's blog
  • 6 комментариев
  • Читать далее

Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте

Ромка — Пнд, 05/17/2010 - 00:26

Разработчики ВКонтакте.ру не так давно открыли доступ к OpenAPI — интерфейсу, позволяющему обычным пользователям авторизоваться на сторонних сайтах с использованием своих учетных записей ВКонтакте.ру.

Я выкладываю первую версию модуля vk_openapi, который интегрирует Drupal 6 с Open API. Демонстрацию работы модуля вы можете увидеть на этом сайте. Кнопка для авторизации с помощью учетной записи вКонтакте находится в форме авторизации (в правой колонке внизу) и на странице с формой входа.

Особенности модуля

  • из учетной записи ВКонтакте выбираются все доступные поля и сохраняются в объекте $user;
  • каждому созданному модулем пользователю автоматически может быть назначена роль;
  • в качестве аватара нового пользователя может быть использован автар из профиля пользователя ВКонтакте;
  • созданный модулем пользователь может быть связан с существующим на сайте аккаунтом.

В ближайших планах: обновление статуса пользователя на основе данных из профиля ВКонтакте.

Скачать модуль можно на drupal.org. В продолжении более подробное описание модуля и инструкция по его установке.

  • Drupal
  • OpenAPI
  • вКонтакте
  • Ромка's blog
  • 171 комментарий
  • Читать далее
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • следующая ›
  • последняя »
RSS-материал

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Популярные заметки

  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 4. Темизация Views
  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Тестирование модуля "Inner poll"
  • Несколько панорам из путешествия по Перу и Боливии
  • Arduino + bluetooth, небольшая проблема
  • Пример разработки плагина для модуля CCK

Подписка


Последние комментарии

  • drupal-admin → Кеширование на Drupal-сайте. Сравнение эффективности встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Var → Отличная статья
  • Меховщиков Руслана → Проверка имени пользователя на наличие букв из разных алфавитов → Re: Читал про это уже на
  • Вероника → Куба. Лето 2008. Часть 3 → По поводу "приветливых жителей" Тринидада
  • Sfero → Статья в PC Magazine/RE. Drupal: разработка модуля → Немного о контенте
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • Ромка → Статья в PC Magazine/RE. Drupal: разработка модуля → Да, будет сборка, та которую
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • anatinge → Поездка в Киев → спасибо :)
  • Ромка → Поездка в Киев → Да, в общем-то, ничего
  • GogA → Поездка в Киев → Заинтриговал, что там за

Новые заметки

  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Любопытное поведение модуля syslog в шестом Друпале (баг?)
  • Arduino + bluetooth, небольшая проблема
  • Гугл 1 марта прекратил поддержку сервиса Google Friend Connect
  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2

Тэги

Drupal jquery Куба Лето 2007 Лето 2008 Отдых Работа Штуки-дрюки лето модуль статья цитата
еще тэги

Навигация

  • Exchange rate
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахстанских тенге — 21,3687 (-0.43)
  • 10 Украинских гривен — 27,2852 (-13.04)
  • 1 Китайский юань — 10,2706 (-40.98)
  • 100 Японских иен — 53,5332 (+12.67)
  • 1 Доллар США — 65,6210 (+33)
  • 1 Евро — 69,8076 (+29.42)
  • 10000 Белорусских рублей — 36,3310 (-2.51)
  • 1 Турецкая лира — 22,9540 (+4.99)

10 случайных заметок

  • Включил раздел "Отдых".
  • Футер, прибитый к низу страницы
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
  • Arduino + bluetooth, небольшая проблема
  • Разработал модуль "Адаптивное меню" для Drupal 6
  • Любопытное поведение модуля syslog в шестом Друпале (баг?)
  • Backup-manager — настройка резервного копирования Linux-сервера на Amazon S3 за 5 минут
  • Куба. Лето 2008. Часть 1
  • Swftools и модуль Pdf2SWfField для Друпала
  • Google Developer Day 2009

Случайные фото

Осло, Карл Юхан Гате
Радуга над футбольным полем в Лужниках
Оригинальная дорожная разметка в Гаване
Красная поляна
В аэропорту
В Сингапурском зоопарке. Будда?
Вид на Бангкок с верхушки отеля Байок
Недалеко от Красной поляны
Эль перро
Я с местным рональдом
Экзотическое меню в аэропорту :))
Еще одно фото резиденции короля
Типичная местная женщина
Друпликон и моя тень
Это я по дороге из Буканеро в Баракоа
Вид на Осло-фьерд со стены замка
  • Отдых
  • Работа

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.