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.

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

Архив записей в блогах:
Тут приспичило одну очень известную песню найти. Слух есть, голоса нет, но напою не как тот Гагик напел Битлз из анекдота. Узнаваемо, как мне КАЖЕТСЯ. Тыкал гугл, да. А мож кто вот так кто с куста скажет, где лучше? Куча же вопросов бы отвалилось, если бы такой сервис был, а они есть, а ...
Свидетельства реальных, а не виртуальных жителей Мариуполя. Люди на улицах уверены, что снаряды летели с востока, где расположены позиции ДНР и российский оккупантов. https://www.youtube.com/watch?v=IzmuS_gYwtM ...
Оригинал взят у sirin_from_shrm в Умная, уверенная, успешная Портрет Бытует мнение, что абьюзеры выбирают себе жертв среди слабых, неуверенных в себе созданий, которых легко подчинить своей воле. И общественное мнение, опираясь на этот миф, часто беспощадно к жертвам абьюза: ...
В Корее нередко доводится слышать про самоубийства, но вот тут «слов нет», хотя остаются еще невыясненные моменты… Общество забурлило, обсуждая это, новость третий день обсуждается СМИ. Признаюсь, находясь в Корее, как-то уже стал, к сожалению, привыкать к сообщениям о самоубийствах. ...
Хай фай босота бродяжная! Вечерок в радость - боярышник в сладость! Вопрос имею вам сказать сообщники, почти подельники. Шастает тут у нас широко известный в узких кругах, некто Хвосторыл. Ну шароебится казалось бы да и хуй с ним. Ан нет! Временами наш любезный Хвосторыл, обожравшись ...