Frage

Ich betreibe mehrere Instanzen eines Skripts und alles funktioniert. Jeder Terminal I Last baut CPU höher though.

Ich bin mit 12 Fällen und 99% eines Dual-Core-CPU drosselt. Ich meinen RAM 8 GB DDR3 voll gestapelt. An einem Punkt während des Projekts verwendete ich mysql aber fand es schwere Engpässe und einige zufällige Fehler trennen (was mir gesagt, googeln könnte die NIC sein).

war Anyways..So Schreiben auf Disc viel schneller direkt von Shell. Das Modul verwendete WWW: Mechanize

Soweit pro Instanz aber ist das Profil nicht so schlimm. Bounces up-down bis 24%. Aber ich erreichen eine Grenze bei der Ausführung zu 100% Last mit 8 oder 9 Terminal-Fenstern laufen .. Die meisten wahrscheinlich es ein Ergebnis der Bandbreite ist und nur Downloadzeit .. Kann ich beschleunige dies überhaupt auf? Lassen Sie uns sagen Stop Download nach einer # Kilobyte an?

Danke, Peter

War es hilfreich?

Lösung

Leider glaube ich nicht, dass es eine Möglichkeit, das Perl-Interpreter Verhalten auf dieser Weise zu beeinflussen. Sie können CPU-Grenzwerte für alle Ihre Perl-Skripte auf dem Feld, aber soweit ich weiß, gibt es keine Möglichkeit, das zu tun, in Perl, wie der Interpreter verwaltet alle Speicherzuweisung usw. auf ihre eigenen Werte einstellen.

Sie können diesen Link überprüfen: Wie die CPU-Auslastung begrenzen in Perl

Auch Sie können in Perl-Threads zu sehen, wie das auf jeden Fall effizienter wird dann den Interpreter läuft für 19 mal.

Andere Tipps

Aber ich eine Grenze bei der Ausführung erreichen zu 100% Last mit 8 oder 9 Anschlussfenstern laufen .. Die meisten es wahrscheinlich ist ein Ergebnis Bandbreite und nur Downloadzeit ..

Umm ... Nein. Wenn Sie eine Wand aufgrund von Bandbreitenbeschränkungen / Download-Zeit treffen, dann werden Ihre Prozesse blockieren auf I / O (Prozessstatus D in top / ps) und gehen effektiv zu schlafen, raubend next-to -kein CPU-Zyklen, bis die E / A-Anforderung abgeschlossen ist.

Wie für das, was Ihr aktuelles Problem ist, dass unmöglich ist, ohne weitere Details zu sagen über das, was Ihr Code tut, idealerweise mit Quellcode, sondern eine allgemeine Beschreibung Ihres Algorithmen auch ausreichend sein kann.

Zu beachten ist aber, dass mit 8 oder 9 Prozesse ausgeführt wird, sind Sie garantiert die CPU bei 100%, wenn eine einzelne Instanz mittelt mehr als 11-12% CPU-Auslastung zu binden. Sie haben gesagt, nichts über durchschnittlichen Pro-Prozess CPU-Verbrauch, aber, wenn es regelmäßig auf 24% springt, dann würde ich überhaupt nicht überrascht, zu finden, dass es durchschnittlich die Hälfte oder höher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top