Echo Coser 1.0

топ 100 блогов lionet27.06.2011 Сегодня утром запустили наш специализированный HTTP сервер Coser на полную мощность.

Я рассказывал об этом сервере в посте «Заменяем Erlang на Си», говоря, что он делает 16,500+ HTTP/1.0 (non-persistent) запросов в секунду на половине одного ядра. В смысле, утыкается в амазоновскую сеть раньше, чем в CPU.

Так вот, после этого поста сервер вырос с 1500 до 7900 LOC, начал уметь HTTP/1.1 keep-alive, gzip и научился отдавать наши LiveUpdate запросы. LiveUpdate запросы периодически делаются виджетами комментариев на странице для того, чтобы подгрузить новые записи. Пока виджетами запросы на сервер делаются периодически (раз в несколько секунд), но в дальнейшем полностью уйдёт на COMET.

На HTTP/1.1+keep-alive сервер нельзя нагрузить несколькими десятками тысяч запросов — раньше сдыхают генераторы запросов (три сервера). Поэтому я пока нагрузочное тестирование до логического конца не доводил. Тем более, что пока мы работаем на старой версии Haproxy в качестве балансера, у которой нет Keep-Alive в сторону сервера. Будем менять Haproxy на новый — заодно и посмотрим.

Некоторые спрашивали про экономический эффект этой системы. Отвечаю. Четыре ядра с работающими на них Coser'ом, загруженных на 45%, убирают ~75% нагрузки с шестидесяти машин с Erlang'ом. То есть, экономия получается в 45*$(c1.medium) = $6.1k в месяц. Это на текущем трафике, который прямо сейчас есть. А ведь он более чем в два раза возрос за последний месяц!

Вот график загрузки одной из машин с Эрлангом:

Echo Coser 1.0

Больше чем в два раза убрана нагрузка в 15:00. Это в текущем релизе, в котором на Coser переброшены LiveUpdates. А при первом своём релизе Coser убрал тоже два раза с эрланговских боксов, когда начал обслуживать Counters. Отсюда цифра ~75% (сначала половину убрали, потом половину от оставшейся половины).

Прямо сейчас четыре ядра с косером (каждое загружено на 35-45%) обслуживают в сумме 700 мегабит в секунду трафика (480 down, 220 up) с суммарной скоростью 23560 запроса в секунду.

Косер поддерживает gzip-компрессию. Примерно 3.5% динамических ответов косера идут в сторону клиента сжатыми. Это в сумме 3188 запросов в секунду, 169 мегабит в секунду на этих четырёх половинках ядер.

Про gzip в серверах надо сказать отдельное спасибо Microsoft'у. Если вы не в курсе, зачем веб-сервера часто первые два килобайта ответа заполняют пробелами — посмотрите, приколитесь: http://support.microsoft.com/kb/312496.

Про поддержку ASN.1 в Erlange надо сказать отдельное спасибо команде-разработчикам эрланга. Эрланг не умеет парсить правильно значение 0.0 (ноль) в типе REAL. Смеялсо. Баг отослан: http://erlang.org/pipermail/erlang-bugs/2011-June/002486.html

Про поддержку ASN.1 в asn1c надо сказать мне, ибо я тоже там баг нашёл в парсинге REAL. Не смеялсо. https://github.com/vlm/asn1c/commit/0959f.

Оставить комментарий

Архив записей в блогах:
Почему наши девушки самые-самые для иностранцев? Даже искушенного во всех грехах француза можно удивить - для этого надо показать ему настоящую ночную Москву: водка рекой, толпы русских красавиц, олигархи не чета европейским. Мы умеем шокировать иностранцев до такой степени, что они ...
Депутаты Законодательного Собрания приняли закон о дополнительном финансировании групп продлённого дня во Владимирской области. Эта мера призвана сделать продлёнки доступнее. Родители первоклашек всегда были вынуждены решать проблему. куда пристроить ребёнка после уроков, пока сами на ...
Сегодня дата начала Великой отечественной войны. Существуют 3 точки причины этой войны. 1.Советская: мы жили мирной трудовой жизнью, надеялись на пакт о ненападении, но фашистская Германия,вероломно нарушив пакт,напала на наш мирный народ.Весь советский народ как один человек сплотился в ...
Продолжается открытый процесс работы над Барьером. Мы представили клиенту новый логотип. Видос со встречи: http://blog.barrier.ru/items/firstil-barrier Презентация: http://www.tema.ru/jjj/barrier/barrier-pres-06.04.2011.pdf Следите за ...
Ведь был способ проще. Запись в дневнике Н.К. Крупской, 1901 год: «Besonders gern erinnern wir uns an das Hofbräuhaus, wo das gute Bier alle Klassenunterschiede verwischt» (Особенно охотно вспоминаем мы о Хофбройхаусе, где прекрасное пиво стирает все классовые различия). Губит людей ...