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.

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

Архив записей в блогах:
60-летия Корейской войны, которую все ...
В русской православной церкви назвали "Симпсонов" примером счастливой, многодетной семьи. Достаточно странно, ведь "традиционных ценностей" придерживается исключительно Гомер — каждый день бухает, бьет сына, преклоняется перед властью, абсолютно тупой. Другие члены семьи исповедуют ...
Всем доброго утра и удачного дня! Нескучной пятницы! В тестах по семейной психологии иногда встречается любопытный вопрос - "Если бы вся ваша жизнь была записана на кинопленку, согласились бы вы показать ее супругу?". Понятно - личное пространство должно быть у каждого. Но все в меру ...
Почему мы любим фашизм? Как говорится в одном старом еврейском анекдоте: «Ну, во-первых – это красиво». Кто не любит гламурный фашизм, тот не понимает сути гламура. Во-вторых, фашизм – это Европа, со всей ее историей, культурой и агрессивной прелестью. Немецкий ...
Космодром “Восточный”, который должен был поднять ура-патриотический дух россиян, продолжает наоборот, деморализовать и вводить адептов величия в приступ острой депрессии. После скандала с воровством 8 млрд рублей, забастовок и голодовок рабочих, несоответствия техническому ...