Budowa serwera pod linuxa

Odpowiedz Nowy wątek
2019-06-12 20:26
0

Witam
Przed wszystkim chcę wszystkich powitać, ponieważ jestem tu nowym użytkownikiem :)
Pół roku temu rozpocząłem przygodę z programowaniem w Java i napisałem już kilka aplikacji. Obecnie pracuję nad projektem, który na celu ma gromadzenie danych różnych użytkowników. Obecnie moje programy pracują na serverze Qnap ts-251, który wcześniej służył do celów osobistych a teraz już nie koniecznie. Chciałbym samemu złożyć nowy serwer który będzie go zastępować i stąd moja proźba o kilka porad.
Chciałbym się was poradzić w kwestiach co jest ważne a co mniej przy ściśle określonym przeznaczeniu urządzenia.

Wymagania:

  • praca TYLKO na linux
  • będą na nim działały programy napisane w Java, które mają przechowywać dane
  • gniazdo ethernetowe
  • możliwość podłączenia myszki, klawiatury i hdmi
  • i tutaj pytanie. Które (procesor, ram, karta graficzna, dysk) są najbardziej istotne w przypadku pakowania plików do zip. Obecnie na qnap ilość ok 1000plikow rozsypanych po folderach przy rozmiarze ok 5kB zajmuje ok 20sek. To bardzo długo.

Być może wątek jest prosty ale do niedawna myślałem że w przypadku programów nie wykorzystujących grafiki najważniejszy jest ram i procesor a ku mojemu zdziwieniu, koparki bitcoin wykorzystują grafikę :)
Dlatego czy jako server danych wystarczy konkretny procesor i ram?

Pozdrawiam i liczę na pomoc.

Pozostało 580 znaków

2019-06-12 20:59
1

No to po kolei:
1) tak naprawdę serwer jest "zwykłym komputerem", a samo słowo serwer raczej informuje o jego przeznaczeniu. Owszem, są dedykowane kompy stricte serwerowe (jakieś arm/risc/sparc itp.), ale w większości przypadków "serwery" są kompatybilne z PC, czyli np. możesz sobie na takim serwerze postawić Windows XP i grać w biurze w pasjansa ;)
2) rozwijając pkt.1 - skoro serwer jest komputerem zbliżonym do PC, to równie dobrze za serwer może Ci robić właśnie zwykły komputer
3) co do karty graficznej - owszem, koparki z nich korzystają, ale zasadniczo to raczej rzadkie zjawisko. A co ważniejsze (może się to za pewien czas zmieni), póki co z tego co wiem, system sam w sobie nie umie przerzucić obliczeń na grafikę, to aplikacja musi tego chcieć i umieć z tego skorzystać. Do poczytania - https://pl.wikipedia.org/wiki/CUDA oraz https://pl.wikipedia.org/wiki/GPGPU. W każdym razie - na 99% wypasiona grafika w Twoim przypadku niczego nie poprawi, a jedynie będzie pożerać więcej prądu i bardziej szumieć wiatraczkiem ;)
4) jeśli zależy Ci na prędkości działania, to po pierwsze - więcej szybszych rdzeni, albo idąc w ogóle w kierunku rozwiązań stricte serwerowych - coś wieloprocesorowego. Do tego dużo RAM i szybkie dyski, najlepiej SSD do tego spięte w RAID. Jeśli masz możliwość, to skorzystaj z kontrolerów sprzętowych, zamiast bawić sie w soft-RAID z poziomu systemu. Opcja sprzętowa jest znacznie wydajniejsza


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 4x, ostatnio: cerrato, 2019-06-12 21:49
Zamiast CUDA warto podlinkować ogólnie GPGPU :-) - Patryk27 2019-06-12 21:39
poprawione proszę Pana ;) - cerrato 2019-06-12 21:49

Pozostało 580 znaków

2019-06-13 11:55
0

Dzięki za odpowiedź.
Dam znać co wybiorę i może coś znajdziecie co będzie do zmiany

Pozostało 580 znaków

2019-06-13 12:00
0

Odnośnie wyboru - pytanie brzmi: jaki masz budżet, zarówno na sam sprzęt, jak i później na rachunki za prąd :P


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 1x, ostatnio: cerrato, 2019-06-13 12:00

Pozostało 580 znaków

2019-06-13 12:20
0

Jak chcesz mieć szybkie I/O tanim kosztem to zrób RAIDa 0.
Zamień HDD na SSD i będzie jeszcze szybciej (i drożej).
Zamień SATA na PCIe i będzie jeszcze szybciej (i drożej).
RAM daj 8 GB plus to co Twoja aplikacja wymaga.
CPU to zależy - jeśli to aplikacja która ma głównie przesyłać pliki to wystarczy i5.
Jeśli ma jeszcze coś liczyć (np. kompresować) to zależy czy wielowątkowo czy nie.
Jeśli wielowątkowo to im więcej rdzeni tym lepiej.


Szacuje się, że w Polsce brakuje 50 tys. programistów

Pozostało 580 znaków

2019-06-13 12:27
2

Ło Panie, RAID 0 to na jakieś śmieszne zdjęcia kotów można przeznaczyć, ale nie do trzymania niczego, co ma jakąkolwiek wartość. Jeden dysk padnie i wszystko idzie się kochać... Moim zdaniem RAID 5 albo 6. Niektórzy stosują wynalazki w stylu RAID 10, ale IMHO to jest zbytnie komplikowanie sobie życia - w końcu jakby nie patrzeć masz nie jedną, ale kilka matryc ze sobą spiętych, a biorąc pod uwagę wydajność oraz "marnowanie" miejsca na redundancję, wcale to lepiej nie wypada.


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 1x, ostatnio: cerrato, 2019-06-13 12:29
Serwer RAID 0 niekoniecznie służy do trzymania backupów. Zwykły dysk jak Ci padnie to też nic nie uratujesz. - vpiotr 2019-06-13 12:37
Oczywiście, ale po pierwsze mając X dysków spiętych w macierz, masz X razy większe prawdopodobieństwo awarii, a po drugie - jak już robi, to niech zrobi porządnie. - cerrato 2019-06-13 12:41
RAID 10 do must have w dużych serwerowniach. Domowy NAS to RAID5/6 lub RAID-Z i da radę w 100%. - hauleth 2019-06-13 13:23

Pozostało 580 znaków

2019-06-13 13:42
0

Najprościej 1 użytkownik = 1 wątek.

Ruch nie jest jakiś mega wielki więc skupię się na obsłudze jednego wątku. Jeśli chodzi to chcę się wyrobić w całości do 10 000 chociaż z tego co mi się wydaję to z logicznego punktu widzenia na pewno tyle nie wyjdzie bo jednak najdroższym elementem wydawać by się mógł procesor a tu JEŚLI SIĘ MYLĘ POPRAWCIE MNIE ograniczamy się do max 2 rdzeni, ze względu na 1 wątek i małej ilości użytkowników. Chodzi głównie aby maxymalnie przyspieszyć obsługę jednego użytkownika.

Rozpocząłem poszukiwania od wyboru procesora i najmocniejsze znalazłem to: Intel Core i3 7350K.
Z kolei kolega który składa komputery ale nie pod kątem takim jaki ja wymagam i dlatego nie podjął się tematu poleca: AMD Ryzen Threadripper 2920X.

Nie patrzcie proszę na cenę tylko na wydajność. Skoro mój program nie potrzebuje większej ilości wątków to jest sens iść w coś wielordzeniowego? Co myślicie o tym Core i3 ...?

Pozostało 580 znaków

2019-06-13 13:44
1

Czegoś nie rozumiem - najmocniejsze, co znalazłeś to i3, więc wyjaśnij proszę, w jaki sposób szukałeś.


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say

Pozostało 580 znaków

2019-06-13 13:44
0

ograniczyłem wyszukiwanie do 2 rdzeni.
Nie idziemy w ilość wątków, a w szybkość obsługi jednego

edytowany 1x, ostatnio: Szymekbe, 2019-06-13 13:46

Pozostało 580 znaków

2019-06-13 14:00
2

Jeśli pasuje Ci i3 to może kup sobie po prostu Raspberry Pi. Zestaw będzie kosztował maks 400 zł.
Obecnie mamy czasy gdy średni telefon ma 8 rdzeni, więc nie wiem co byś chciał na tym serwerze robić.
Najszybciej jednowątkowo będzie na Intelu (i7/i9).


Szacuje się, że w Polsce brakuje 50 tys. programistów

Pozostało 580 znaków

2019-06-13 17:24
1
Szymekbe napisał(a):

Nie patrzcie proszę na cenę tylko na wydajność. Skoro mój program nie potrzebuje większej ilości wątków to jest sens iść w coś wielordzeniowego? Co myślicie o tym Core i3 ...?

Myślę, że powinieneś spojrzeć także z perspektywy rozwoju. Może kiedyś będzie potrzeba czegoś pokroju i5 czy i7?


Zwłaszcza, że różnica w cenie nie jest wcale jakaś kosmiczna - cerrato 2019-06-13 20:10

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0