Key System Performance Metrics and Calculation Formulas

A summary of key system performance concepts, metrics, principles, and fundamental calculation formulas for analyzing and optimizing system efficiency.

Core Performance Metrics and Definitions

Metric/ConceptDefinition and GoalKey Principles
ThroughputThe amount of work done in a given time, typically measured as jobs completed per second.Goal: High. A natural measure of a system’s contribution to an organization, which can be increased by concurrency.
Response TimeThe time from when a request is submitted until the response is received. It is measured at the client and includes latency and overhead.Goal: Low. Lengthened by time spent waiting in a queue for a resource. Varies significantly with the variability in job arrival rates.
Response Time ComponentsA transaction’s total response time is the sum of:
  • Processor time: CPU execution
  • I/O time: Storage reads/writes
  • Wait time: Queuing for shared resources like locks
Large database caches can reduce the number of I/O operations.
SaturationOccurs when a resource becomes fully used. It sets the upper bound on the maximum throughput of the system.A saturated system may show good throughput but suffer from poor response time. If a system enters a non-linear scaling range, it can lead to thrashing.
BottleneckThe resource that reaches saturation first.Adding resources to non-bottleneck parts of a system is useless for improving overall performance.

Measurement Principles for Accuracy

PrincipleDetails
Units and PrefixesMeasurements must always include units. Calculations should consistently use prefixes (e.g., assuming KB = 1000 B).
Averages vs. VarianceAvoid relying solely on averages. Present measurements with range intervals and statistics to accurately estimate the true average.
Weighted AverageUsed when dealing with a mixture of job types (job classes). The weights must correspond to the number of occurrences for each job class, not the time spacing between requests.
Timer AccuracyDistinguish between:
  • Precision: How a value is reported.
  • Resolution: The smallest increment a timer can measure.
Be aware that many timers have high precision but coarse resolution.

Essential Performance Calculation Formulas

CPU Performance and Cost-Efficiency

These formulas calculate performance based on CPU speed and memory hierarchy (cache) efficiency.

MetricFormula
Time per Cycle (ns)$\text{Time per Cycle} = \frac{1}{\text{CPU Speed (in GHz)}} \times 10^9$
Instruction Execution Time (CPU Time)$\text{Execution Time} = \text{Cycles per Instruction} \times \text{Time per Cycle}$
Average Memory Access Time (AMAT) (ns)$\text{AMAT} = (H \times \text{Cache Hit Time}) + ((1 – H) \times \text{Slow Memory Access Time})$
Total Time per Instruction (ns)$\text{Total Time} = \text{Execution Time} + \frac{\text{AMAT}}{\text{Instructions per Load/Store}}$
Performance (ips, Throughput)$\text{Performance (ips)} = \frac{1}{\text{Total Time per Instruction (in seconds)}}$
Performance per Dollar$\text{Performance per Dollar} = \frac{\text{Performance (ips)}}{\text{Cost}}$

Storage and Cloud Cost Calculations

Use these formulas to calculate cloud storage and operational costs.

Cost ComponentCalculation Formula
Storage Cost per Hour$\text{Storage Cost per Hour} = \frac{\text{Storage Amount (MB)} \times \text{Charge per MB per Day}}{24}$
Cost of One Operation$\text{Cost} = (\text{Request Fee} \times \text{Requests}) + (\text{Cost per MB} \times \frac{\text{Data Transmitted (B)}}{1000 \times 1000})$
Total Cost per Hour$\text{Total Cost} = \text{Storage Cost per Hour} + (\text{Average Op Cost} \times \text{Total Operations per Hour})$

I/O Read Time: Bandwidth vs. Latency

These formulas calculate I/O read time, differentiating between sequential access (latency paid once) and random access (latency paid per block).

ScenarioCalculation Formula
Sequential Read Time$\text{Time} = \frac{\text{File Size}}{\text{Bandwidth}} + \text{Initial Setup Latency}$
Time per Block (Random Read)$\text{Time per Block} = \frac{\text{Block Size}}{\text{Bandwidth}} + \text{Setup Latency}$
Total Random Read Time$\text{Total Time} = \text{Total Blocks} \times \text{Time per Block}$

System Load and Saturation Analysis

MetricCalculation
Total CPU Cycles$\text{Instructions} \times \text{Average Cycles per Instruction}$
CPU Time Required$\text{Total CPU Cycles} \times \text{Time per Cycle}$
Average Resource Demand$\text{Weighted Average} = \frac{\sum(\% \text{ of Type } i \times \text{Demand for Type } i)}{100}$
Saturation PointOccurs when the average resource demand time exceeds the job inter-arrival time.