Anonymous
а как делают? как понять, какой мощности кластер тебе нужен заранее?
Λ ll И K X
снимают метрики на лоадах
Λ ll И K X
и как то экстраполируют результаты
Igor
во, у нас это называют нагрузочный тест
Λ ll И K X
Anonymous
ну, это разведка боем
Anonymous
это я понимаю, так я тоже могу-умею
Λ ll И K X
но еще обычно перед этим предьяляют какие то требования по перфу
Λ ll И K X
чтобы понимать на что равняться
Anonymous
я пытаюсь понять, есть ли способо грубо прикинуть цифры на бумаге?
Anonymous
такой способ должен быть
Λ ll И K X
кмк это юзлес
Aleksander
ребята, подскажите, научите, я вступаю на чужую землю и мне нужна помощь более опытных. моя задача сейчас - понять (примерно) насколько мощный кластер (грубо говоря, какое количество CPU в терминах Кубера, но это грубо говоря) мне нужно, чтобы выполнить определенный объем вычислений. у меня есть алгоритм и есть гистограмма, сколько времени занимает вычисление, например, в 95% случаев. мне нужно выполнить N таких вычислений за K времени (допустим, часов). как грамотно посчитать, сколько CPU мне надо?
Сколько ядер занято во время вычислений?
Anonymous
другими словами, одна и та же карта города (графа) сразу на N машинах и каждое ядро использует свою копию и все.
Λ ll И K X
как вы собираетесь это на бумаге считать я не представляю
Anonymous
никаких примитивов синхронизации
Aleksander
И это ядро нагружено во время вычисления на 90-100%?
Anonymous
Anonymous
Aleksander
Хорошо. Значит примерно представляем сколько физических ядер нам надо, так?
Λ ll И K X
Anonymous
Anonymous
чтобы понимать, можешь ли ты его купить?
Anonymous
Anonymous
я и пытаюсь понять - насколько это можно?
Aleksander
Кластер крутится на своей инфраструктуре, или в облаке?
Anonymous
я ж говорю - у меня пробел в этом
Anonymous
Anonymous
где иначе 1000 взять
Aleksander
Какое облако? Амазон?
Λ ll И K X
Anonymous
Aleksander
Ну на онпрем структуре легко считается, главное переподписку на виртуальные ядра учесть
Anonymous
я хочу память масштаб решения, вот и все. а движет мной интуитивное ощущение, что за этим решение, как его требует бизнес, стоит непосильный размер кластера
Anonymous
и что компания к такому просто не готова
Anonymous
но пока что это моя интуиция
Anonymous
я пытаюсь ее оправдать либо опровергнуть и у меня не получается
Aleksander
А в облаках может и правда быть что угодно. В идеале взять однопоточное решение и погонять в облаке на одной машине.
Aleksander
https://medium.com/infrastructure-adventures/aws-vs-gcp-vs-on-premises-cpu-performance-comparison-1cb3e91f9716 - можно провести подобный бенчмарк у себя и в gcp, сравнить и получит коэффициент
Aleksander
Для примерного расчета:
NumCores = AvgTimePerCore * N / K
NumGcpVcpu = NumCores / K8SPenalty / GcpPenalty
AvgTimePerCore - я бы взял именно среднее время, а не 95%, всётаки считаем что запусков будет много и время усреднится
N - количество задач
K - время, за которое надо уложиться
K8SPenalty - принимаем 1, если лимиты не выставлять, то разницы почти не будет
GcpPenalty - если совсем грубо, то взять из статьи, надеясь что много не изменилось. Если чуть поточнее, то погонять sysbench у тебя и на том типе инстансов на котором будешь запускать, понять разницу. Ну и совсем точно - погонять там твой алгоритм.
И итоговое число домножить на 1.2 :) Все-таки не получится грузить на 100% всё время, должен быть запас
Anonymous
да, вижу. но это работы доебени-фени, на разных допустимых конфигурациях пробовать алгоритм. я думал, может прямее путь есть. это по сути все та же разведка боем.
Aleksander
ну так всегда, чем точнее хочется результат, тем больше времени тратишь на оценку
Aleksander
в самом GCP много разных инстансов, какой-нибудь Compute Optimized и Cost Optimized могут сильно отличаться
Vasiliy
огонь!
Vasiliy
https://twitter.com/_cartermp/status/1354939745042743299?s=09
Igor
хорошая реклама
Ilya
Vladislav
Нет
Ayrat
Vladislav
А чо нет?
Я отвечаю троллингом на троллинг
Ayrat
Vasiliy
Да, ладно что вы такие токсичные?
Vladislav
Vladislav
Это так
Ayrat
Ayrat
Даже для сбт есть
Ayrat
Ilya
Ilya
и нахрена там дак тайпинг для всех структур яснее не стало
Ilya
если ты конечно дочитал до конца
Ayrat
Ayrat
Ой всё.
Ilya
Vasily
Илья все же тролль
Vasily
Пора банить
Ilya
пора
Doge
ты мне ещё про юзинг не пояснил со вчерашнего
Ну у них там явный кейс в компиляторе под value-тип, который имплементит IDisposable, это в какой-то степени и есть дак тайпинг:
https://github.com/dotnet/roslyn/blob/6c5cef5b5cd8a4baf6c3996566b74f985e99073a/src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_UsingStatement.cs#L313
Doge
См. коммент
Vasily
Мы к нему со всей душой
Vasily
А он
Ilya
Vasily
Doge