2017-07-25 2 views
1

Ich habe eine Datei mit 1 000 000 Domain-Namen und ich starte derzeit das Skript testssl.sh (http://testssl.sh) auf jeder Domain der Liste (d. H. Jede Zeile der Datei). Ich verwende GNU parallel, um die Leistung zu verbessern. Hier ist, wie ich starten testssl.sh mit GNU parallel:Warum wird GNU-Parallele immer weniger effektiv?

cat listDomainNames.txt | parallel --no-notice -j0 --workdir $PWD ./testMX.sh 

Wo testMX.sh launchs testssl.sh:

./testssl.sh --starttls smtp --vulnerable --server-preference -mx --append  --csvfile result.csv $1 

zu Beginn, mein Skript testet Domain-Namen sehr schnell (5 000 in 1 Stunde) und nach einigen Stunden wird es sehr langsam (wie 1 Domain pro Minute). Irgendeine Idee was passiert? Danke im Voraus !

Antwort

2

Immer mehr Prozesse hängen ab und warten auf Timeout.

+0

Vielen Dank. Ich habe Ihren Post hier gesehen: https://superuser.com/questions/699432/gnu-parallel-hangs-as-one-process-is-sleeping. Also ändere ich meinen Code darauf, wird es funktionieren? cat listDomainNames.txt | parallel --timeout 200% --no-notice -j0 --workdir $ PWD ./testMX.sh – Arthur

+1

Yup. Das sollte eine gute Lösung sein, wenn Sie mit ein paar falschen Negativen leben können (Und bedenken Sie, dass Sie 'parallel --bibtex' einmal ausführen). –

-1

Vielleicht wird der Anhang zu result.csv teurer, da Sie eine größere Datei öffnen müssen. Versuchen Sie, die Ergebnisse in separate Dateien zu schreiben und anschließend zusammenzuführen.

+0

Ich glaube nicht, dass das das Problem hier ist. Ich habe bereits millionenfach in einer Datei geschrieben, ohne dieses Problem ... – Arthur

Verwandte Themen