Datenfluss-Poolgröße

Die Datenfluss-Poolgröße steuert, wie viele Instanzen von jedem Dienstdatenfluss gleichzeitig ausgeführt werden können. Sie können die Poolgröße erhöhen, um die Leistung bis zu einem gewissen Punkt zu verbessern, doch kann eine erhöhte Poolgröße zu geringerer Leistung führen, wenn der Server nicht über ausreichende Prozessor- oder Arbeitsspeicherressourcen verfügt, um mehrere Instanzen jedes ausgeführten Dienstdatenflusses gleichzeitig zu verarbeiten. Wenn die Prozessor- und Arbeitsspeicherressourcen bis an ihre Grenzen ausgeschöpft sind, stellen Sie möglicherweise fest, dass eine Verringerung der Poolgröße, die die Anzahl gleichzeitiger Instanzen der einzelnen Dienstdatenflüsse begrenzt, eine insgesamt annehmbarere Leistung bietet.

Wenn Sie nach der richtigen Poolgröße für Ihr System suchen, denken Sie daran, dass die Datenfluss-Poolgröße die Anzahl der Instanzen der einzelnen Dienstdatenflüsse begrenzt, nicht die Gesamtzahl gleichzeitiger Dienstdatenflüsse. Beispielsweise können mit der Standardeinstellung 8 gleichzeitig acht Instanzen jedes Dienstdatenflusses ausgeführt werden. Wenn Sie über zwei Datenflüsse verfügen, die das Maximum von acht gleichzeitigen Instanzen nutzen, werden auf Ihrem System insgesamt 16 Instanzen von Dienstdatenflüssen gleichzeitig ausgeführt.

Anmerkung: Die Datenfluss-Poolgröße wirkt sich nur auf die Leistung von Diensten aus, aber nicht auf die von Aufträgen.

Konfigurieren der Datenfluss-Poolgröße:

  1. Aktivieren Sie die Leistungsüberwachung von JMX Console. Weitere Informationen finden Sie unter Überwachen der Leistung mit der JMX Console.
  2. Senden Sie über Webservices oder die API mehrere gleichzeitige Anforderungen an den Dienst.
  3. Achten Sie in der JMX-Konsole auf die Zeit, die unter ServiceRuntimeManager.borrow.DataflowName angezeigt wird. Hier wird die Zeitspanne angezeigt, die die Dienstanforderung auf einen Platz im Pool wartet, bevor sie ausgeführt wird. Die Zeit wird in Millisekunden angezeigt.
  4. Öffnen Sie diese Datei:

    SpectrumLocation\server\app\conf\dataflowpool-pool-sizes.properties

  5. Erhöhen oder verringern Sie die Poolgröße, je nachdem, was Ihrer Meinung nach zu einer verbesserten Leistung führen wird. Die standardmäßige Poolgröße 8.
    • Wenn die unter ServiceRuntimeManager.borrow.DataflowName angezeigte Wartezeit hoch war, ziehen Sie in Betracht, die Datenfluss-Poolgröße zu erhöhen, um die Zeit, die Dienstanforderungen auf die Ausführung warten, zu verkürzen. Sie könnten allerdings auch eine hohe Wartezeit bevorzugen, um die Anforderungen zurückzuhalten und die Serverressourcen nicht zu überlasten.
    • Wenn die unter ServiceRuntimeManager.borrow.DataflowName angezeigte Wartezeit nicht hoch war und eine schlechte Leistung vorliegt, kann dies ein Hinweis darauf sein, dass Ihr Server nicht über ausreichende Prozessor- oder Arbeitsspeicherressourcen verfügt, um viele gleichzeitige Dienstdatenflüsse zu verarbeiten. Ziehen Sie in Betracht, die Datenfluss-Poolgröße zu verringern, um Anforderungen zurückzuhalten.
  6. Speichern Sie die Datei und schließen Sie sie.
  7. Senden Sie erneut mehrere gleichzeitige Anforderungen und beobachten Sie in der JMX-Konsole unter ServiceRuntimeManager.borrow.DataflowName die angezeigte Wartezeit.
  8. Probieren Sie weitere Poolgrößen aus, bis Sie die optimale Einstellung gefunden haben.