Throughput in StreamInsight means two different parts -- Input and Output

What are the throughput?

  • Input throughput indicates how fast your input adapter successfully push events into StreamInsight engine.
  • Output throughput indicates how fast the query output events to be received by output adapter.

How to monitor the throughput?

In your input/output adapter add below performance counter through Server Explorer in Visual Studio



// initiate the performance counter

_inputEventRateCounter = new PerformanceCounter("OrinocoSampleCategory", "InputEventRate", false);

ret = _inputAdapter.Enqueue(ref cepEvent);

// update the counter value 

if (ret == EnqueueOperationResult.Success) {_inputEventRateCounter.Increment(); }









// initiate the performance counter

_outputEventRateCounter = new PerformanceCounter("OrinocoSampleCategory", "OutputEventRate", false); 

DequeueOperationResult res = Dequeue(out cepEvent); 

while (res == DequeueOperationResult.Success){_outputEventRateCounter.Increment(); }







 Monitor your throughput from perfmon

Interprete the number of InputRate/OutputRate,

  • Input adapter,  the performance of  reading data and translating to cep event from its datasource such as SQL database, log file, netwrok I/O?
  • Output adapter,  the speed that it consuming the output queue from StreamInsight engine, this could be drag down by its data storage, such as to disk, database,
  • Engine effeciency that process user's query on its incoming cep events 
  • Your StreamInsight host environment performance
  • Others

 Upcoming, several caes study about the above 3 aspects, better help tune your app performance.

 Disclaimer: This posting is provided "AS IS" with no warranties, and confers no rights