This post is a part of a series of posts to keep a knowledge around Software quality attributes.

A continuously growing list of questions worth asking during the discovery of Performance requirements:

  • How many requests/transactions per time unit should we support? (Throughput)
  • How fast should a system respond to a request? (Latency)
  • What are the expected spikes in consumption?
  • How fast should a system respond to a spike in usage?
  • How long we have to keep our data?
  • Is it applicable always or during business hours?
  • How to handle "noisy neighbors" in multi-tenant architecture?
  • Do we need to limit the number of requests/transactions?
  • Do we need to prioritize traffic/requests/transactions?

If your deployment target is not a cloud provider:

  • What is the capacity of the servers we have available?