liveBook · Manning

Throughput

As explained in Refactoring to Rust

Throughput is the amount of work a system completes per unit of time.

Throughput is the amount of work a system completes per unit of time. A bottleneck—the slowest part of the system—can limit overall throughput, so improving performance often begins by finding where flow slows down. section 8.2

When throughput reaches a performance limit, consider two scaling directions:

  • Horizontal scaling adds instances or processes, but may require distributed-system changes and safe handling of shared outputs. section 8.2
  • Vertical scaling adds resources such as CPU cores or memory to an existing machine, provided the application can use them. section 8.2

Running multiple processes

Running `python main.py & python main.py` starts two instances, but both can overwrite the same output. More processes increase capacity only when the service handles their outputs correctly. section 8.2

How Refactoring to Rust covers it

How deep it goes
Explains bottlenecks and scaling strategies, but stops short of measuring throughput or detailing optimization techniques.
Examples
Uses concurrent Python processes, shared image output, and a Mandelbrot loop to illustrate scaling behavior.
What you can do after
Evaluate whether a bottleneck or scaling strategy is limiting system capacity and recognize unsafe multi-process behavior.
How it connects
Connects throughput with bottlenecks, horizontal scaling, vertical scaling, distributed systems, and idempotence.

Also explained in

Compare how 20 books explain throughput →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Refactoring to Rust. The section links point to the parts of the book it draws on.