2016-03-31 2 views
0

Ich entwickle ein Perl-Skript, um DNSSEC-Schlüssel für mehrere tausend Domänen zu generieren. Da die Schlüsselerzeugung ein wenig langsam ist, dauert es so lange, bis die Anzahl der zu erzeugenden Schlüssel auf 10000 liegt. Als Workaround versuchte ich, Perl-Threads zu verwenden, um neue Threads zu erstellen und die Arbeit zu verteilen. (Das Skript muss auf einem cPanel-Server ausgeführt werden.) Wie sich herausstellt, unterstützt cPanel perl keine Threads. Ich kann das Perl im Server nicht neu kompilieren, da es ein Produktionsserver ist und viele Dinge brechen würden.Problemumgehung für Perl-Threading auf einem cPanel-Server

Was sind meine Optionen? Grundsätzlich möchte ich die Last auf mehrere Kerne verteilen und die Gesamtzeit reduzieren, die für das Skript benötigt wird. Ist das eine Option ?, wenn ja, wie würde ich es benutzen?

+0

Forking ist in Ordnung, wenn Sie mit dem Generieren von Dateien für jeden Schlüssel in Ordnung sind - ich habe keine Ahnung, ob Sie alles an einem zentralen Ort benötigen oder nicht. – weismat

+0

Das ist der Fall: Ich habe 10000 Domains im Server. Ich muss DNSSEC Schlüssel (ZSK und KSK) für jedes von ihnen erzeugen und jede Domäne mit dem passenden Schlüssel unterzeichnen. Das aktuelle Setup, das ich habe, ist ein single-threaded-Skript, das es eins nach dem anderen tun wird. Ich brauche einen Weg, um es zu beschleunigen. :) – Root

+0

Parallel :: ForkManager. Es kann sogar Werte zurück an das übergeordnete Element zurückgeben. – ikegami

Antwort

0

Überprüfen Sie diese tutorial als ein gutes Beispiel für Forking.
Möglicherweise müssen Sie die benötigte Zeit pro Domäne ein wenig abschätzen, um die richtige Anzahl an untergeordneten Prozessen zu generieren, ohne den Computer zu überlasten.

Verwandte Themen