Chapter 1: Introduction Flashcards
In this course, how are we defining performance? [2 terms]
The response time or throughput as seen by the users
What is the definition of response time?
The time required to respond to a request. It may be the time required for a single transaction, or the end-to-end time for a task.
What is the definition of throughput?
The number of requests that can be processed in some specified time interval.
What is the responsiveness of a system?
The ability for that system to meet its objectives for response time, throughput, or both.
What are some examples of measures of responsiveness? [2]
- How fast the system responds to an event: i.e. time for ATM withdraw transaction 2. Number of events the system can process in a given period: i.e. number of transactions in an hour
What is the definition of scalability?
The ability of a system to continue to meet its response time or throughput objectives as the demand for its functionality increases.
This curve is related to scalability. Why is it important, what does it represent?
The curve shows response time plotted against load of the system.
This is important as it shows that until a certain level of load, response time increases linearly. At some point however, a small increase in load begins to have an exponential effect on response time. This effect is caused by a resource (CPU, memory, network, etc) hitting or nearing 100% utilization.
The resource nearing 100% utilization is known as the bottleneck resource. The region where the curve changes from linear to exponential is known as the knee.
The textbook lists 6 consequences of performance failure. List 3.
- Damaged customer relations - Consumers associate your website/product with poor performance
- Business failures - Poor performance means staff take more time to complete tasks. This may mean you are unable to accomadate peak demand.
- Lost income - Revenue loss due to late delivery
- Additional project resources - Project costs rise as project is “tuned”
- Reduced competitiveness - “Tuning” may cause you to miss the market window
- Project failure - It may be impossible to “tune” for performance objectives, and too expensive to redesign system
What is poor performance most often caused by?
Fundamental architecture or design factors, rather than inefficient coding.
When is performance engineering most expensive, and why?
The further along you wait in the process to manage performance (last step being Operation), the more expensive it is to manage performance.
It is more costly to modify code vs designs.
Why is SPE necessary?
To build models to tradeoff between resources and demands.