NEWS
Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?
-
Hallo Allerseits,
ich hatte das bereits als Frage in einem anderen Thema aufgeworfen und stelle das nun auf Anregung eines anderen Users mal als eigenen Beitrag ein.Ich hatte iob unter Windows 11 pro in einer Virtualbox VM Ubuntu 22.04 mit Desktop (zugewiesen, 8 logische Proz.essoren und 12GB RAM) auf einem Nuc10i5 mit 64GB RAM und 2TB NVEM SSD inkl. Grafana und InfluxDB1. Aus Freude am Experimentieren und weil das System ja so schön ohne Probleme lief, habe ich umgesattelt auf Hyper-V. Ich wollte mal wieder mein "Halbwissen" erweitern.
Interessanterweise läuft das unter Hyper-V spürbar schneller. Jedoch stieg die CPU Last und die Leistungsaufnahme im Mittel von 15W auf 35W an, Lüfter öfter an usw. Nun habe ich kurzerhand einen NUC10i7 genommen, SSD und RAM umgestöpselt vom i5 und lass das darauf laufen....Leistungsaufnahme wieder ´runter auf 15W im Durchschnitt. Geschwindigkeit TOP.Womit macht man den IOBROKER denn mehr glücklich ? Mehr Prozessorkerne? Mehr an Taktzahl der Kerne? Welche Faktoren sind entscheidend?
-
@rumpeltec sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
Womit macht man den IOBROKER denn mehr glücklich ?
Das kommt auch darauf an was Dein iob so alles "an Bord" hat: Anzahl Instanzen, was ist auf der "Maschine" zusätzlich zum iob noch installiert, hast Du Skripte am Start (JavaScriptAdapter - wenn ja sind die auch "gut" geschrieben) and so whider
Aber prinzipiell kann auch ich nur sagen: RAM ! und mal so am Rande: je mehr Kerne desto besser latürnich
-
@djmarc75
RAM Auslastung liegt bei 4488MB permanent, da ist in der VM noch Luft.
Skripte sind mittlerweile auch recht viele vorhanden. Ob Sie gut geschrieben sind? Kann ich nicht beurteilen, ich benutze fast nur Blockly und mach die so, dass ich sie verstehe
Ich war halt so überrascht, dass der i7 gegenüber dem i5 (beide TDP 25W) stromsparender läuft.Btw. im Terminal zeigte TOP die höchste CPU Last immer für den js-controller und an zweiter Stelle den Javascript.io.
Auf jeden Fall kann ich allen, die Windows gern nutzen möchten und den PC noch für andere Aufgaben benötigen Hyper-V mit Linux VM sehr empfehlen.
-
@rumpeltec ein i5 braucht natürlich mehr Strom als ein i7 mit gleicher "Last" da er ja auch mehr zum arbeiten hat ...
ein 50 PS Auto braucht ja auch mehr Sprit als ein 200 PS Auto wenn beide die selbe "Anhängelast" ziehen müssen@rumpeltec sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
die höchste CPU Last immer für den js-controller und an zweiter Stelle den Javascript.io
dito, aber ich glaub nicht dass dir die "load averages" um die Ohren fliegen...
oder besser:
zeig mal die Averages bitte -
@djmarc75 sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
ein i5 braucht natürlich mehr Strom als ein i7 mit gleicher "Last" da er ja auch mehr zum arbeiten hat ...
nein!
das kann man icht verallgemeinern. -
@homoran sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
das kann man icht verallgemeinern
Na dann erklär mal warum nicht - mit mehr als einem NEIN
-
@djmarc75 sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
@homoran sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
das kann man icht verallgemeinern
Na dann erklär mal warum nicht - mit mehr als einem NEIN
ehrlich?
ich werde jetzt keine wissenschaftliche Arbeit über diverse CPU Eigenschaften machen!
aber "i5" oder "i7" sagt gar ichts aus.
es gibt sogar einige i5, die leisungsmäßig deutlich über etlichen i7 liegen.
Vom single Thread Rating ganz abgesehen.es gibt U-Versionen für Notebooks oder NUCs, die Ultrasparsam sind un K-Versionen, die das letzte rausholen.
Wenn du mehr wissen willst sieh dir z.B. mal die Listen mit hunderten Prozessoren bei Passmark an,
Zu jedem Prozessor gibt es da die Eckdaten.
TDP und Benchmark sind selbstverständlich dabei, aber auch single Thread rating und Gesant rating.Was nutzt dir eine CPU mit 36 Kernen, wenn dein Programm kein multithreading unterstützt.
Da nimst du besser einen i5 mit Dual Core, der schafft dann ein vielfaches -
Also die Anzahl Kerne sind bei iobroker relativ irrelevant, da sich der Prozessor meistens langweilt, sofern man nix mit Grafik macht oder höchstkomplexe Berechnungen durchführt.
Auch bei der Anzahl der Skripte helfen mehr Kerne nicht, da bspw ein javascript-Adapter in genau einem Prozess läuft und ein Prozess immer an einen Kern gebunden ist, da javascript im Kern single threaded ist.
Man könnte die skripte auf mehrere javascript-Adapter aufteilen um die Arbeit etwas zu verteilen. Aber wenn man Skripte hat, die nur auf Änderung von Datenpunkten wartet, dann lohnt sich das meist nicht.
Jeder andere Adapter wird ebenfalls in einem separaten Prozess gestartet. Das Betriebssystem sorgt dann für die Verteilung auf die Kerne/Threads.Wenn, dann muss man alles zusammen sehen, was man noch mit dem NUC machen möchte. Nur für den iobroker würde ich einen i5/i7 schon als überdimensioniert sehen, da ich hier mit einem ehe kleineren NUC mit Celeron-Prozessor auch schon ziemlich zufrieden bin (da laufen ca 20 docker-Container), hab 16GB RAM (50% genutzt) und bei top der wert us(er) +sy(stem) bewegt sich so zwischen 15% und 25%.
Also viel Platz nach obenAber wie oben schon erwähnt ist RAM sehr wichtig.
Selbst bei einem rapsberry ist eher das RAM zu Ende gegangen, als die Prozessorleistung. -
@oliverio vielen Dank für deine Erläuterung. Genau das war es, was ich wissen wollte.
Ich habe das mit dem Verteilen von Skripten auf mehrere Adapter ausprobiert. Hat nicht wirklich was gebracht.Natürlich weiß ich, dass mein NUC für IOB überdimensioniert ist, aber in der Windows-Umgebung läuft auch noch ein Plex Server. Das praktische mit IOB in der VM ist ja der Sicherungsprozess und wenn benötigt, eine schnelle Recovery.
Und ich benutze den NUC per RDP noch für Adobe lightroom, Premiere usw. Ist bei mir so eine eierlegende Wollmilchsau.
Und für die ganz harten Sachen wird dann auch mal eine "richtige Maschine" hochgefahren -
@rumpeltec
deswegen sage ich ja man muss alles zusammen betrachten.für effizienz kannst du mal docker anschauen, das finde ich persönlich besser wie vm.
da sind die sicherungen dann genau auf die notwendigen daten begrenzt und nicht gleich das ganze image -
@oliverio
Baut Docker auf einem Windows System nicht letztendlich wieder auf Hyper-V auf?
Mit Docker hatte ich mich vor längerer Zeit mal kurz beschäftigt.
Da hatte ich als zentrale Lösung zuhause noch meinen QNAP genutzt. Irgendwie konnte ich mich mit Docker nicht anfreunden und habe dann die Virtualization Station und LinuxVMs für Iobroker, Influx und Grafana genommen, sowie Windows Systeme zum Arbeiten. Aber gut 800 kWh Jahresverbrauch haben mich dann doch zum NUC getrieben. Der braucht trotz der doch recht leistungsfähigen Ausstattung nur 75 kWh im Jahr.
Bei uns in der Firma betreibe ich 4 Windows Server VMs auf einem QNAP seit vielen Jahren erfolgreich. Bis auf einen Totalausfall wegen defekten Mainboard gabs bisher keine Probleme. -
@rumpeltec sagte in Hardware für IOBROKER - Prozessortakt oder Anzahl Kerne?:
Baut Docker auf einem Windows System nicht letztendlich wieder auf Hyper-V auf?
Docker unter Windows setzt WSL voraus.
Und WSL 2 wiederum setzt auf Hyper-V auf. -
@codierknecht
Ich übersetze das mal für den Laien.
Auf einem Windows System setze ich per Windows Subsystem für Linux eine Linux VM auf, in der dann anschließend die Docker Container laufen.
Dann halte ich die direkte Virtualisierung mit Hyper-V doch für effizienter und performanter. -
@rumpeltec
Ja - Docker unter Windows ist ein bisschen "von hinten durch die Brust ins Auge" -
@rumpeltec
Ja ich spreche von docker unter linux.
Ich weiß nicht ob docker unter Windows so optimal läuft wie unter linux.
Microsoft hat Daniel rumgewrustelt