В данном обзоре я расскажу о реализации кластера состоящего из двух нод с резервированием популярной связки для веб сервера Apache + MySQL + FreeBSD (или любой Linux).
Tequila @t_q_l
Пользователь
Мои принципы бизнеса
6 min
5.5KВот уже более 10 лет как я создал и руковожу компанией, которая занимается системной интеграцией. За это время я сформировал для себя определенные правила, которые помогают моему бизнесу расти и развиваться. Возможно, они буду полезны для тех, кто уже открыл или только собирается открыть свой бизнес.
+82
Вариант удаленного доступа к корпоративной сети предприятия посредством VPN с разграничением доступа к внутренним ресурсам и аутентификацией в AD
3 min
59KЧасто (если не всегда) перед ИТ отделом рано или поздно встает задача организации удаленного доступа в сеть предприятия, например командированным сотрудниками или попросту заболевшим. Решать эту задачу можно по-разному. Я хочу рассказать об одном из решений реально используемом в нашем холдинге. Отличается это решение от многих других тремя основными вещами:
Если вам это интересно, добро пожаловать под кат
- На стороне удаленного пользователя требуется минимум настройки — используются все стандартные приложения и возможности ОС Windows;
- Удаленный пользователь работает на сервере терминалов, что обеспечивает его необходимой средой для выполнения своих должностных обязанностей
- Очень гибкое управление доступом к внутренним ресурсам компании (обеспечивается TMG\ISA файрволом согласно доменной аутентификации)
Если вам это интересно, добро пожаловать под кат
+7
Кэширование nginx для анонимных пользователей на примере Drupal
3 min
9.4KКак известно, Drupal является примером крайне тяжелой CMS/CMF, и нагруженные сайты строить на нем не так просто. Поскольку моя компания использует в своей разработке преимущественно Drupal — нам иногда приходится сталкиваться с оптимизацией производительности, и я бы хотел рассказать о том, как мы справляемся с нагрузкой.
В этой статье я рассмотрю один из самых эффективных методов повышения производительности — кэширование веб-сервером nginx контента для анонимных пользователей. Благодаря этому приему запросы от анонимных пользователей не вызывают обращения к бекэнду(не важно какому — apache или fastcgi). Таким образом, такое кэширование эффективнее любых средств CMS.
В этой статье я рассмотрю один из самых эффективных методов повышения производительности — кэширование веб-сервером nginx контента для анонимных пользователей. Благодаря этому приему запросы от анонимных пользователей не вызывают обращения к бекэнду(не важно какому — apache или fastcgi). Таким образом, такое кэширование эффективнее любых средств CMS.
+35
Блокировка нежелательного DNS трафика
5 min
40K
У Вас может быть идеально настроено конечное сетевое оборудование, полный порядок в кластерах, могут быть пустыми магистрали и не нагруженное оборудование ядра сети, но если у Вас плохо работает DNS, то Ваши клиенты будут недовольны.
Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.
+31
Видео с HighLoad++: Петр Зайцев — Диагностика и исправление проблем производительности MySQL
1 min
9.4KДобрый день,
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
+21
Ускоряем раздачу фоток
8 min
14K
С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.
Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.
Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)
На самом деле проблема в несовершенстве современного винчестера, который до сих пор не расстался с механическими подсистемами вращения шпинделя и позиционирования головок.
В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
+124
Самый простой способ создать трафик на сетевом интерфейсе
1 min
34KЕсть программа iperf, которая позволяет проверять скорость интерфейсов (у меня на тестах из 10G интерфейса она выжимала 9.37 Гбит/с).
Пакет (в дебиане и убунте) так и называется — iperf.
Применение очень простое: на одном сервере запускаете iperf -s X.X.X.X (свой собственный адрес сервера, на котором слушать). Можно запустить просто
На клиентской части пишем
Пример: сервер имеет адрес 192.0.2.1, клиент 192.0.2.200. На сервере запускаем
Для того, чтобы сделать много байтов (привет хостерам с соотношениями) нужно просто указать опцию -t (время в секундах). Многие гигабайты трафика в нужном направлении вам обеспечены. С учётом текущих тарифов для дома — можно даже с домашней машины, за 3-4 часика можно выправить любое соотношение с минимальной нагрузкой как на сервер, так и на клиента.
Пакет (в дебиане и убунте) так и называется — iperf.
Применение очень простое: на одном сервере запускаете iperf -s X.X.X.X (свой собственный адрес сервера, на котором слушать). Можно запустить просто
iperf -s
, тогда слушать будет на всех интерфейсах.На клиентской части пишем
iperf -c X.X.X.X
(адрес сервера из предыдущего этапа). Клиент подключается, работает 10 с и показывает скорость работы канала.Пример: сервер имеет адрес 192.0.2.1, клиент 192.0.2.200. На сервере запускаем
iperf -s 192.0.2.1
на клиенте iperf -c 192.0.2.1
.Для того, чтобы сделать много байтов (привет хостерам с соотношениями) нужно просто указать опцию -t (время в секундах). Многие гигабайты трафика в нужном направлении вам обеспечены. С учётом текущих тарифов для дома — можно даже с домашней машины, за 3-4 часика можно выправить любое соотношение с минимальной нагрузкой как на сервер, так и на клиента.
+43
Настройка Active/Passive PostgreSQL Cluster с использованием Pacemaker, Corosync, и DRBD (CentOS 5,5)
16 min
29KTranslation
В этой статье объясняется, как настроить Active/Passive кластера PostgreSQL, с использованием Pacemaker, Corosync и DRBD.
Подготовлено Рафаэль Марангони, из команды BRLink Servidor Linux
Подготовлено Рафаэль Марангони, из команды BRLink Servidor Linux
+22
Настройка и оптимизация MySQL сервера
9 min
317KВ этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
+162
Персональные данные (Краткий FAQ)
8 min
232KЧто такое персональные данные?
Персональные данные - любая информация, относящаяся к определенному или определяемому на основании такой информации физическому лицу, в том числе:
— его фамилия, имя, отчество,
— год, месяц, дата и место рождения,
— адрес, семейное, социальное, имущественное положение, образование, профессия, доходы,
- другая информация (см. ФЗ-152, ст.3).
Например: паспортные данные, финансовые ведомости, медицинские карты, год рождения (для женщин), биометрия, другая идентификационная информация личного характера.
В общедоступные источники персональных данных (адресные книги, списки и другое информационное обеспечение) с письменного согласияфизического лица могут включаться его фамилия, имя, отчество, год и место рождения, адрес, абонентский номер и иные персональные данные (см. ФЗ-152, ст.8).
Персональные данные относятся к информации ограниченного доступа и должны быть защищены в соответствии с законодательством РФ. При формировании требований по безопасности систем персональные данные разделяют на 4 категории.
+68
Установка Asterisk в контейнере OpenVZ Ubuntu 10.04.1 LTS на хосте Debian GNU/Linux 5.0
10 min
8.5K
Исходные данные:
- Asterisk 1.6.2 — из родного репозитория Ubuntu
- Ubuntu 10.04.1 LTS — контейнер в минимальной установке (x64bit)
- Хостовая система для OpenVZ — Debian GNU/Linux 5.0 (Lenny) 2.6.26-2-openvz-amd64 — ядро из родного репозитория.
Устанавливаем и настраиваем OpenVZ хост. Особенности настройки OpenVZ-хоста тут рассматриваться не будут.
Считаем, что у нас он корректно настроен, включая NAT для гостевых машин и проброс необходимых для сервера портов.
+4
А ты сделал бэкап?
4 min
16KДоброго времени суток %habrauser%!
Как известно backup — must be! Но просто сделать архив данных — это еще не значит грамотный бэкап. Когда у наших клиентов начали появляться сервера на базе Calculate directory server встал вопрос о выборе средств для создания резервных копий данных. Поиск готовых решений ничего толкового не дал, поэтому пришлось писать самим.
Как известно backup — must be! Но просто сделать архив данных — это еще не значит грамотный бэкап. Когда у наших клиентов начали появляться сервера на базе Calculate directory server встал вопрос о выборе средств для создания резервных копий данных. Поиск готовых решений ничего толкового не дал, поэтому пришлось писать самим.
+22
Создание приложений на GTK+ с использованием среды Glade
10 min
47KДанный пост посвящен созданию приложений с использованием кроссплатформенной библиотеки GTK+. Ориентирован он в основном на новичков? поэтому какие-то вещи возможно для многих покажутся очень простыми и банальными, но я постарался максимально подробнее всё описать, чтобы было понятно для всех.
Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.
Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.
Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.
Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.
Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.
Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.
Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
+50
Рабочий день за 3 часа. Анализ и сортировка информации
4 min
6.2KИнструменты системы управления временем, описанные в прошлом посте, дают возможность свести все дела, происходящие в вашей жизни и требующие участия, в одно место. Это, как, наверное, понятно — списки дел, разбитые на категории DAY, LATER, CONTROL. Работой со списками предшествует работа с накопителями.
С помощью накопителей (см. прошлый пост) мы сводим все информационные потоки, проходящие к нам и от нас в одно место. Собираем, что бы проанализировать, ненужное выбросить, нужное оставить и решить, что с оставленным делать. В сети есть множество схем сортировки информации. Наиболее популярна эта схема.

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

Несмотря на очевидную простоту изображенного процесса анализа информации из накопителя, я его упростил еще больше.
+40
nginx+FastCGI(over spawn-fcgi)+lua
4 min
9.7KИ так у нас есть задача. Заставить работать вместе легкий веб-сервер nginx и lua(в данном случае lua через wsapi(lua web server API)-fastcgi).
Что нам потребуется? Ну для начала голова на плечах. Ну то есть не то, что бы она особо нужна, но пригодится.
А далее… А далее сервер в нашем случае с GNU/Linux на борту(но думаю что сойдет и, скажем FreeBSD), мы будем рассматривать на примере Ubuntu GNU/Linux, так сложилось исторически.
Что нам потребуется? Ну для начала голова на плечах. Ну то есть не то, что бы она особо нужна, но пригодится.
А далее… А далее сервер в нашем случае с GNU/Linux на борту(но думаю что сойдет и, скажем FreeBSD), мы будем рассматривать на примере Ubuntu GNU/Linux, так сложилось исторически.
+2
Бизнес планирование. Статья 2. Бизнес-план — это попытка убедить себя, что вам не стоит начинать этот бизнес
5 min
17KИтак, уважаемые читатели, учитывая успех предыдущей статьи по бизнес-планированию, думаю, продолжению быть. В прошлый раз мы остановились на вступительной теме по бизнес планированию, где обсуждали особенности идей, как они возникают и сколько они стоят. Также я предложил вам задаться вопросами (если вы только планируете начать свое дело), и подумать.
Хочу выделить следующие важные моменты, касающиеся бизнес плана в целом:
• Бизнес-план – это не только попытка проанализировать ваш бизнес и его шансы, но и ваше руководство к действию в ближайшем будущем после запуска бизнеса.
• Лучший способ писать бизнес-план, особенно на начальных стадиях – с листком бумаги и карандашом. И подальше от раздражителей. И только потом упорядочивание и перенос на компьютер.
Сегодня мы продолжим уже более точечно рассматривать процесс бизнес планирования, но прежде я бы хотел ознакомить вас со списком тем, котрые обычно включаются в бизнес-план, и каждой теме я планирую посвятить по одной статье. Довольно амбициозная задача, так как обычно бизнес-план включает в себя около 15-20 разделов, и каждый важен по-своему. То есть, в идеале у нас с вами должно получиться около 20 статей.
Итак, список:
Хочу выделить следующие важные моменты, касающиеся бизнес плана в целом:
• Бизнес-план – это не только попытка проанализировать ваш бизнес и его шансы, но и ваше руководство к действию в ближайшем будущем после запуска бизнеса.
• Лучший способ писать бизнес-план, особенно на начальных стадиях – с листком бумаги и карандашом. И подальше от раздражителей. И только потом упорядочивание и перенос на компьютер.
Взгляд сверху
Сегодня мы продолжим уже более точечно рассматривать процесс бизнес планирования, но прежде я бы хотел ознакомить вас со списком тем, котрые обычно включаются в бизнес-план, и каждой теме я планирую посвятить по одной статье. Довольно амбициозная задача, так как обычно бизнес-план включает в себя около 15-20 разделов, и каждый важен по-своему. То есть, в идеале у нас с вами должно получиться около 20 статей.
Итак, список:
+52
Бесплатная отправка SMS уведомлений в Zabbix
6 min
85KВсе осознают необходимость непрерывного контроля большой распределенной сети и для этого есть множество систем мониторинга. Сразу замечу, что я работаю у крупного провайдера и на мои, так сказать, плечи ложится контроль состояния большого количества узлов доступа, которые зачастую находятся на очень большом удалении от меня.
Сейчас я активно использую ветку Zabbix 2.0: Удалось прикрутить постоянный контроль параметров абонентских линий ADSL на всех узлах доступа, порядка 200 000 параметров. Описания как это было сделано хватит на отдельную статью. Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.
Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.
Сейчас я активно использую ветку Zabbix 2.0: Удалось прикрутить постоянный контроль параметров абонентских линий ADSL на всех узлах доступа, порядка 200 000 параметров. Описания как это было сделано хватит на отдельную статью. Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.
Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.
+8
Zabbix, подключаем любую железку имеющую MIB
4 min
133KНачалось строительство FTTB и появилось новое оборудование производителя Edge-core. Естественно захотелось прикрутить новое железо к Zabbix. Ранее я поступал просто — натравливал snmpwalk на железку и анализировал полученные данные. Этот путь достаточно долгий, так как полученный результат бывает под несколько мегабайт текста и достаточно тяжело найти нужные значения. Но есть другой способ — использовать MIB устройства. Но ведь Zabbix не умеет работать напрямую с MIB файлами. Что же делать?
На форуме забикса нашел замечательную утилиту SNMP Builder for Zabbix. С её помощью можно сделать базовый шаблон устройства имея его MIB и потом ручками его допилить до нормального состояния.
Я вам расскажу как это сделать на примере оборудования Edge-core.
На форуме забикса нашел замечательную утилиту SNMP Builder for Zabbix. С её помощью можно сделать базовый шаблон устройства имея его MIB и потом ручками его допилить до нормального состояния.
Я вам расскажу как это сделать на примере оборудования Edge-core.
+6
Команда nice, или вежливые процессы
2 min
90KКогда на компьютере достаточно процессорного времени на исполнение всех процессов, нет необходимости в выставлении приоритетов. Но когда необходимо параллельно запустить несколько процессов, каждый из которых использует всё доступное процессорное время, может очень пригодиться утилита nice.
Команда nice запускает программу с изменённым приоритетом для планироващика задач. Слово «nice» в английском языке обозначает, в частности, «вежливый». По этимологии этой команды процесс с большим значением nice — более вежлив к другим процессам, позволяя им использовать больше процессорного времени, поскольку он сам имеет меньший приоритет (и, следовательно, большее «значение вежливости» — niceness value).
Наибольший приоритет (и наименьшее значение nice) — −20. 19, либо 20 — наименьший приоритет, но это, с другой стороны, самые вежливые процессы.
Команда nice запускает программу с изменённым приоритетом для планироващика задач. Слово «nice» в английском языке обозначает, в частности, «вежливый». По этимологии этой команды процесс с большим значением nice — более вежлив к другим процессам, позволяя им использовать больше процессорного времени, поскольку он сам имеет меньший приоритет (и, следовательно, большее «значение вежливости» — niceness value).
Наибольший приоритет (и наименьшее значение nice) — −20. 19, либо 20 — наименьший приоритет, но это, с другой стороны, самые вежливые процессы.
+28
Information
- Rating
- Does not participate
- Location
- Антарктика
- Registered
- Activity