Performance Engineering
Table of Contents
What is the computer science topic that deals with application performance?
The computer science topic that deals with application performance is performance engineering. This field focuses on ensuring that an application meets its performance requirements throughout its entire lifecycle.
Key Aspects of Performance Engineering
Performance engineering involves a range of activities, including:
- Performance Testing: This is a crucial part of performance engineering that includes various sub-types of testing to evaluate an application’s performance characteristics. Common types of performance tests are:
- Load Testing: This determines how the application behaves under expected, normal usage.
- Stress Testing: This evaluates the application’s stability and robustness by pushing it beyond its normal operational capacity.
- Scalability Testing: This assesses the application’s ability to handle increasing loads by adding more resources (like servers or CPUs).
- Spike Testing: This tests the application’s response to sudden, large increases in user load over a short period.
- Endurance Testing: This checks how the application performs under a constant, expected load over a prolonged period to identify issues like memory leaks.
- Performance Monitoring: This involves the continuous measurement and tracking of key performance indicators (KPIs) in a production environment. Common KPIs include response time, throughput, and resource utilization (CPU, memory, disk I/O).
- Performance Tuning: This is the process of optimizing an application’s code and its underlying infrastructure to improve its performance. This can involve tasks like optimizing database queries, improving algorithms, and fine-tuning server configurations.