Разработчики операционной системы DragonFly BSD провели (http://lists.dragonflybsd.org/pipermail/users/2017-March/313...) тестирование производительности сетевого стека в сравнении с сетевыми стеками FreeBSD и ядра Linux (3.10 из CentOS 7 и 4.9 из Debian). Тестирование
производилось (https://leaf.dragonflybsd.org/~sephe/perf_cmp.pdf) через симуляцию нагрузки на web-сервер и организацию двунаправленного перенаправления (forwarding) UDP-пакетов между сетевыми интерфейсами. Для отдачи статических файлов на сервере использовался nginx, а на генерации трафика на нескольких клиентских системах была запущена утилита wrk (https://github.com/sepherosa/wrk). В тесте на перенаправление пакетов для генерации пакетов использовались pktget и sink.
В тесте на обработку запросов в nginx DragonFly BSD опередил FreeBSD и показал производительность близкую к ядру Linux. В тесте на перенаправление пакетов DragonFly BSD опередил FreeBSD и ядро Linux 3.10, но заметно отстал от ядра Linux 4.9. В ходе тестирования была выявлена проблема с масштабированием сетевой подсистемы DragonFly BSD на многоядерных CPU - при работе не использовались все доступные ядра, а только число ядер N^2, т.е. на 24-ядерной системе сетевой подсистемой использовалось только 16 ядер CPU. При выполнении сетевых приложений в пространстве пользователя такая особенность не оказывала влияния на производительность (незадействованные для выполнения сетевого стека CPU использовались для выполнения кода nginx), но в тесте на перенаправление пакетов, в котором были задействованы только компоненты ядра, ощущался провал в производительности.URL: https://www.dragonflydigest.com/2017/03/06/19425.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=46152
С NetBSD сравнивать побоялись?
>С NetBSD сравнивать побоялись?А смысл? Или вас вводит в заблужение "Net" в названии?
NetBSD/OpenBSD самые слоупоки, они хоть от глобальной блокировки уже успели избавиться
или нет?
NetBSD успела.
Ну хорошо, почти успела.Человеки, которые минусуют мой комментарий, могут ознакомиться со списком работ, которые проделал специально нанятый для этого человек:
https://www.netbsd.org/~ad/smp/tasks.htmlВот вам новость аж 2009 года о выходе NetBSD 5.0, где упоминается результате работ:
https://www.opennet.ru/opennews/art.shtml?num=21531Сейчас от глобальной блокировки осталось освободить только сетевой стек:
https://wiki.netbsd.org/projects/project/smp_networking/Вот список уже выполненных этапов:
https://www.netbsd.org/~rmind/smpnet/Короче, в отличие от OpenBSD, работа в этом направлении ведётся. Несмотря на то, что нужна переработка сетевого стека, почти во всём остальном система уже SMP.
> Ну хорошо, почти успела.Нмножечко беременна.
У nginx есть куча крутилок, А дефолты на системах отличаются. Cомневаюсь, что там был nginx оттюнен по самое некуда. В любом случае, надо читать подробности.
А вот UDP уже интересенее.
Сравнивались именно подсистемы ОС, а не nginx.
> Сравнивались именно подсистемы ОС, а не nginx.Перечитайте новость ещё раз, а затем комментарий, на который отвечаете. Я вам напомню, что там было написано:
"Для отдачи статических файлов на сервере использовался nginx, а на генерации трафика на нескольких клиентских системах была запущена утилита wrk."
"У nginx есть куча крутилок, А дефолты на системах отличаются."
В общем, чуваки выявили у себя проблемы с масштабированием, а что уж там насравнивали, дело второе.
Let's war begin!
а какой тут вар? с dragonfly никто адекватный связываться не будет (это как минимум безответственно, оставлять такую экзотику после себя), а по остальным участникам - всё на графиках
Да ладно, пакеты есть, порты есть. Не такое экзотичное.
Если ядро тюненое оставить без документации, кто что тюнил, то это с любой системой злодейство.
Извините, а FreeBSD какую версию использовали? Или в сетевом стеке FreeBSD везде всё равное?
Почему нет NetBSD? тоже очень интересно.
> Почему нет NetBSD?Наверное, поэтому: https://w3techs.com/technologies/details/os-netbsd/all/all
>> Почему нет NetBSD?
> Наверное, поэтому: https://w3techs.com/technologies/details/os-netbsd/all/allА для DragonFly BSD статистики просто нет или не стали приводить, потому что не нашли ни одной системы?
> А для DragonFly BSD статистики просто нет или не стали приводить, потому что не нашли ни одной системы?Вполне возможно, что ее просто причислили к FreeBSD.
https://w3techs.com/technologies/details/os-bsd/all/all
если сходить по ссылке, там пишут о "freebsd, r314268, GENERIC-NODEBUG". наверное те, кто в теме, должны понимать, что это за r314268
Да, 3.14... всем все ясно.
> если сходить по ссылке, там пишут о "freebsd, r314268, GENERIC-NODEBUG". наверное те,
> кто в теме, должны понимать, что это за r314268Это будущий релиз, выйдет через 300000 лет. Ну или номер ревизии в svn.
Кстати, OpenBSD же переняла сетевой стек NetBSD? Т.е. должна быть не хуже в этом плане?
Как-то с трудом верится, что FreeBSD прямо такая слабенькая... Скажите кто-нибудь netflix'у, чтобы они на Dragonfly (или Linux 4.9) переехали, а то пацаны-то и не знают.
> Как-то с трудом верится, что FreeBSD прямо такая слабенькая... Скажите кто-нибудь netflix'у,
> чтобы они на Dragonfly (или Linux 4.9) переехали, а то пацаны-то
> и не знают.Типа в netfix гении, а остальные компании типа Google глупенькие, и не сообразят
что надо бросать Linux и использовать FreeBSD?
Если подразумевается отсылка к YouTube, тотсравнение не корректно по ряду причин.
Сходу видится следующее:
1. Google приобрела этот сервис, а не писала его с нуля.
2. Помимо, YouTube компания работает над множеством других проектов. Отсюда возможна ситуация, что производительность отдельного сервиса была принесена в жертву единообразию стека технологий.
> Отсюда возможна ситуация, что производительность отдельного сервиса была принесена в жертву единообразию стека технологий.Скорее, нечто подобное происходит в нетфликсе.
Google поглотила YouTube еще в зародыше, сейчас это абсолютно другая система.
> 1. Google приобрела этот сервис, а не писала его с нуля.Следовательно Netflix был написан давным давно с нуля?
Тогда, как раз, нетфликс сидит на бзде, потомучто когда-то давным давно в конце 90-ых и в начале 2000-ых фряха рулила на серверах, а линукс был ещё слишком юн.
А сейчас продолжает это делать исключительно по-тому, что ей в лом, переписывать всю сетевую инфраструктуру под Линукс.
Аналогичное с Facebook, который подарил нам php7 и MyRocks отнюдь не от нефиг делать.Так что пишите ещё и не забывайте перед сном пофторять мантра о том, что бздя самая лучшая. :-)
Вы так хорошо знаете про Netflix, потому что там работаете? Или потому что у вас дар на расстоянии проникать в суть вещей.Ничего, что FreeBSD имеет ключевую особенность для корпораций - BSD лицензию. Под этой лицензией вам никто не предъявит, чтобы вы свои наработки допиленные к операционной системе вывалили в общий доступ поковырять палочкой, как это полагается по условиям лицензии GPL. И вы вот тут потешаетесь над Netflix, при этом совершенно не зная, что они такого допилили, что продолжают сидеть на FreeBSD и не просятся на ваш скоростной Linux.
До чего же забавно наблюдать это бегание с нетфликсом аки с писаной торбой. Да, в нетфликсе спускают бабки в унитаз возясь с freebsd. В корпорациях такое случается.
А чего с ней возиться? FreeBSD как раз и славится тем, что она простая как пять копеек и безотказная как автомат Калашникова. Там работа всей системы управляется парой десяток скриптов.
#>>бегание с нетфликсом аки с писаной
#>>спускают бабки в унитаз возясь с freebsd.
> А чего с ней возиться? FreeBSD как раз и славится тем, что
> она простая как пять копеек и безотказная как автомат Калашникова. Там
> работа всей системы управляется парой десяток скриптов.В новой федоре, слыхала я, тоже стало всё проще -- _все_ скрипты повыкидывали и заменили юнит-"файлами". Теперь они даже ближе к твоей винде, чем твоя фри. Ну, то есть по бабки-унитаз метрике. Наверное. Да? Как вы думаете?
> Как-то с трудом верится, что FreeBSD прямо такая слабенькая... Скажите кто-нибудь netflix'у, чтобы они на Dragonfly (или Linux 4.9) переехали, а то пацаны-то и не знают.При нынешних раскладах, затраты на переезд могут оказаться просто убойными для конторы.
Была бы у них нетварь какая-нибудь - тоже бы на ней сидели и не рыпались.
> Как-то с трудом верится, что FreeBSD прямо такая слабенькая... Скажите кто-нибудь netflix'у,
> чтобы они на Dragonfly (или Linux 4.9) переехали, а то пацаны-то
> и не знают.По ссылке, в PDF файле https://leaf.dragonflybsd.org/~sephe/perf_cmp.pdf написано:
FreeBSD.
• Label: freebsd, r314268, GENERIC-NODEBUGОткрываем https://svnweb.freebsd.org/base?view=revision&revision=314268
И смотрим, что это HEAD ветка.Заглядываем в https://svnweb.freebsd.org/base/head/contrib/jemalloc/includ...
и видим, что jmalloc собран с флагом JEMALLOC_DEBUGДалее в том же PDF читаем
Linux tuning.
SELinux is disabled.Открываем https://svnweb.freebsd.org/base/head/sys/amd64/conf/GENERIC?...
И ух ты. Видим опции:
options AUDIT # Security event auditing
options CAPABILITY_MODE # Capsicum capability mode
options CAPABILITIES # Capsicum capabilities
options MAC # TrustedBSD MAC FrameworkВобщем как всегда, сравнение теплого с мягким.
>и видим, что jmalloc собран с флагом JEMALLOC_DEBUGи чо? какой jemalloc в "Bi-directional IPv4 forwarding"?
в nginx ? не ?
> в nginx ? не ?нет. там такие различия из-за so_reuseport.
Да фряху они даже не тюнили. Пускали с дефолтными часами на 1000 HZ.
Ага, а линукс прямо тюнили-перетюнили, облысели все.
audit, capabilities в линуксе не отключали. selinux, подозреваю, тоже не полностью, передавая selinux=0 в аргументах ядра, а всего лишь выставив disabled в конфиге (это не отключает полностью selinux и он продолжает влиять на производительность, просто тратя меньше времени на обработку меток)
>Как-то с трудом верится, что FreeBSD прямо такая слабенькая...Может им удобнее во FreeBSD DRM запихивать, вот и вся причина.
в том числе
>>Как-то с трудом верится, что FreeBSD прямо такая слабенькая...
> Может им удобнее во FreeBSD DRM запихивать, вот и вся причина.И в чем тут разница с пингвином? В их случае не состваит проблем закрыть свои наработки и под GPL. Внезапно
https://www.gnu.org/licenses/gpl-faq.html#CanIDemandACopy
> If I know someone has a copy of a GPL-covered program, can I demand they give me a copy? (#CanIDemandACopy)
> No. The GPL gives a person permission to make and redistribute copies of the program if
> and when that person chooses to do so. That person also has the right not to choose to
> redistribute the program.
Тем не менее на копропротивных юристов от GPL нападают корчи.
> Тем не менее на копропротивных юристов от GPL нападают корчи.Тем не менее, возразить по существу нечего, да?
Гугль кстати по слухам тоже не спешит открывать все наработки, используемые на своих серверах.
не смешно ибо скоро так и случится с такими тенденциями во FreeBSD :)
А что за тенденции?
> А что за тенденции?сабж же. чужие отделы маркетингов любят её использовать для оттенения собственных Побед.
> Как-то с трудом верится, что FreeBSD прямо такая слабенькая...помню как у фрибздишников бомбило, когда ихние nat-роутеры начали загибаться после каких-то незначительных изменений в utorrent'е
Нихрена себе незначительных, они протокол написали свой. http://nuclight.livejournal.com/125372.html . Медным тазом накрывались все, даже топовые на тот момент железячные роутеры от Cisc'и .
Я помню и у кошководов, и у жуниперщиков, и у - да у всех бомбило! Ибо придурки реально сделали ДУРЬ!
Не бомбило только у админов локалхоста на арчике - у них сеть вседа чаще не работает, чем работает - оне даже и не заметили :)
Скажите это Google, Microsoft, и прочим.
так кто круче-то?
666$ и я тебе расскажу.
А я могу рассказать за 580$
фряшка всех рвет как тузик грелку
> фряшка всех рвет как тузик грелкуВсе так:
http://www.phoronix.com/scan.php?page=article&item=netperf-b...
> фряшка всех рвет как тузик грелкуРвёт в отдельном аспекте только на серверах? :) А ну да, unix-way же, одна задача - одна система.
Когда-то лучшей подставкой под Апач была FreeBSD(лет 20 назад). Но из-за особенности лицензии, BSD сегментируется и развивается медленнее Линукс. Не могли разработчики DragonFly никак повлиять на core team FreeBSD, вот тебе новая ветка народилась. Уж все забыли, из-за чего это ответвление произошло от FreeBSD 4.8, но что-то мешает соединить разработку вновь...
Наверно религия -верят в разных чертей :)
Следуя твоей логике у последователей пингвинов с религией вообще все плохо. Такой зоопарк бесполезных клонов, а использовать в продакшене можно лишь пяток.
kernel.org один на всех.
... и он ВНЕЗАПНО! не входит в тот "пяток" которые использовать можно! :-)))
в эволюциооном развитии они уже настолько разные, что это все-равно что скрещивать ужа с носорогом.
вон под фрю хамер уже столько лет портировать не могут из-за отличий ядра.
> в эволюциооном развитии они уже настолько разные, что это все-равно что скрещивать
> ужа с носорогом.
> вон под фрю хамер уже столько лет портировать не могут из-за отличий
> ядра.Ну, вообще-то, NetBSD, Dragonfly BSD и FreeBSD регулярно что-то берут друг у друга. Читал про заимствования свежих версий стеков USB и Bluetooth, например, но уже не помню, кто у кого и что заимствовал. Bluetooth точно не из FreeBSD, т.к. у них он к NetGraph привязан сильно.
дело не в отличиях ядра, а в том, что не нашлось даже 10 человек, которым это надо
> но что-то мешает соединить разработку вновьРазошлись далеко. Например, ядра чёрта и стрекозы уже различаются настолько, что портирование HammerFS во фрю требует глубокого перепиливания ядра (емнип;)).
Ну то есть вроде как у людей получается: пилили систему ориентированную на высокую производительность (особенно на многоядерных системах) и даже смогли догнать linux.
> Ну то есть вроде как у людей получается: пилили систему ориентированную на высокую производительность (особенно на многоядерных системах)... но сетевой стек так и крутится на одном ядре. Молодцы, чо.
>> Ну то есть вроде как у людей получается: пилили систему ориентированную на высокую производительность (особенно на многоядерных системах)
> ... но сетевой стек так и крутится на одном ядре. Молодцы, чо.У кого? У OpenBSD, разве что. У FreeBSD, NetBSD реализация симметричной многопроцессорности подобна Linux'овой, с мелкими блокировками отдельных подсистем. У Dragonfly BSD вообще своя система без блокировок, а с лёгкими потоками ядра. Блокировок нет за счёт того, что драйвер каждого экземпляра устройства привязан к определённому процессору - запускай его в любой момент, как лёгкий поток ядра, работающий на этом процессоре, освободится.
OMG... Опять "лёгкие потоки ядра". Читать, что такое LWKT в стрекозе!
Имел в виду фразу "вообще своя система без блокировок, а с лёгкими потоками ядра". Потоки и блокировки - совершенно разные сущности. Отсутствие блокировок обеспечивает примитив синхронизации "LWKT serializing tokens".
Ты чего сказать-то хотел?
под "совсем без блокировок" надо писать Совсем ДРУГУЮ Ось а не "радикально улучшенную/переработанную Фряху", в которой все-таки Си-шные уши торчат и тулчейна.
клон стрекозы если переписать на эрланге - тогда да, например(Ада похуже масштабируется а остальные, включая свещий фортран и даже smp-форки форта и другие трудоемкие/raw ОП - тем более).
под "совсем без блокировок" надо писать Совсем ДРУГУЮ Ось а не "радикально улучшенную/переработанную Фряху", в которой все-таки Си-шные уши торчат и тулчейна.
клон стрекозы если переписать на эрланге - тогда да, например(Ада похуже масштабируется а остальные, включая свещий фортран и даже smp-форки форта и другие трудоемкие/raw ОП - тем более).
в некоторых форках L4 форка линуха и в частностях реализации микроядра - сделаны попытки основательно снизить кол-во блокировок и бутылочных горлышек, но Кардинально это не изменить, не сменив ментальность и ОП, используемые, разработчиком.p.s.
упд не влезло в предыдущее(планшет).
Тест hate'ров FreeBSD )
На серьёзное тестирование не тянет. Одна конфигурация, два синтетических теста.Их даже не смутил 4-кратный рост у нового ядра Линукса по сравнению со старым. Такие аномалии должны сразу вызывать вопросы: а не является ли наш тест излишне синтетическим и чересчур оптимизированным под новое ядро?
> На серьёзное тестирование не тянет. Одна конфигурация, два синтетических теста.
> Их даже не смутил 4-кратный рост у нового ядра Линукса по сравнению
> со старым. Такие аномалии должны сразу вызывать вопросы: а не является
> ли наш тест излишне синтетическим и чересчур оптимизированным под новое ядро?это вполне ожидамо после https://lwn.net/Articles/615238/
> На серьёзное тестирование не тянет. Одна конфигурация, два синтетических теста.
> Их даже не смутил 4-кратный рост у нового ядра Линукса по сравнению
> со старым. Такие аномалии должны сразу вызывать вопросы: а не является
> ли наш тест излишне синтетическим и чересчур оптимизированным под новое ядро?Зато результат классный. Поэтому недавний «тест» похороникса, где пингвин безнадежно отстает, уже забыт и почти неправда!
http://www.phoronix.com/scan.php?page=article&item=netperf-b...
Пока ещё нет :) Но движутся.
Из комментов:
- Wow, Linux sucks! I mean it literally sucks, vs. FreeBSD which flies in comparison.
- For network related things that's true. So true.
Главное картинка, смысл ее понимать не обязательно, правда? На большинстве тестов все равны. На одном сильно выигрывает фря, на другом просто безбожно отстает. Внимание вопрос: в чем именно выигрывает и проигрывает фря и что из этого важнее при реальном использовании?
Да брось! То что фороникс намерял или тот же Д*н из стрекозы - только им и нужно. В качестве ***-энхансера :)В реальной ситуации выбирать будут по хрен предскажешь какому критерию :-) Плавали - знаем.
Сомневаюсь, что тима Netflix'a - кучка дурачков, которая "выстрелом в небо" определилась с выбором в лице FreeBSD. А за линк спасибо! Очень показательно!
>> На серьёзное тестирование не тянет. Одна конфигурация, два синтетических теста.
>> ли наш тест излишне синтетическим и чересчур оптимизированным под новое ядро?
> Зато результат классный. Поэтому недавний «тест» похороникса, где пингвин безнадежно
> отстает, уже забыт и почти неправда!
>/scan.php?page=article&item=netperf-bsd-linux&num=3Фанатики фри поднимают Микаэлю трафик-цитируемость. Ай да Ларабель, ай да... ентерпренёр.
...счета за луц сами себя не оплатят.
Благодарю.
и зачем во всяких микротиках врт используют такие старые ядра? Разница же значительная.
Потому что мyдаки. Это последствия невозврата своих патчей в mainline ядро.
Молодцы разрабы Dragon Fly BSD! Если бы тестирование проводил MS, то всех бы порвала "десяточка".
Вообще-то, чувак который проводил тестирование, работает в MS. И он является коммиттером FreeBSD и DragonflyBSD.
> Вообще-то, чувак который проводил тестирование, работает в MS. И он является коммиттером
> FreeBSD
git log|grep -i -A1 sepherosa
Reviewed by: Sepherosa Ziehau--
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for
Broadcom BCM43xx chipsets. This driver uses the v3 firmware that
--
Submitted by: Sepherosa Ziehau (w/ modifications)
Obtained from: DragonFly
--
Submitted by: Sepherosa Ziehau
Obtained from: DragonFly
--
Submitted by: Sepherosa Ziehau
Obtained from: DragonFly
--
Submitted by: Sepherosa Ziehau (w/ modifications)
Obtained from: DragonFly
--
Noticed by: Sepherosa Zieha
Reviewed by: cperciva
--
NOTE: This patch was made for DragonFly BSD by Sepherosa Ziehau.
И все это почти десятилетней давности.
Если вы хотели показать что он давно не коммитит во фрю, то грепать надо по sephe, и он коммитит во фрю.
> Если вы хотели показать что он давно не коммитит во фрю, то
> грепать надо по sephe, и он коммитит во фрю.Только несколько однообразно:
r312689
hyperv/hn: add a sysctl name for the VF interface
This makes it easier for the userland script to find the releated
VF interface.
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: MicrosoftApproved by: sephe (mentor)
r312688
hyperv/hn: add the support for VF drivers (SR-IOV)
Reviewed by: sephe
Approved by: sephe (mentor)
Sponsored by: Microsoft
git log|grep -ic -A7 "Author.*sephe"
418
git log|grep -i -A7 "Author.*sephe"|egrep -ic "hyper\.?v"
372
Легковесное ядро с меньшим числом доступных функций неизбежно выигрывает на реквестах, потому что меньше накладных расходов на открытие сокета. Странно, что так мало.А вот фряха жжот. Всё академичность true OS "на лице".
С чего это оно легковесное? Отчасти оно даже псевдомикроядерное (гибридное). А переключение контекста, как-бы, не добавляет производительности.
Правильное название новости "Протестирована скорость работы nginx на разных платформах".
а как же udp forwarding?
В деле генерации и отдачи современного контента кёрнельтайм составляет хотя бы 1%? :) Соответственно, важнее как в системе работает юзерспейсное ПО (полноценность SMP, сокеты, накладные расходы на потоки, полноценная поддержка java, ror, go, и прочих нормальных платформ итд итп). И тут все кто не linux пролетают как фанера над Парижем :)Про нетфликс 100пудово архитектором работает неадекват. Вот и всё объяснение. Ну и у них 99.99999% контента статика?
У них 100% динамика, контент меняется с периодом в 1/30 сек.
Стриминг видео это статика, бро.
Currently we only use power-of-2 CPUs to handle network protocol
processing, e.g. on 24 CPUs system, only 16 CPUs will be used to
handle network protocol processing. Может 2^N ядер
> Currently we only use power-of-2 CPUs to handle network protocol
> processing, e.g. on 24 CPUs system, only 16 CPUs will be used
> to
> handle network protocol processing. Может 2^N ядерА так и написано: степень 2-ки.
>> Currently we only use power-of-2 CPUs to handle network protocol
>> processing, e.g. on 24 CPUs system, only 16 CPUs will be used
>> to
>> handle network protocol processing. Может 2^N ядер
> А так и написано: степень 2-ки.В тексте новости opennet'а: "...а только число ядер N^2..."
>>> Currently we only use power-of-2 CPUs to handle network protocol
>>> processing, e.g. on 24 CPUs system, only 16 CPUs will be used
>>> to
>>> handle network protocol processing. Может 2^N ядер
>> А так и написано: степень 2-ки.
> В тексте новости opennet'а: "...а только число ядер N^2..."человеку свойственно ошибаться...
> Currently we only use power-of-2 CPUs to handle network protocol
> processing, e.g. on 24 CPUs system, only 16 CPUs will be used
> to
> handle network protocol processing. Может 2^N ядерстрекозу гоняли на many-core платформах и на 4-8 ядерных серваках(хэпэ и леново/ibm, ЕМНИП), чем больше лошадиных сил в платформе/серваках - тем сильнее отрыв стрекозы от конкурентов.