Resource Load Management Overview
Resources influencing cluster performance include the memory, CPU, disk I/O, and storage space.
During service operation, system resources may not be fully utilized, and some nodes in a cluster or some resources in the system may become the cluster performance bottleneck. GaussDB(DWS) provides resource management methods to balance system resource usage among tasks.
CPU and memory are computing resources of a server. Centralized control over them prevents resource conflicts of jobs, performs high-priority jobs (such as generating key reports) before others, and isolates user resources.
Storage space management is an important feature in the multi-tenant scenario. It limits the storage space quotas for users. GaussDB(DWS) provides a simple syntax interface used for specifying the size of the storage space when you create a user, collecting statistics on and controlling the storage space based on internal logics.
Figure 1 shows an example. In the preceding information:
- CPU and I/O resources are managed using a resource pool.
- Memory can be controlled at node and job levels. Memory is managed using database system parameters, GUC parameters, and resource pools.
- Data storage space is specified when you create a user.
The resource pool is a basic unit of load management in GaussDB(DWS). It manages system resources (including CPU, I/O, and memory) required by service operations and controls SQL concurrency.