Throughput

  • Amount of owrk done in time taken

  • the maximum capacity of a machine or system

  • in factories to calculate how much work an assembly line can do in an hour or a day, or some other unit of time measurement.

  • the amount of data that can be passed around in a unit of time

  • ie a 512 Mbps internet connection is a measure of throughput - 512 Mb (megabits) per second.

  • ie if a server receives 1 million requests per second, and can serve only 800,000 requests, then its throughput is 800,000 per second

  • there is a bottleneck because the server cannot send out more than N bits a second, but the requests are more than that. A bottleneck is therefore the constraint on a system.

    • A system is only as fast as its slowest bottleneck.

    • increasing throughput anywhere other than the bottleneck may be a waste - you may want to just increase throughput at the lowest bottleneck first.

  • You can increase throughput

    • by buying more hardware (horizontal scaling)

    • increasing the capacity and performance of your existing hardware (vertical scaling)

    • a few other ways.

  • Increasing throughput may sometimes be a short term solution,

    • so systems designer will think through the best ways to scale the throughput of a given system

      • including by splitting up requests (or any other form of "load"), and distributing them across other resources etc.

  • The key point to remember is what throughput is, what a constraint or bottleneck is, and how it impacts a system

  • https://youtu.be/HrfgslRY7Ak

Last updated