# Performance Tactic

**In short:** Performance tactics are design decisions that help a system answer requests fast enough. They work in two ways: limiting the demand placed on the system, or managing the available resources better.

## Explanation

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.

## Example

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.

## Trade-offs

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.

```mermaid
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
```

## Checks

- 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.

## Related

- [Architectural Tactic](https://arc.fuet.ch/concepts/tactics/architectural-tactic.md)
- [Performance Efficiency](https://arc.fuet.ch/concepts/quality-attributes/performance-efficiency.md)
- [Performance Efficiency Scenario](https://arc.fuet.ch/concepts/quality-attributes/performance-scenario.md)
- [Choosing and Applying Tactics](https://arc.fuet.ch/concepts/tactics/choosing-and-applying-tactics.md)
- [Tactic Trade-off Balancing](https://arc.fuet.ch/concepts/tactics/tactic-trade-off-balancing.md)
- [Scalability](https://arc.fuet.ch/concepts/quality-attributes/scalability.md)
- [Load Balancer](https://arc.fuet.ch/concepts/tactics/load-balancer.md)
- [Availability Tactic](https://arc.fuet.ch/concepts/tactics/availability-tactic.md)

## Sources

- [3.3 Design Concepts to Support Performance | Making Design Decisions | InformIT](https://www.informit.com/articles/article.aspx?p=3197432&seqNum=3) — informit.com, accessed 2026-11-09
- [PDI - Resultado de Búsqueda](https://investigadores.anid.cl/en/public_search/work?id=725771) — investigadores.anid.cl, accessed 2026-11-08
