Stellt SSH-Verbindungen zu einem Host in die Warteschlange


1

Ich habe ein Skript, das mehrere Befehle auf meiner ARM-Karte ausführt. Es werden viele Skriptinstanzen gleichzeitig gestartet, bis zu 15-20 gleichzeitig. Dies führt zu 1) großen Verzögerungen, da die Hardware ziemlich langsam ist. 2) SSH-Verbindungen werden aufgrund von MaxSessionsund / oder MaxStartupsEinschränkungen unterbrochen.

Ist es möglich, die ssh-Verbindungen ARM in eine Warteschlange zu stellen, sodass sie alle eine einzelne Verbindung verwenden (wie im Multiplexing-Szenario), aber eine Skriptinstanz wartet darauf, dass eine andere beendet wird, bevor sie mit der Ausführung ihrer Befehle beginnt?

Ich möchte die sshd-Konfiguration auf ARM aus mehreren Gründen nicht bearbeiten, dies ist die Haupteinschränkung und die Ursache der Frage.


Zur Zeit stelle ich nicht die Verbindungen in die Warteschlange, sondern die Skriptausführung selbst über exec 3<> /tmp/arm-test-${arm_ip}; flock 3. Es ist jedoch der Ansicht, dass es einen besseren Weg geben sollte.
Artalus

2
Skripte führen jedoch im Allgemeinen alle Befehle in Reihe aus. Wenn Ihre parallel ausgeführt werden, sind Sie sicher, dass dies nicht der Fall ist, weil Ihr Skript sie absichtlich parallelisiert, und Sie sollten dies entfernen , anstatt zu versuchen, etwas mehr hinzuzufügen?
Grawity

@grawity Ich stimme zu. Bei den fraglichen Skripten handelt es sich jedoch um Unit-Test-Läufer, die während des Multithread-C ++ - Erstellungsprozesses gestartet werden. Theoretisch könnte ich mein Build-System wahrscheinlich dazu bringen, sie in die Warteschlange zu stellen, aber von hier aus scheint es eher so zu sein, dass "Host X langsam ist, Verbindungen sollten in die Warteschlange gestellt werden" anstatt "Komponententests sollten nicht parallel ausgeführt werden". Ich könnte mich jedoch irren.
Artalus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.