Theme
Throughput
Throughput represents the rate at which the system completes work items per unit time — such as requests per second, transactions per minute, or packets per hour. It is the core metric indicating whether the system meets required workload demand.
Recommended Formulation
The most robust and mathematically sound method to measure throughput in Stochastic Petri Nets is based on the place where items reside during active processing, divided by the mean service duration:
E{#InService} / SERVICE_TIMEWhy this formula works
If each service task takes 5 minutes on average and an average of 0.5 items are actively being serviced at any given moment, the completion rate is $0.5 / 5 = 0.1$ items per minute.
Why Departure Counting Fails in Transient Analysis
Many modelers instinctively create an auxiliary place Completed that receives tokens upon service completion and measure throughput from it.
While this approach works in stationary analysis, it fails catastrophically in transient analysis:
| Simulation Mode | Measured at Service Place (InService) | Measured by Departure Place (Completed) |
|---|---|---|
| Stationary | 0.1001 | 0.0999 |
| Transient ($t = 33$) | 0.0960 | 0.0000 |
| Transient ($t = 100$) | 0.1040 | 0.0000 |
| Transient ($t = 200$) | 0.1080 | 0.0000 |
In transient mode, each curve point is the instantaneous mean across replications at that exact time instant. Because tokens flash through the departure place in fractions of a microsecond before departing, the place is completely empty in nearly all replications at any sampled instant, resulting in an artificial reading of zero.
Practical Recommendation
Always measure throughput from the active service place (E{#InService} / SERVICE_TIME). This formula is stable in both stationary and transient regimes and avoids redundant nodes on your canvas.
Multiple Departure Paths
If the system processes items through distinct channels or classes, sum the individual throughput contributions weighted by their respective service times:
(E{#StandardService} / STD_TIME) + (E{#ExpressService} / EXP_TIME)Interpreting Throughput Results
| Throughput vs. Arrival Rate | System Diagnosis |
|---|---|
| Throughput equals arrival rate | System operates in equilibrium and processes all incoming demand. |
| Throughput is lower than arrival rate | System is saturated (queue growing indefinitely) or dropping work due to finite capacity limits. |
Flat Throughput Curves Under Increasing Load
If you increase the arrival rate in a scenario study and the throughput curve flattens into a horizontal line, the system has reached its maximum theoretical saturation ceiling. Beyond this point, added load only produces queue growth or rejections.
Next steps
Learn how to measure delay from a user's perspective in Response Time.