Коллеги, а кто что использует для домашнего кластера "на поиграть"?
В каком смысле кластера? (У нас стоят все иксбоксы и ви-ю, плюс иногда Маша гоняет на игровом лаптопе.) ‎· пейсхолдер для забаненных
Ну я вот лениво думаю о кластере из семи NUC, но возникает вопрос, не проще ли AWS расчехлить. Но сетевые карточки... ‎· a mere five hundred de­grees
А, в этом смысле кластера. У меня товарищ купил четыре старых миника и был ими доволен, но он занимался какой-то метеорологией, не факт что тебе зайдёт. ‎· пейсхолдер для забаненных
В этом смысле поиграть. :-) ‎· хайпъ уже миновалъ
Так смотря что хочется, наверное? В авс могут быть проблемы с latency, да и всем остальным, но если на "поиграть" может быть проще всего остального, ‎· адский хардлайн в засаде
В AWS нет собственно машины и собственно сети, так что да, есть пара проблем :) ‎· a mere five hundred de­grees
В конторе я видел чей-то самодельный кластер из 4 Raspberry Pi (orange вдвое дешевле), ещё раньше видел кластер из via itx. Ну и можно virtualbox-ов запустить и прибить по одному на ядро, теоретически. ‎· 9000
Малинка жутко, жутко тормозная. То есть для экспериментов c распределенными алгоритмами вроде бы и ок, но вот этот песочек в подшипниках быстро убивает всё дело. Старые Mac Mini пока выглядят дороже чем более мощные Intel NUC, новые макмини стоят как самолётик. Parallella? ‎· a mere five hundred de­grees
Плюнуть на всё и пройти наконец TIS-100! ‎· a mere five hundred de­grees
Я поднимаю вагрантом несколько виртуалок, прямо на маке. Летает самолетом, поднимается за минуту ‎· 50% ash
@alf: так поиграть (поотлаживать что-то существенно распределённое, где всё на RPC) или перформанс? во втором случае старая серверная плата с парой xeon-ов (16 ядер) непобедима, кмк, по соотношению цена/производительность. ‎· 9000
Сложно сказать. Поиграть, в качестве побочной цели — понять ограничения. Вот скажем в текущем проекте мы, кажется, уперлись в сеть. Как понять что такое "уперлись в сеть"? Какая загрузка сети, эм, "разумна"? Что смешно, кстати, формально я как раз без одной подписи выпускник по специальности "вычислительные комплексы, системы и сети" — а не знаю про них примерно ничего. ‎· a mere five hundred de­grees
А что значит «кажется»? Вам бы мониторинг вменяемый, батенька. ‎· the disconsolate chimera
А стоечные ксеоны и правда стоят копейки... Хм. ‎· a mere five hundred de­grees
^^ TCP retransmits goes up, TCP Packet loss is non-zero, eth0 rx/tx flattens out suspiciously close to 1Gb. ‎· a mere five hundred de­grees
Ну то есть я знаю б-м как эту фигню лечить, и с ней разберусь, но в AWS это не повторишь, потому что сравнивать виртуалку и железку достаточно бессмысленно (или нет? блин, плохо быть идиотом). С другой стороны, я за то джавку и люблю что единороги и бабочки, и в общем при первой же возможности убегу от этого ужасного реального мира, так что видимо начну с VirtualBox, следом AWS, ну а если уж припрет — то либо NUC, либо подержанные деллы (они наверняка электричество жрут как не в себя). ‎· a mere five hundred de­grees
^^ нужно отлаживать интерфейсы, но в принципе направление понятно: кабель —> свитч падающий в хаб мод —> драйвер карточки —> affinity / irqbalance —> сами карточки. советую прогнать netperf чтобы проверить troughput без аппликации, тогда будет понятнее ‎· 50% ash
Просто вдруг есть условный фидорулез (tm), про который я не в курсе. Вот про ксеоны например я забыл напрочь. ‎· a mere five hundred de­grees
^^ это если ты не автор драйвера. тогда все по другому немного ‎· 50% ash
пару часов назад посмотрел https://www.youtube.com/watch?v=Fq97BvwoJbU, в котором чувак предлагает не ебать мозги с построением тестовых сред сложных и больших, а мерять (и тюнить) на основной системе. ‎· адский хардлайн в засаде
^ для этого случая вообще достаточно простого netperf'a и коммандной строки скорее всего, прямо на серверах ‎· 50% ash
если нужна помощь, я на таком пару собак съел. если там не под НДА, то могу помочь прямо из вебекса ‎· 50% ash
ну я подозреваю что мы и правда просто гадим в сеть, очень много гадим. Ресурс конечный, вот и ---. А дальше все равно надо либо на тестовой системе либо на бумажке прикидывать как гадить на порядок меньше. Бумажка лучше, но тестовая система лампочками мигает, вот это все. ‎· a mere five hundred de­grees
^^ спасибо огромное, если там затянется и дойдет до того что над таки пустят достаточно близко к собственно железу — я попробую воспользоваться. Но NDA, background checks, все как в лучших домах. ‎· a mere five hundred de­grees
^ сейчас сложно нагадить в сеть, если такое происходит на современных свитчах, то скорее всего между частями сервиса есть линк между свитчами. у последних моделей 10г невъебенный бэкплэйн, его очень непросто забить. или есть loop между портами. если у вас Cisco Nexus большой, то еще может быть случай с багом и неправильной конфигурацией trunk портов ‎· 50% ash
О, слушай, ты же наверняка с одной загадки ответишь: у нас почему-то иногда ретрансмиты на loopback interface. КАК?! ‎· a mere five hundred de­grees
Там два по 1G в бонде (чтобы я толком понимал, что такое бонд...) ‎· a mere five hundred de­grees
бонд это несколько линков, которые видны как один, но с оговорками. одна из таких оговорок, что одна TCP сессия не разбивается на два линка. вторая, что алгоритм хэширования может приводит к неравной загрузке. можно проверить где то в /proc/net/bonding кажется, или в /sys/class/... bond0 (я не помню точно, но думаю найдешь.) если циферки отличаются порядком, то есть проблема балансировки. если протокол типа NFS, то он на бонды не раскладывается ‎· 50% ash
если ретрансмиты на loopback, то проблема может быть сложнее: http://stackoverflow.com/questions/14093793/linux-tcp-weirdly... это уже нужно копать в коде немного ‎· 50% ash
еще можно посмотреть что в sysctl, (tcp_early_retrans кажется) ‎· 50% ash
О, спасибо огромное, я посмотрю, там как раз весь код таки под рукой... Пойду пока посплю. ‎· a mere five hundred de­grees
А, еще может быть вот это включено TCP_NODELAY ‎· 50% ash
А что с TCP_NODELAY? ‎· a mere five hundred de­grees
^ сейчас поищу, что то было там ‎· 50% ash
не нашел, посмотри пока вот это: https://access.redhat.com/sites/default/files/attachments/201... там все расписано детально, как дебажить и настраивать ‎· 50% ash
Спасибо огромное! Ушел печатать и читать на ночь :) ‎· a mere five hundred de­grees
про бонд надо было сразу говорить. Бонд - это не про performance, бонд это про resilience (Хотя продавать начальству надо как performance, конечно. Надёжность не продашь.). Если у вас бонд настроен по-людски - то есть LACP/PagP - то есть какой-то шанс получить больше гигабита, но он небольшой. Если "просто порты и мы воткнули и оно само" - то даже шанса нет. ‎· Buttbuttin
@dma он стопроцентный, если соблюдаются условия обратные указанным выше оговоркам. чтобы не писать комментарии в стиле habrhabr, давайте допустим что парни в фирме @alf которые занимаются сетью знают что делают и пропустим этап опускания с целью создать раппорт. ‎· 50% ash
@ayoshi чтобы "соблюдались условия обратные указанным выше" - надо весьма много трудиться. В частности, на ниве образования пользователей сети. Особенно тех, которые занимаются траблшутингом и подозревают, что где-то упираются в сеть. Опять же, я не скажу за всех и опыта у меня не так чтобы много - но как-то ни разу не видел, чтобы оба плеча бонда равномерно загружались какое-то заметное время. Допускаю, что у меня не хватало эээ компетенции объяснить людям, как им жить. ‎· Buttbuttin
^ согласен, там есть пара трудных вещей — серии вопросов про LACP одни из моих любимых на интервью по сетевой части. самый частый казалось бы потенциальный юзкейс (подключить NFS storage аггрегатом к какому нибудь одному серверу который тоже подключен аггрегатом) как раз не срабатывает, из за особенностей протокола (RPC, одна основная TCP сессия). но в остальном равномерное распределение происходит если число TCP сессий достаточно велико и распределение траффика между ними равномерно. то есть количественно они распределяются правильно почти всегда (на больших числах) но вот нагрузка между ними не распределяется вообще. то есть если на 100 сессий у одной большой throughput, то все всё равно распределяются механически 50/50, и те что упали на ту же самую карточку будут ее делить с этой самой мегасессией, в то время как остальные будут вольно резвиться на пустом втором линке. ‎· 50% ash
там всё проще, fault tolerance mode, одна карточка простаивает. Впрочем, источник проблем явно не там... ‎· a mere five hundred de­grees
^ @ayoshi ахаха я угадал. @alf ну вот да, пытайтесь ужиматься. про TCP_NODELAY там дельный совет, кстати - у вас может быть много мелких пакетов и TCP_NODELAY, и тогда огромное количество bpsов просто проёбывается зря. ‎· Buttbuttin