Hallo lezers,
Momenteel ben ik bezig met het kijken naar de hardware voor mijn kleine zakelijke netwerk met de bijbehorende servers. Ik ontwikkel applicaties en wil graag de server software voor wat simpele programma's evenals proef server software draaien over mijn zakelijke lijn.
Ik weet wat voor effecten mijn code heeft op de hardware maar ken niet bepaald de grenzen / bottlenecks waar men tegen aan kan lopen. Hierdoor weet ik niet precies welke hardware meer geschikt is voor de software als de andere, bijvoorbeeld bij cpu's. Voor mij geldt, als het werkt dan werkt het, maar de vraag blijft eigenlijk dan wel, tot waar blijft het goed lopen?
Laten we het even simpel houden. Er is een programma geschreven die drie dingen kan:
- Request solve math.
- Receive math solution.
- Receive info.
Een server app wordt dan ontworpen door mijn als 1 process per core. Dus bij een quad core kun je 4 server apps draaien die zich zullen melden bij een main server app die dan clients zal verdelen over de draaiende servers.
Nu zullen er dan bijvoorbeeld 32 clients continue 'request solve math' versturen naar de server waarmee ze zijn verbonden. De server gaat meteen aan de slag of houdt de aanvraag even vast in het geheugen om er later mee verder te gaan. Mogelijk indien nodig worden alle clients voor de software verteld via receive info dat client x een 'request solve math' heeft ingedient. Dus continue een beetje sommetjes verwerken, tijdelijk in het geheugen zetten of de oplossing terugsturen, niks boeiends.
Aangezien deze test omgeving bij mij thuis zal draaien vind ik de performance per watt erg interessant. Het liefst zou ik zelfs heel zuinige hardware willen gebruiken. Zo vond ik vandaag een leuke combinatie en wil graag weten hoe zo een pc zich zou gedragen.
- Celeron J1900 quad core (tdp 10 watt).
- 8GB Crucial sodimm ddr3 lv.
- Crucial MX200 250GB SSD.
- Onboard realtek LAN.
Haha een Celeron?! Maak je een grapje? Waarom niet zou ik zeggen. Deze chip heeft 4 redelijk snelle kernen met een heerlijk laag verbruik. Heb ik een peperdure Xeon wel echt nodig voor mijn simpele rekensommetjes? Het belangrijkste verschil zou volgens the world wide web de cache zijn. De Celeron heeft veel minder cache en zal snelle neigen om naar het werkgeheugen te grijpen als een Xeon. Maar wanneer loop je tegen zo een probleem aan? Ik kan mij niet zo goed uit met CPU stalls door cache problemen dus zie daarom de verschillen niet tussen de Celeron en de Xeon (behalve de hogere waardes en prijs).
Wat gebeurd er bij zo een simpele realtek netwerk interface als je daar continue max 6MB/s aan rekensommetjes naar toe gaat spammen verdeeld over verschillende packets van verschillende clients?
Daarbij zit ik ook met de netwerk hardware. Ik heb recent een mooie D-Link 868L gekocht waar ik uit reviews kon opmaken dat deze vele verschillende verbindingen en veel verkeer goed moet kunnen handhaven. Deze lijkt mij dan zover mijn kennis wel geschikt voor een zakelijk netwerk. Als ik nu een zooi van deze el-cheapo servers in het netwerk wil hangen heb ik nog een leuke oude Edimax 24 poort rack mount switch (was destijds 80 euro) liggen. Opzich deed hij het altijd goed in een prive omgeving maar zal zo een ding ook geschikt zijn om dan een zooi van deze budget servers achter te hangen of zal deze dat niet trekken of wellicht andere problemen veroorzaken omdat het geen managed switch is?
Let wel op, het gaat hier voornamelijk om servers voor entertainment (zoals games) en wat proef projecten die mogelijk na voltooien op echte servers draaien ergens op andere locaties.
TLDR: waar kan ik me meer inlezen over bottlenecks die bij hardware kunnen ontstaan als je het zwaar wil gaan belasten?
Momenteel ben ik bezig met het kijken naar de hardware voor mijn kleine zakelijke netwerk met de bijbehorende servers. Ik ontwikkel applicaties en wil graag de server software voor wat simpele programma's evenals proef server software draaien over mijn zakelijke lijn.
Ik weet wat voor effecten mijn code heeft op de hardware maar ken niet bepaald de grenzen / bottlenecks waar men tegen aan kan lopen. Hierdoor weet ik niet precies welke hardware meer geschikt is voor de software als de andere, bijvoorbeeld bij cpu's. Voor mij geldt, als het werkt dan werkt het, maar de vraag blijft eigenlijk dan wel, tot waar blijft het goed lopen?
Laten we het even simpel houden. Er is een programma geschreven die drie dingen kan:
- Request solve math.
- Receive math solution.
- Receive info.
Een server app wordt dan ontworpen door mijn als 1 process per core. Dus bij een quad core kun je 4 server apps draaien die zich zullen melden bij een main server app die dan clients zal verdelen over de draaiende servers.
Nu zullen er dan bijvoorbeeld 32 clients continue 'request solve math' versturen naar de server waarmee ze zijn verbonden. De server gaat meteen aan de slag of houdt de aanvraag even vast in het geheugen om er later mee verder te gaan. Mogelijk indien nodig worden alle clients voor de software verteld via receive info dat client x een 'request solve math' heeft ingedient. Dus continue een beetje sommetjes verwerken, tijdelijk in het geheugen zetten of de oplossing terugsturen, niks boeiends.
Aangezien deze test omgeving bij mij thuis zal draaien vind ik de performance per watt erg interessant. Het liefst zou ik zelfs heel zuinige hardware willen gebruiken. Zo vond ik vandaag een leuke combinatie en wil graag weten hoe zo een pc zich zou gedragen.
- Celeron J1900 quad core (tdp 10 watt).
- 8GB Crucial sodimm ddr3 lv.
- Crucial MX200 250GB SSD.
- Onboard realtek LAN.
Haha een Celeron?! Maak je een grapje? Waarom niet zou ik zeggen. Deze chip heeft 4 redelijk snelle kernen met een heerlijk laag verbruik. Heb ik een peperdure Xeon wel echt nodig voor mijn simpele rekensommetjes? Het belangrijkste verschil zou volgens the world wide web de cache zijn. De Celeron heeft veel minder cache en zal snelle neigen om naar het werkgeheugen te grijpen als een Xeon. Maar wanneer loop je tegen zo een probleem aan? Ik kan mij niet zo goed uit met CPU stalls door cache problemen dus zie daarom de verschillen niet tussen de Celeron en de Xeon (behalve de hogere waardes en prijs).
Wat gebeurd er bij zo een simpele realtek netwerk interface als je daar continue max 6MB/s aan rekensommetjes naar toe gaat spammen verdeeld over verschillende packets van verschillende clients?
Daarbij zit ik ook met de netwerk hardware. Ik heb recent een mooie D-Link 868L gekocht waar ik uit reviews kon opmaken dat deze vele verschillende verbindingen en veel verkeer goed moet kunnen handhaven. Deze lijkt mij dan zover mijn kennis wel geschikt voor een zakelijk netwerk. Als ik nu een zooi van deze el-cheapo servers in het netwerk wil hangen heb ik nog een leuke oude Edimax 24 poort rack mount switch (was destijds 80 euro) liggen. Opzich deed hij het altijd goed in een prive omgeving maar zal zo een ding ook geschikt zijn om dan een zooi van deze budget servers achter te hangen of zal deze dat niet trekken of wellicht andere problemen veroorzaken omdat het geen managed switch is?
Let wel op, het gaat hier voornamelijk om servers voor entertainment (zoals games) en wat proef projecten die mogelijk na voltooien op echte servers draaien ergens op andere locaties.
TLDR: waar kan ik me meer inlezen over bottlenecks die bij hardware kunnen ontstaan als je het zwaar wil gaan belasten?
[ Voor 5% gewijzigd door Sir_Hendro op 15-07-2015 13:36 ]
GTA VI - All aboard the hype train!!