2017-08-08 1 views
0

Ich habe mit Storm für unser Labor-Projekt getestet. Und als ich mit Storm bolt einige Rechenaufgaben ausführte, stellte ich fest, dass die Zeit, die für die Berechnung außerhalb von Storm benötigt wurde, ungefähr zehnmal geringer ist als die in einer Storm bolt execute() -Methode.Storm-Computation Zeit innerhalb der Schraube ausführen() Methode

Und ich habe auch versucht, dieses kleine Stück Code-Schnipsel in der execute() -Methode eines Bolzens:

Random rd = new Random(System.currentTimeMillis()); 
double count =rd.nextDouble(); 
for(int i=0;i <50000000;i++) { 
    count *= rd.nextDouble(); 
} 

Above Code dauerte etwa 1000 ms innerhalb Sturm, zu beenden, während nur etwa 10 ms nahm außen zu beenden der Sturmumgebung.

Ist das eine schwere Rechenaufgabe für einen Sturmbolzen?

Antwort

0

Ich denke, du verpasst den Punkt. Können Sie einen Trivaltest erstellen, der auf einem Knoten besser läuft? Sicher, aber Sie würden es nie dafür benutzen. Wenn Ihre Berechnung auf einem Knoten einwandfrei funktioniert, verwenden Sie Storm nicht, da es übertrieben ist.

Storm ist ein verteiltes Echtzeit-Berechnungssystem. Wenn Sie eine wahnsinnige Menge an Daten in Echtzeit und in einer skalierbaren, fehlertoleranten Weise mit vielen Maschinen verarbeiten müssen, dann verwenden Sie Storm.

+0

Vielen Dank für Ihre Antwort. Ich habe den Test auf einem Knoten ausgeführt, das gab mir das gleiche Ergebnis. Tatsache ist, wir müssen eine große Menge an Daten verarbeiten, und auch für jedes Tupel benötigen wir 10 ms, um es zu verarbeiten. Der Teil, den ich nicht verstehe, ist, dass Storm 100 Mal so viel Zeit benötigt, um die gleiche Verarbeitung zu machen. –

0

ah, das ist ein dummer Fehler von mir, die Laufzeit in der execute() -Methode ist gut für die einfache Berechnung.

Aber die eigentliche Verarbeitung, die wir innerhalb von execute() machen, ist immer noch einige Male langsamer als außerhalb von Storm eviroment. Bei dieser Verarbeitung nannten wir eigentlich JNI-Methoden, nicht konw, wenn das der Grund dafür ist.

Verwandte Themen