| |
Группа китайских разработчиков высоконагруженных систем открыла наработки проекта Fastsocket, в рамках которого подготовлена альтернативная реализация сокетов и сетевой подсистемы ядра Linux. В отличие от штатной сетевой подсистемы ядра, Fastsocket обеспечивает практически линейную масштабируемость, что позволяет добиться существенно более высокой производительности на многоядерных компьютерах. Система является стабильной и хорошо зарекомендовала себя в промышленном использовании. В частности, Fastsocket используется для обеспечения работы online-службы SINA (17-й по посещаемости сайт в мире). Все наработки проекта поставляются под лицензией GPLv2.
Fastsocket бесшовно интергрируется с существующими серверными приложениями - достаточно через LD_PRELOAD загрузить библиотеку libfsocket.so, которая подменит собой традиционные функции работы с сокетами. Например, для использования Fastsocket в nginx достаточно запустить сервер командой "LD_PRELOAD=./libfsocket.so nginx". При этом включение поддержки Fastsocket в ядре сопряжено с некоторыми трудностями - для применения Fastsocket следует использовать специально подготовленную отдельную сборку ядра Linux, вместо штатного ядра из дистрибутива. В настоящее время предлагается вариант ядра 2.6.32-431.17.1.el6 для использования в RHEL/CentOS 6.5.
Но игра стоит свеч, на сервере с 24 ядрами CPU рост производительности при выполнении Nginx и Haproxy составляет 290% и 620%, по сравнению с обычным сетевым стеком, предоставляемым ядром из состава CentOS-6.5. Более того, Fastsocket обеспечивает дополнительный прирост производительности при использовании Hyper-Threading и Flow-Director. В частности, активация Hyper-Threading даёт прирост в 20% производительности, а использование сетевой карты на базе контроллера Intel 82599 прибавляет 15% при работе в роли прокси.
Наибольшая эффективность работы Fastsocket достигается на системах, имеющих от 8 до 24 процессорных ядер, при использовании приложений, применяющих epoll для организации неблокирующего ввода/вывода и запускающих несколько параллельно работающих процессов-обработчиков соединений, таких как haproxy, nginx и lighttpd. Текущая реализация рассчитана в основном на обработку коротких TCP-соединений. Разработчиками проекта также подготовлен код для повышения эффективности обработки длительных TCP-соединений, который позволит увеличить производительность таких приложений, как СУБД Redis. Данный код будет опубликован после его стабилизации.
|
|
- Главная ссылка к новости (https://news.ycombinator.com/item?id=849...)
| Тип: Интересно / К сведению | Ключевые слова: fastsocket, linux, kernek, (найти похожие документы) | При перепечатке указание ссылки на opennet.ru обязательно | Реклама |
id=adv>
| |
1.2, A.Stahl, 22:56, 22/10/2014 [ответить] [смотреть все]
| +16 +/– |
>Группа китайских разработчиков...GPLv2
Я китайский бы выучил только за то, что им разговаривает "Группа китайских разработчиков..."
Вру на самом деле. Не буду я учить китайский. Я просто хотел сказать -- молодцы.
| | |
|
4.37, twilight, 08:57, 23/10/2014 [^] [ответить] [смотреть все] | +/– |
Это откуда такая информация?
Насколько я могу судить по своему опыту общения с китайцами - к английскому у них довольно прохладное отношение.
Даже приезжающие в Рф студенты не торопятся учить англ., а уровень подготовки большинства из них даже ниже, чем у выпускников России.
В приграничных районах (манджурия) - китайцы более сносно говорят на русском, чем на английском.
Так что на счет "сносно шпрехают" - боооольшой вопрос, они в плане интеграции самодостаточны.
| | | 5.53, Аноним, 12:17, 23/10/2014 [ ^] [ ответить] [ смотреть все] +/–От всевозможных китайских конторок Если они хотят что-то за пределами китая про... весь текст скрыт [ показать] 3.21, Crazy Alex, 01:19, 23/10/2014 [ ^] [ ответить] [ смотреть все] +1 +/–Дык,английский - и проще учится и толку больше... весь текст скрыт [ показать]
1.3, Аноним, 23:01, 22/10/2014 [ ответить] [ смотреть все] +/–Гораздо интереснее, насколько оно устойчиво к SYN-флуду, а также к большому коли... весь текст скрыт [ показать]
1.5, manster, 23:04, 22/10/2014 [ ответить] [ смотреть все] –4 +/–Ох, надеюсь без бэкдоров и зондов... весь текст скрыт [ показать]
1.7, Аноним, 23:08, 22/10/2014 [ ответить] [ смотреть все] –6 +/–Ура, я наконец понял в чём на самом деле была проблема высоконагруженных систем ... весь текст скрыт [ показать]
2.22, Аноним, 01:20, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] +4 +/–Ты не понял Упомянутое становится проблемой, когда все предыдущие вещи уже разр... весь текст скрыт [ показать] [ показать ветку] 2.30, rob pike, 07:34, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] –1 +/–
> всё грешил на базы данных,
В большинстве случаев это решается правильной организацией кэширования.
Да, подчас очень непростой, но таки решается.
> тормоза динамических языков программирования
Динамический язык динамическому языку рознь. LuaJIT, например, тормозами не страдает.
Кстати, ngx_lua и базирующийся на нём OpenResty - тоже китайского происхождения.
> и шифрование SSL.
Которое, во-первых, можно использовать только для авторизации, после чего возвращаться к http, во-вторых, большую часть оверхеда можно переложить на CDN, пользуясь тем что основной оверхед приходится на handshake.
|
4.42, rob pike, 09:40, 23/10/2014 [^] [ответить] [смотреть все] | +/– |
> Кеширование это моветон.
Весьма неожиданная точка зрения, надо признать.
> Им можно решить только задачи с преимущественным чтнением данных.
> А щас интерктив везде, чтение запись выравниваются
Вас не затруднит привести пару-тройку примеров из современного веб?
А также пояснить в чем принципиальное затруднение в решении этой проблемы Write-back кэшированием.
| | | 4.44, Аноним, 10:01, 23/10/2014 [ ^] [ ответить] [ смотреть все] +1 +/–Какое выравнивание checkbox от кнопки like сопоставим по объёму с выгрузкой с... весь текст скрыт [ показать] 3.56, Аноним, 12:34, 23/10/2014 [ ^] [ ответить] [ смотреть все] +/–Или использованием каких-нибудь NoSQL баз и простых схем данных Они быстрые как... весь текст скрыт [ показать] |
4.61, rob pike, 13:50, 23/10/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> NoSQL баз и простых схем данных.
> Они быстрые как понос при правильном подходе.
Какие образные у вас сравнения. Намекаете на то что MongoDB медленней PostgreSQL? Мы в курсе.
> Если уж на то пошло, грузить бэкэнд выполнением скриптов на каждого юзера - тоже моветон
Действительно, давайте каждого юзера называть просто Васей, они всё равно одинаковые практически, юзеры эти.
> CDN вообще-то желают бабла за свои услуги
Ужас какой, действительно. Все остальные-то компоненты высоконагруженных систем обычно совершенно ничего не стоят.
| | | 3.58, manster, 12:52, 23/10/2014 [ ^] [ ответить] [ смотреть все] +/–
Не стоит "правильность" обеспечивать кэшированием. Смотри глубже - ленивая, отложенная загрузка и еще кое-что (сходно с тяжелой графикой)
3.67, Аноним, 21:18, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +/–Rob - подумай такую мысль это для CDN-щиков и сделано Как вариант Оне же то... весь текст скрыт [ показать]
1.13, knike, 23:47, 22/10/2014 [ ответить] [ смотреть все] –1 +/–
А почему с ядром 2.6 сравнивают?
2.17, temujeen, 00:55, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] –1 +/–как-то так получилось, что сетевой стек на последующих версиях ядра, оказался то... весь текст скрыт [ показать] [ показать ветку]
3.34, Аноном, 08:44, 23/10/2014 [ ^] [ ответить] [ смотреть все] +/–
Это не совсем так, были регрессии, но они правились.
2.19, Аноним, 01:14, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] +/–В ядре rhel centos 6 от 2 6 осталась только совместимость, очень многое полезное... весь текст скрыт [ показать] [ показать ветку] 2.23, Crazy Alex, 01:21, 23/10/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] +/–Сравнивают со стандартным де-факто ядром - то есть текущим редхатовским ... весь текст скрыт [ показать] [ показать ветку] |
4.28, Crazy Alex, 03:12, 23/10/2014 [^] [ответить] [смотреть все] | +/– |
Это станет стандартом еще через пару лет. Никто в здравом уме не мигрирует, если этого можно не делать. А у редхата можно не мигрировать очень долго.
| | | 3.32, Аноним, 07:55, 23/10/2014 [ ^] [ ответить] [ смотреть все] +/–нудк HPC-же а там у китайцев наряду с LFS, Калькой, Центос - самое популярное с... весь текст скрыт [ показать]
1.31, Аноним, 07:51, 23/10/2014 [ ответить] [ смотреть все] +/–солидный прирост я знал что в родном стэке полно барахла на скотче и соплях, ... весь текст скрыт [ показать]
1.35, anonymous, 08:47, 23/10/2014 [ ответить] [ смотреть все] –1 +/–
А нижние графики-то --- похоже, фальшивка: таких _в мелких деталях_ самоподобных кривых _за сутки_ хрен получишь.
1.38, DmA, 09:00, 23/10/2014 [ ответить] [ смотреть все] +/–
Из описания в Википедии "Sina Corp — китайская интернет-компания. Является сетью общения между китайскими диаспорами по всему миру. Имеет четыре направления деятельности: Sina Weibo, Sina Mobile, Sina Online, и Sina.net. Объединяет более 100 миллионов пользователей по всему миру"
Какая-то массоновская секта!
1.47, Аноним, 10:46, 23/10/2014 [ ответить] [ смотреть все] –1 +/–Китайцы довольно агрессивно пытаются пропихнуть свои дырки в другие страны, как ... весь текст скрыт [ показать]
1.50, Аноним, 11:26, 23/10/2014 [ ответить] [ смотреть все] +1 +/–теперь ждем соизмеримые наработки наших ученых, а то все чего то там выбирают вы... весь текст скрыт [ показать]
1.63, YetAnotherOnanym, 16:28, 23/10/2014 [ ответить] [ смотреть все] [ к модератору] +/–
Хы, это как же его до китайцев писали? Видать, Телса мало Алана по рукам била.
Ваш комментарий
Read more |