Jenkins: zwei Sklaven vs. ein Sklave zwei Ausführende

8

Gibt es einen Unterschied zwischen zwei Slaves oder einem Slave mit zwei Executoren auf demselben Windows-Server?

    
Jirong Hu 20.05.2016, 20:57
quelle

2 Antworten

6

Ja, es gibt einen Unterschied: Es geht um Speicherverbrauch und Wartungs- / Administrationsaufwand.

  • Das Starten eines Slaves auf einem System startet einen (Haupt-) Prozess. Dieser Prozess kostet (privaten) Hauptspeicher zu laufen und verbindet sich mit dem Master.
  • Jeder Executor ist ein Teilprozess des Hauptprozesses.

Es ist daher offensichtlich, dass die Ausführung von zwei Executoren an einem Slave insgesamt weniger Speicher kostet als die Ausführung von zwei Slaves (mit je einem Executor), da der Hauptspeicher zweimal verbraucht würde:

%Vor%

Außerdem ist die Verwaltung eines Slaves mehr Aufwand als nur ein Executor: Während ein Executor praktisch nichts zu befürchten hat, gibt es zahlreiche Dinge, die man für einen Slave konfigurieren kann. Außerdem sind die Fähigkeiten der beiden Slaves irgendwie gleich (sie laufen auf dem gleichen Betriebssystem wie du gesagt hast), also gibt es wenig Mehrwert, um es auch verschiedenen Labels zuzuweisen.

Kurz gesagt, wenn es keine anderen Randbedingungen gibt, die mich anders machen, würde ich immer zwei Executoren auf einem Slave laufen lassen, da dies einfacher zu verwalten ist und etwas Speicher gespart wird.

    
EagleRainbow 20.05.2016, 21:27
quelle
0

Ein Vorteil, der mir sofort in den Sinn kommt, einen Executor auf einem bestimmten Knoten auszuführen, ist die Vermeidung von Konflikten zwischen Prozessen, die gleichzeitig ausgeführt werden.

Andererseits könnten Sie Jobkonflikte mit vorhandenen Jenkins-Plugins verhindern, d. Schwerer Job, Build Blocker.

    
luka5z 22.05.2016 08:24
quelle

Tags und Links