Pull to refresh
0
Евгений @kamaokread⁠-⁠only

User

Send message

LVS + OpenVZ

Reading time11 min
Views14K
Доброго времени суток, уважаемые читатели!
В этой статье я хочу рассказать вам о технологии балансировки нагрузки, немного об отказоустойчивости и как все это подружить с контейнерами в OpenVZ. Будут рассмотрены основы LVS, режимы работы и настройка связки LVS c контейнерами в OpenVZ. Статья содержит в себе как теоретические аспекты работы данных технологий, так и практическую часть — проброс трафика от балансировщика внутрь контейнеров. Если это вас заинтересовало — добро пожаловать!
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments7

Что именно происходит, когда пользователь набирает в адресной строке google.com? Часть 2

Reading time5 min
Views45K
Часть 1

TLS handshake


Клиентский компьютер отправляет на сервер сообщение ClientHello, где указывает TLS-версию, список алгоритмов шифрования и доступные методы сжатия. Сервер отвечает сообщением ServerHello, содержащим такие же данные, плюс публичный сертификат сервера. Сертификат содержит публичный ключ, которым клиент зашифрует оставшуюся часть приветствия. Клиент проверяет, что сертификат подписан кем-либо из списка доверенных CA (Certificate Authority). Если проверка проходит, клиент создаёт последовательность псевдослучайных байтов и шифрует её с публичным ключом сервера. Эта последовательность используется для создания симметричного ключа.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments5

Что именно происходит, когда пользователь набирает в адресной строке google.com? Часть 1

Reading time7 min
Views131K
Перевод первой части материала с github, обстоятельно объясняющего работу интернета: что именно происходит, когда пользователь набирает в адресной строке google.com?

Кнопка «ввод» возвращается в исходное положение


Для начала отсчёта выберем момент, когда кнопка «ввод» утоплена. В этот момент замыкается контур, отвечающий за эту кнопку. Небольшой ток проходит по логическим контурам клавиатуры. Они сканируют состояние всех переключателей, гасят паразитные электрические импульсы, и преобразовывают нажатие в код клавиши 13. Контроллер кодирует код для передачи в компьютер. Теперь это почти всегда делается через USB или Bluetooth, а раньше в процессе участвовали PS/2 или ADB.
Читать дальше →
Total votes 83: ↑65 and ↓18+47
Comments44

Большая атака ботов на Wordpress-сайты

Reading time1 min
Views37K
Ориентировочно со 2 августа наблюдается массовая атака на сайты построенные на движках Wordpress (по некоторым данным также атакуются сайты на Joomla, DLE). Злоумышленники с помощью большого ботнета пытаются подобрать пароли к админкам с помощью брутфорса. Некоторые серверы не выдерживают нагрузки. Хостеры принимают различные меры по фильтрации ботов. Обширное обсуждение идет на форуме Searchengines.

Wordpress предлагает свои варианты решения: codex.wordpress.org/Brute_Force_Attacks

В логах на сервере это выглядит как-то так:
93.73.186.55 funshow.ru POST /wp-login.php HTTP/1.0
178.223.136.215 funshow.ru POST /wp-login.php HTTP/1.0
178.68.139.101 funshow.ru POST /wp-login.php HTTP/1.0
99.162.150.102 funshow.ru POST /wp-login.php HTTP/1.0


Как вариант следует убедиться, что админский пароль к сайту устойчив для подбора.
Total votes 40: ↑34 and ↓6+28
Comments48

Получаем IP-адреса HTTPS-клиентов с HAProxy (frontend) на Nginx (backend) в режимах HTTP и TCP-балансировки

Reading time3 min
Views55K
Довольно часто требуется балансировать нагрузку между несколькими веб-серверами. При этом, как правило, необходимо, чтобы веб-приложения получали реальные IP-адреса клиентов, а не IP балансировщика.

В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].

Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2

Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments14

Балансировка нагрузки с LVS

Reading time6 min
Views99K
Итак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.

Читать дальше →
Total votes 77: ↑77 and ↓0+77
Comments50

Почему OpenVPN тормозит?

Reading time3 min
Views181K
Описанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.

Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!

Немного истории

На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Читать дальше →
Total votes 90: ↑89 and ↓1+88
Comments61

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views253K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности
Total votes 188: ↑181 and ↓7+174
Comments72

10 лучших инструментов для разработки и администрирования MySQL

Reading time6 min
Views713K
Многие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.

Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.

В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments67

Тюнинг nginx

Reading time8 min
Views96K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments69

Полезные хаки и сниппеты для .htaccess

Reading time7 min
Views462K


Это перевод очень интересной лично для меня статьи, которым я хочу поделиться с уважаемым хабрасообществом. Некоторые из приведенных рецептов я уже встречал на Хабре, но разрозненно и далеко не все из нижеприведенного.

О предназначении файла .htaccess знает каждый веб-разработчик. На базовом уровне он позволяет управлять доступом к каталогам сайта. Но добавляя в него различные дополнительные фрагменты кода, с ним можно сделать и много других интересных вещей.

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше
Total votes 114: ↑92 and ↓22+70
Comments82

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Reading time3 min
Views33K
Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).
Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли.

В статье — почему и как это работает.

Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments45

Чеклист по оптимизации VPS на PHP/Mysql/Nginx

Reading time3 min
Views45K
Как обеспечить более высокую производительность VPS сервера, который работает на Nginx + PHP + Mysql? В этой статье приведен чеклист основных настроек, которые позволят существенно оптимизировать работу сервера. Настройка займет не более 10 минут и не требует ничего, кроме редактирования конфигурационных файлов.
Читать дальше →
Total votes 34: ↑17 and ↓170
Comments21

Безопасный и шустрый веб-сервер на Debian 7

Reading time8 min
Views87K
Статья, находится в процессе написания, но я готов выслушать дельные советы и комментарии, а затем доплнить или поправить материал.
Прежде всего, данный материал ориентирован на новичков и тех, кто держит на одном VPS сразу несколько сайтов, при этом хочет иметь как безопасный, так и шустрый веб-сервер.
В качестве веб-сервера у нас будет выступать связка:

Apache 2.2 + PHP 5.4.4 + MySQL 5.5 + NGINX 1.2.1 + eAccelerator + memcached + vsftpd 3.0.2 + exim.

Все это чудо будет крутиться на Debian 7.

Начнем.

Читать дальше →
Total votes 58: ↑21 and ↓37-16
Comments82

Как купить Linux VPS сервер

Reading time5 min
Views138K
Рано или поздно у тех, кто связан с деятельностью в интернете возникает потребность в своём сервере, перенести развитой сайт на более производительную площадку (или просто 1C-Bitrix запустить), запустить свой интернет-сервис, игровой сервер с Counter-Strike или внеочередной RPG. Да мало ли этих целей в современном вебе.

Вот и у меня недавно возникла потребность в переходе с моего древного shared хостинга на что-то более быстрое и функциональное. Держать домашний сервер я утомился и решил, что можно остановиться на VPS (Virtual Private Server) сервере, как вполне доступном и удобном решении моих задач.

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

Приступим.
Читать дальше →
Total votes 46: ↑26 and ↓20+6
Comments38
12 ...
8

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity