Updated on 2025-05-22 GMT+08:00

PERF02-02 Capacity Planning

  • Risk level

    Medium

  • Key strategies

    Capacity planning involves planning and configuring the system's required resources based on service needs and system performance, including the number of users, concurrent requests, and response time requirements. Capacity planning is critical to any organization. Effective capacity planning ensures sufficient resources to meet expected demands and prevents resource waste.

    • Collecting capacity data
      Collecting capacity data helps define technical requirements based on service objectives and it is also essential for forecasting capacity. To meet workload requirements, you need to collect capacity data, including a system's resource usage and key service data.
      • Resource usage data includes the usage of CPUs, memory, disk space, and network bandwidth, which is used to identify system bottlenecks.
      • Key service data includes the number of users, user behavior patterns, service types, and service periods, which is to identify their impact on workloads.
    • Forecasting demands

    Effective capacity planning involves preparing for future service needs. It usually uses workload data to forecast future demands. Forecasting demands is a complex process with multiple factors, including market trends, consumer behavior, and competition environment. The combination of multiple methods, such as historical data analysis, resource analysis, and trend analysis, is used as the basis for forecasting demands. Additionally, artificial intelligence (AI) machine learning algorithms are also used to more accurately forecast future demands and evaluate resource requirements of workloads.

    • Aligning forecasts with workload objectives

    To align the prediction with the workload objectives, forecasting needs to be periodically evaluated to compare the actual results with the forecast results and adjust the capacity prediction model as required. For example, if a new application or service is added to the system, the capacity prediction model needs to consider these new capacity requirements. This alignment ensures adequate resource allocation and prevents resource underutilization and potential overload.

    • Determining resource demands
      The results of demand and forecast analysis are used for capacity evaluation and planning. Compute resources, storage resources, and network bandwidth required by the system must be determined to meet system performance demands.
      • Compute resources are selected and configured as required based on the predicted CPU, GPU, and memory demands.
      • Storage resources are calculated based on the predicted requirements. For example, if a large amount of data needs to be stored, a distributed storage system may be required.
      • Network bandwidth is calculated based on the predicted requirements. For example, if large-scale data transmission or real-time network communication is required, a high-speed network may be required.
    • Understanding resource restrictions

    For capacity planning, it is important to understand limitations on resources, such as processes, threads, CPU usage, memory, and disk space. Resource restrictions are set to ensure system stability. They prevent processes or applications from occupying too many system resources. Otherwise, other processes or applications cannot run properly, or even the system breaks down.