Skip to content

Performance Tactic

A performance tactic is a design decision that helps a system meet its timing goals. It is one kind of Architectural Tactic. That article explains the general idea.

Performance tactics fall into two major categories:

  • Control resource demand. Reduce the work the system has to do.
  • Manage resources. Use the resources you have more effectively.

Control resource demand

These tactics limit how much load arrives or how much work each arrival causes:

  • Manage work requests. This is one way to limit demand.
  • Prioritize events. If events are not equally important, set up a priority scheme.
  • Bound execution time. Set a limit on how much time the system spends responding to one event.

Manage resources

These tactics make better use of what the system has:

  • Introduce concurrency. Processing requests in parallel reduces blocked time. Blocked time is one component of response time.
  • Maintain multiple copies of data. Two common ways are replication and caching.
  • Bound queue sizes. This caps the number of queued arrivals. That in turn caps the resources used to process them.
  • Schedule resources. When several requests contend for the same resource, the resource should be scheduled.

Tactics are generic design decisions. You pick among them based on your performance requirements. The article Choosing and Applying Tactics covers that step.

An online ticket shop expects a rush when a popular event goes on sale. The team keeps copies of the event listings in a cache, so most visitors do not hit the database. They process several purchase requests in parallel. They cap the waiting line so it cannot grow without limit. They also set a time limit per request, so one slow request cannot hold up the rest.

The verified facts say little about costs of individual performance tactics. One broader finding applies: tactics in general have been extended to many quality attributes since 2003. A mapping study found little rigor in how they are defined and little industrial evidence for their use. Treat tactic lists as guidance, and check that a chosen tactic really helps in your case.

The two categories of performance tactics and example tactics in each.

Diagram source
mindmap
root((Performance tactics))
Control resource demand
Manage work requests
Prioritize events
Bound execution time
Manage resources
Introduce concurrency
Maintain multiple copies
Bound queue sizes
Schedule resources
  • Performance decisions are identified as either controlling resource demand or managing resources.
  • Where events differ in importance, the document describes how they are prioritized.
  • Queue sizes and execution time per event are bounded, or the document explains why not.
  • Use of caching or data replication is stated where copies of data are kept.
  • Contended resources have a stated scheduling approach.