This topic outlines some capacity planning considerations for streaming applications. This task is done outside of StreamBase Studio.
-
Your planning should evaluate both the steady state capacity and peak (spikes) capacity requirements.
-
Note that a system can handle spikes in the number of input tuples per second by falling behind real-time for a period of time, and then catching up afterwards, as long as system resources are not exhausted during the spike.
-
See Java VM Memory Settings for a discussion of the settings that affect the amount of memory usable by StreamBase Studio and StreamBase Server.
-
StreamBase Monitor and StreamBase Manager show information that can be useful in understanding the performance of your StreamBase application. This information includes for each node: the size of the page pool, the number of tuples each box processes each second, the time required to process each tuple, and how much CPU time is used by each thread. For details, see Monitoring and Profiling Applications.
-
When you evaluate throughput, test headroom by using the StreamBase Feed Simulator on a representative trace file. Increase the data rate to faster than an estimated real time rate, such as 5x or 10x. See Using the Feed Simulation Editor.
-
If memory or throughput headroom is inadequate (that is, if you are already using the maximum processor speed and memory), increase capacity by adding multiple processors. You can also investigate using a cluster of StreamBase Servers using high availability techniques. See Clustering and High Availability for more information.