Chapter 10: Performance Patterns Flashcards
What are performance patterns?
Performance patterns are best practices for producing responsive and scalable software.
What is the fast path pattern?
Focused on improving the response time of the system by decreasing heavy workloads.
What is the first things first pattern?
Focuses on the important processing tasks to ensure that if all processes cannot be completed in time at least the most important ones are finished.
What is the coupling pattern?
Match the interface of an object with its most frequent uses.
What is the problem/solution to coupling pattern?
Problem: Applications use fine-grained objects to request information
Solution:
- Use more coarse-grained objects to eliminate frequent requests for small amount of information
- Use the centering principle to find the most heavy workload.
- Use the locality principle to combine information
- Use processing vs frequency principle to minimize the total processing needed or interface
What is the problem/solution to first things first path pattern?
Problem: Temporary overload may cause input data to be lost or response times to be low
Solution: Assign priorities to tasks and execute them so that the most important activities receive preference.
CENTERING PRINCIPLE
What is the solution to the first things first pattern?
Use the centering principle to focus on the most important work
What is the batching pattern?
Combines frequent requests to services to reduce the overhead of starting a brand new request include initialization and termination.
What is the problem/solution to the batching pattern?
Problem: Requested tasks require considerable amount overhead processing for initialization, termination, and in distributed systems, for transmitting data and requests
Solution: Use the processing vs frequency principle to minimize {processing times x frequency of requests}
What is the flex time pattern?
Spread the demand for high-usage objects temporally to a different period of time
Solution to flex time pattern?
Apply the spread-the-load principle
What is the slender cyclic functions pattern?
Concerned with processing that must execute at regular intervals.
What is the solution to the slender cyclic function?
Use both the centering principle and shared resource principle.
What is the alternate paths principle?
Spread the demand for high-usage objects spatially to different objects or locations
Solution to alternate paths principle
Apply the spread-the-load principle