Насока за избор на сървър

kanadeca

Member
Здрасти, понеже нищо не разбирам от сървъри, да питам тук.

Клатя една машина (лаптоп), която ми събира и записва данни, както и ги обработва (извършва изчисления).

Работя с няколко да го нарека нишки, като всяка съм я стартирал с виртуализация (oracle vm).

Изчислил съм, че с нормално натоварване на всяка нишка ми е нужно 1 ядро и 2гб рам, а в топ натоварване 2 ядра и 4гб рам (това на убунту, на уиндоус повече).

Не съм наясно какво точно ми трябва като хардуер, нито дали виртуализацията е най-удачното решение.

Трябват ми за момента 16 нишки. Значи ли това, че трябва да търся нает сървър с 32 ядра и 64гб рам? Или има друг начин (без oracle vm) за по-ефективно разпределение на нишките?

Сървър с 32 ядра като гледам месечните цени няма смисъл да наемам, по-добре да си купя реновирано желязо за 5-6 бона и да го колокирам някъде.

Малко по-стиковано - как да извършвам тези процеси? 16 броя процеси, които изискват между 1 и 2 ядра цпу и 2 и 4гб рам всеки?

Виртуализацията на 16 ядрен лаптоп не ми е оферта, там нямам сигурност дали утре машината няма да думне от пргряване и да увисна. В момента пробвам да плащам $25/м за 1 впс с windows server, който менажирам с remote desktop. Това ме устройва като начин на работа.

Въпросът е, че това са 25х16 = $400 на месец. Цената не е проблем, въпросът е дали ако си колокирам на мое желязо няма да получа по-добра производителност за относително същите пари?

Също така да се има предвид, че предвиждам до 50 нишки, които да работят едновременно, но това в далечно бъдеще.

И изобщо как става хватката :)

Дайте ми насока, мога да търся в гугле, ще се задълбая, но първоначалната насока за размисъл ще помогне много ако я даде човек с практически опит.
 
Не съм сигурен дали под нишка разбираш thread, но както и да си измерил от какви ресурси има нужда всеки процес, си го измерил спрямо хардуера, на който си го мерил. Но не си написал какъв е тоя процесор, или пък какъв ресурс от физическия процесор е равен на 1 виртуално ядро. Нает сървър с AMD Ryzen 9 5950X (32 нишки на 3.4ghz, макс. 4.9ghz) и 128GB оперативна памет ти е 124 евро на месец с ДДС и без setup такса тук. Честно казано при толкова смешна цена, да се занимаваш да колокираш един единствен сървър не си е работа. И като начална инвестиция, и предвид че ще трябва и малко резервни части да пратиш в DC, да плащаш някой да смения изгрял диск и тн.
За виртуализация - не си описал какво изисква тия процеси да са толкова изолирани един от друг и да си имат собствен ОС и собствен кърнел. Някакъв вид контейнеризация ще е с доста по-малък overhead, пък и според твоите възможности може и да ти е по-лесен за менажиране и пренасяне на нов хардуер.
 
Нишка не казвам на thread. Под нишка разбирам процес.

Представи си го така, стартирам 1 инстанс на специализиран софтуер. Всеки един инстанс трябва да работи независимо един от друг. Затова ползвам виртуализация, но съм далеч от мисълта, че е най-удачното решение.

Но софтуерът трябва да е независим, т.е. веднъж да е инсталиран на ОС защото пази разни дивотии и ако се стартира повече от веднъж не работи коректно.
 
Ами взимай горния сървър, инсталирай нещо което да ти позволява да създаваш виртуалки лесно (тука някой друг да се включи, че аз имам опит основно с Opennebula а то май не е най-удачно за твоя случай), конфигурирай си първата виртуалка и я ползвай за готов имидж за следващите. Ако няма изискване всички процеси (виртуалки) да се случват едновременно, можеш да дадеш на всяка виртуалка много по-голям физически ресурс, с което хем уплътняваш на физическата машина свободните ресурси, хем процесите ще приключват за много по-малко време.
Няма да имаш обаче наличност на услугите (availability) каквато може би имаш в момента, тъй като ако тоя сървър има проблем, всичките ти виртуалки имат проблем. Не знам това до колко е от значение.

ПП. Имаш опция а 32 физически ядра с 64 нишки (в смисъла на thread, не на процес) за още 20 еврака на месец нагоре, пак от същия доставчик.
 
Тоест имаш 1 операция, която искаш да изпълняваш по едно и също време на 16 места отделно едно от друго. Без да съм специалист - не зависи ли пак какъв е хардуера? Смятал си параметри спрямо една машина, на друга може да са достатъчни по-ниски параметри?
 
Toва което ти каза Victor e добро и може да ползваш Proxmox вместо Oracle VM...

Може и някоя от по-малките AX оферти да подбереш... 16 нишковия 5700 ще ти излезе близо до цената на колoкацията дори и в евтин датацентър...
 
Здравей, стана ми интересно по темата. Всеки процес товари на 50% едно ядро ли? Да не смятате блокчейн ;) . Иначе https://docs.freebsd.org/en/books/handbook/jails/ това мисля, че може да Ви е полезно.

Пропуснал съм уиндоус частта, извинете!
 
Последно редактирано:
@hristonev той писа че има виртуализиран уиндоус... ще му трябва пълна виртуализация oracle vm, KVM, vmware...



@kanadeca
Нали знаеш, че видеокартата на сървърите е колкото да има нещо, на лаптопа ти е по-хубава...
 
Това с отделна виртуална машина за всяка инстанция на софтуера е най-неефективното решение. Но дава най-голяма независимост на всеки процес - ако с-мата блокира ще спре само една инстанция. Отделя се ресурс за всяка операционна с-ма.

Нищо не се казва въпросната програма какви с-ни изисквания има. С една операционна с-ма и независими инстанции - най-популярната технология се казва Docker. Също така ако една нишка е свободна ще може да се ползва от друга инстанция. Като цяло с Docker предполагам ще са необходими около 1/3 от сметнатият ресурс по-горе. Нещо като 6 CPU и 8GB RAM за 4 инстанции. Нищо не пречи ако е малко да се добави. Щом се справя лаптоп (който не е предвиден за 24*7 на 100%) дори предполагам, че и 6 CPU е ОК.
 
Не е блокчейн и не е свързано с копаене, видео карта не ми трябва.

Софтуерът е писан за мен, рови информация, която после синтезира и ми я изплюва готова за наливане в ексел.

Трябва да са независими една от друга инстанции, като в момента доста често се случва някой от впс-ите да забие и да иска рестарт. Поради тази причина се насочвам и към виртуалки, да не спират всички процеси, а само проблемните да ресетвам.

Това докер не съм запознат, но тук не може да се ползват различни нишки, всмисъл при незаети и достатъчно ресурс да отваря и затваря инстанции. Стартираш и забравяш за една седмица, уикенда си обработваш информацията, това е.

Ще тествам хецнер да видя докъде ще докарам.

Иначе според мен най-удачно ми се струва нещо като oracle vm, виртуализация, но да не се алокират конкретни ресурси, примерно 2 ядра и 4 рам, а да се ползва ресурса на цялата машина където е необходим. Реално софтуерът работи на 3-4 часови пикове, останалите 20 не изисква почти никакъв ресурс. Ако могат виртуалките да си препредават ресурси ще е бомба.

А нещо като хецнер на такива готини цени и машини, но в уса? Че пинга понякога има значение, не че е болка за умиране де.
 
При положение, че натоварването не е постоянно, а е на пикове, правил ли си сметка колко би струвало с облачните услуги? Ако си го направиш да скалира ресурсите спрямо необходимостта дали няма да ти излезе по-евтино от това да менажираш сървър 24/7?
 
В Hetzner AMD машинките са изключително евтини и с отличен перформънс. Използвам ги за всякакви проекти, които имат нужда от евтин compute.

Общо взето няма друга компания, която да предлага по-добра производителност като цена $ спрямо цикли. Нито в ЕС, нито в САЩ.

AX161 са просто брутални що се отнася compute. Аз най-често използвам AX101.

От това, което чета на теб ще ти свърши работа и AX41 или AX41-NVME (зависи какъв сторидж ти трябва).

От колокации няма смисъл - някой трябва да ги поддържа. Казвам го като човек с много опит.

В днешно време бих те посъветвал да проучиш и алтернатива за serverless в AWS, защото тогава изобщо не се занимаваш с хардуер и сървъри. Най-евтин вариант е Graviton (те са с ARM) и да вземеш compute-a предварително за 1,2,3г.

Screenshot 2023-04-07 at 20.16.22.png

Горните цени са без допълнителни намаления. С намаленията е още по-евтино. Като зависи от региона. Аз съм цитирал за Франкфурт.

Успех! :)
 

Горе