PDA

Bekijk Volledige Versie : Hypertreading



Xerious
10/01/05, 17:40
Ik zat me af te vragen, door HyperThreading ziet een server die daar gebruik van maakt eruit als 2, 4 etc processors terwijl er maar 1, 2 etc fysieke processors inzitten. Mag je dan ook een hogere serverload accepteren?
Bijvoorbeeld:
Dual Xeon 2.8 ghz HT
Fysiek: 2 processors
Softwarematig: 4 processors

Mag je dan ook een serverload van 4 accepteren? Sowieso is bij een load van 8 nog niet verschrikkelijk veel te merken bij het surfen, alleen gamen of downloaden.

PeterT
10/01/05, 17:48
Wij accepteren geen load boven de 1..

CombatServers
10/01/05, 17:54
Dat klopt Voor website's maakt het weinig uit of de load 1.00 is of 3.00.
Bij games legt dit heel anders,
zodra de load boven de 1.00 komt is het lagg en feest op de servers, ook met HT's of dual xeons.

royen99
10/01/05, 17:57
Origineel geplaatst door PeterT
Wij accepteren geen load boven de 1..

Wat is dit voor onzin ?

De load van de machine HOEFT geen invloed te hebben op het CPU gebruik. Een load van 4 op een quad cpu is identiek als een load van 1 op een single cpu.

CPU usage hoeft niet gerelateerd te zijn aan de load van een machine.

De load van een machine wordt met exact 1 verhoogg als er 1 process is in de running state die continue op de cpu loopt te wachten. Dit hoeft dus niet te betekenen dat dat process ook daadwerkelijk cpu gebruikt.

edit: Ik heb loads van 300+ gezien op servers die vrolijk hun werk deden. (ok een load van 300 is *op zich* niet goed).

mihosnet
10/01/05, 17:58
@CombatServers: Bij websites maakt het wel degelijk uit. Het ligt er natuurlijk wel aan of het HTML sites betreft of PHP/MySQL.

MediaServe
10/01/05, 18:04
Kan iemand mij uitleggen hoe dat nou eigenlijk zit met de 'load' van linux bakken?

Ik ken van Windows alleen Idle (= 0%) en Stressed (= 100%) en alles daar tussen in :)

CombatServers
10/01/05, 18:06
Ja ok maar dan maakt de serverload weinig uit.
voor games is het einde oefening en je hebt choke van 20a30% en hoge pings van rond de 200ms

PeterT
10/01/05, 18:11
Origineel geplaatst door royen99


Wat is dit voor onzin ?

De load van de machine HOEFT geen invloed te hebben op het CPU gebruik. Een load van 4 op een quad cpu is identiek als een load van 1 op een single cpu.

CPU usage hoeft niet gerelateerd te zijn aan de load van een machine.

De load van een machine wordt met exact 1 verhoogg als er 1 process is in de running state die continue op de cpu loopt te wachten. Dit hoeft dus niet te betekenen dat dat process ook daadwerkelijk cpu gebruikt.

edit: Ik heb loads van 300+ gezien op servers die vrolijk hun werk deden. (ok een load van 300 is *op zich* niet goed).

Dat is een keuze die wij bewust hebben gemaakt.
Wij willen namelijk onze klanten hoge kwaliteit bieden. Zodra de load permanent boven de 1 is, is dat niet altijd meer te garanderen.

Kijk eens op deze pagina voor (wat) meer info:

http://www.webhostgear.com/65_print.html

CombatServers
10/01/05, 18:12
Origineel geplaatst door PeterT


Dat is een keuze die wij bewust hebben gemaakt.
Wij willen namelijk onze klanten hoge kwaliteit bieden. Zodra de load permanent boven de 1 is, is dat niet altijd meer te garanderen.

Kijk eens op deze pagina voor (wat) meer info:

http://www.webhostgear.com/65_print.html

Daar ben ik het ook mee eens als de load boven de 1.00 komt is de snelheid niet meer tegaranderen.

Cybafish
10/01/05, 18:13
De load van een server is een bepaalde waarde die aangeeft hoe groot de wachttijd voor nieuwe threads zal zijn. Hoewel het variƫert per systeem is een load tot 1.5 op een gemiddeld systeem (P4 3GHz, Athlon XP 3000+) optimaal. (in hosting omgeving)

Nogmaals; op een Dual Xeon heb ik loads van 6 gemaakt waarbij er geen enkel merkbaar verschil in performance was, dus het is vooral een getal waar je pas wanneer je ervaring hebt met een bepaald systeem conclusies uit kunt trekken.

Xerious
10/01/05, 18:19
jij adviseert dus een beetje rotzooien om te kijken tot hoeveel de load onmerkbaar blijft?
Maar maakt HyperThreading nu echt veel uit in de serverload, want 2 processors klinkt leuk maar hij lijkt me sterk dat hij ook 2 processen tegelijk kan doen!

royen99
10/01/05, 18:20
Origineel geplaatst door CombatServers


Daar ben ik het ook mee eens als de load boven de 1.00 komt is de snelheid niet meer tegaranderen.

Dit is puur afhankelijk van de functie van de machine, en welke processen de load verookzaken.

Voor een pure gameserver zal dit verhaal opgaan. Voor andere servers is het nog maar de twijfel.

CombatServers
10/01/05, 18:29
Origineel geplaatst door royen99


Dit is puur afhankelijk van de functie van de machine, en welke processen de load verookzaken.

Voor een pure gameserver zal dit verhaal opgaan. Voor andere servers is het nog maar de twijfel.

Ja voor Gameservers voor website kan load 2.00 zijn en nog snel zijn.

yourforum
10/01/05, 18:33
http://www.crucialparadigm.com/resources/tutorials/server-administration/server-loads-explained-linux-unix.php

Ik denk persoonlijk niet dat als een server perfect draait met een load van 3 er rede is tot paniek. Mochten er problemen optreden, basta. Maar tot die tijd lijkt het me niet zo'n probleem (voor simpele webhosting).

Op dit moment houden we de load rond een gemiddelde van 1.0-1.5 om stabiliteit optimaal te houden


When your regular average starts to creep up around 2.0 then your server is very busy and you should consider getting another machine or upgrading your hardware. When I say regular average, I mean when the system is idle during the day and isn't processing all your logs or backing up data.

En bijvoorbeeld tijdens backups hebben we zo nu en dan wel eens pieken van 4-5.

royen99
10/01/05, 18:47
Een server (ongeacht de functie) met zombie processen kan met een load van 'hoog' nog perfect werken.

Iedereen schijnt de load van een server te associeren met cpu usage. Dit is dus verkeerd. (m.a.w. een server met een load van (bv) 10 kan best 1% cpu usage hebben). Het ligt er maar net aan welke processen de load veroorzaken.

Thafusion
10/01/05, 21:51
Hoeveel % sneller is zo'n cpu met htt nou precies ?
Ik draai nu een p4 2,4 ghz en die heeft een load van rond de 2 en draait nu echt net aan z'n top. Wat zou een p2,8 met htt dan uitmaken ?

WouterSp
10/01/05, 22:21
Ik draai nu een p2 2,4 ghz...

Ik wist niet dat Intel een Pentium 2 op 2,4GHz heeft uitgebracht ;)
Of ben je extreem aan te overclocken geweest? LOL :D

Thafusion
10/01/05, 22:25
Kleine typ fout maar me vraag blijft hetzelfde na de verbetering.

MikeN
10/01/05, 22:27
Ik heb er hier al wat over gezegd: http://www.webhostingtalk.nl/showthread.php?s=&threadid=62643

Overigens gaat het verhaal van loads lang niet altijd op, ook niet voor gameservers. Afhankelijk van de kernel versie en nog wat meer factoren kan de load nogal fluctueren. De load kan bv. bij gameservers relatief hoog worden terwijl er maar 10% CPU usage is wanneer je serverfps hoog staat en je een 2.6 kernel of een 2.4 kernel met een hogere HZ draait. Ook kan de load verhoogd worden doordat er bijvoorbeeld veel netwerkverkeer is, terwijl dit weer los staat van CPU. Ga dus niet altijd uit van load, maar kijk ook naar losse factoren zoals CPU, disk, mem en network usage. Met HT moet je w.b. CPU load gewoon niet hoger dan 50% per logische processor gaan.

Thafusion
10/01/05, 22:32
Het is een drukke site die 24/7 ongeveer evenveel request krijgt met mysql. Ik zat te denken aan een sql server maar een cpu upgrade lijkt me momenteel goedkoper als het iets uitmaakt.

royen99
11/01/05, 08:45
Voorbeeldje van een SQL server (in dit geval oracle overigens)..



08:42:23 up 39 days, 22:20, 9 users, load average: 4.40, 5.26, 5.53
109 processes: 108 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 0.0% 0.0% 3.3% 0.0% 0.0% 64.1% 32.5%
cpu00 0.0% 0.0% 3.0% 0.0% 0.0% 76.4% 20.6%
cpu01 0.0% 0.0% 5.0% 0.0% 0.0% 51.2% 43.8%
cpu02 0.0% 0.0% 2.4% 0.0% 0.0% 83.8% 13.8%
cpu03 0.0% 0.0% 3.0% 0.0% 0.0% 45.2% 51.8%
Mem: 7643548k av, 7633948k used, 9600k free, 0k shrd, 460996k buff
5167916k actv, 1044848k in_d, 135212k in_c
Swap: 2048248k av, 1144k used, 2047104k free 6631144k cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
26139 root 16 0 2916 2916 1504 S 1.2 0.0 479:35 1 magicdev
2505 oracle 15 0 322M 321M 319M D 0.7 4.3 23:33 3 oracle
2509 oracle 15 0 323M 323M 320M D 0.5 4.3 23:45 1 oracle
2507 oracle 15 0 322M 321M 319M D 0.3 4.3 23:44 2 oracle
26145 root 25 10 9804 9688 2352 S N 0.2 0.1 263:26 0 rhn-applet-gui
2503 oracle 15 0 323M 322M 320M D 0.2 4.3 23:48 2 oracle
1 root 15 0 308 308 240 S 0.0 0.0 5:42 3 init
2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0
3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1
4 root RT 0 0 0 0 SW 0.0 0.0 0:00 2 migration/2
5 root RT 0 0 0 0 SW 0.0 0.0 0:00 3 migration/3
6 root 15 0 0 0 0 SW 0.0 0.0 0:54 0 keventd
7 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0
8 root 34 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1
9 root 34 19 0 0 0 SWN 0.0 0.0 0:00 2 ksoftirqd/2
10 root 34 19 0 0 0 SWN 0.0 0.0 0:00 3 ksoftirqd/3



(systeem is een Quad Opteron 848, 8gb ram)
Zoals je ziet is er qua pure CPU usage hier niets aan de hand. Echter wel een redelijk load.
Deze wordt puur veroorzaakt door de disken. Er waren op dat moment dusdanig wel lees/schrijf acties dat de disken hier de bottleneck zijn (al zijn het 15k scsi's in raid). De load wordt dus veroorzaakt door runnable processen die echter door de status iowait (wachten op I/O) geen cpu tijd kregen toebedeeld.

Voor dit systeem is het (om deze tijd) normaal voor +/- 4 uurtjes. De andere 19 uur van de dag is het systeem vrij rustig.

neographikal
13/01/05, 11:11
Royen, ik heb hier dus echt maar 1 woord voor:

Geil

:D Damn wat een mooie bak.

FransVanNispen
15/02/05, 11:05
Origineel geplaatst door Thafusion
Hoeveel % sneller is zo'n cpu met htt nou precies ?
Nauwelijks sneller.

Als je naar de technische implementatie kijkt van HTT zul je al snel zien dat het er wel uit ziet als 2 CPU's, maar het alles behalve dat is.

HTT dupliceert de registers (normaal, MMX, SSE..) en de interupt afhandeling, maar er is maar 1 execution unit. Het is leuk om een Windows systeem wat beter responsive te houden, voor *nix systemen zal het weinig uitmaken.

Anders zou het moeten zijn met de AMD Opteron64 die een dual core heeft, maar dit heb ik helaas nog niet kunnen testen.