Descripción general de la gestión de carga de recursos
Función descriptiva
openGauss proporciona métodos de gestión de carga de recursos para equilibrar la utilización de los recursos del sistema por tareas.
Conceptos relacionados
Administracion de recursos
El ámbito de gestión de openGauss para los recursos del sistema incluye recursos de CPU, recursos de memoria, recursos de IO y recursos de almacenamiento. Mediante la asignación racional de los recursos del sistema, la ocupación irrazonable de los recursos puede conducir a una menor eficiencia operativa del sistema oa problemas de funcionamiento del sistema.
grupo de control
Grupos de control (Cgroups) es la abreviatura de grupos de control, que es un mecanismo proporcionado por el kernel de Linux para limitar, registrar y aislar los recursos físicos (como CPU, memoria, IO, etc.) utilizados por los grupos de procesos. Si un proceso se une a un determinado grupo de control, el grupo de control tiene restricciones estrictas sobre los recursos del sistema Linux y el proceso no puede exceder su límite máximo al usar estos recursos. Para obtener más información sobre los principios de Cgroups, consulte el manual del producto del sistema operativo correspondiente.
fondo de recursos
Resource Pool es un mecanismo de configuración proporcionado por openGauss, que se utiliza para dividir los recursos del host (memoria, IO) y proporcionar capacidades de control de concurrencia de SQL. El grupo de recursos administra los recursos mediante la vinculación de Cgroups. Los usuarios pueden administrar la carga de recursos de sus trabajos vinculando grupos de recursos.
preparación para la gestión de recursos
planeación de recursos
Antes de configurar la función de administración de carga de recursos, debe completar la planificación de recursos de inquilinos según el modelo comercial. Después de que la empresa haya estado funcionando durante un período de tiempo, se pueden realizar ajustes de configuración en función del uso de recursos.
En este capítulo, asumimos que dos departamentos en una gran empresa comparten el mismo conjunto de clústeres. OpenGauss divide el conjunto de recursos del sistema que el mismo departamento necesita usar en un arrendatario del sistema para lograr el aislamiento de recursos entre diferentes departamentos, y su planificación de recursos Como se muestra en la Tabla 1.
Tabla 1 Planificación de recursos del
arrendatario Arrendatario A
nombre del parámetro | Muestra de valor |
---|---|
Grupo de control de clase infantil | clase A |
Grupo de control de carga de trabajo | carga_de_trabajo_a1,carga_de_trabajo_a2 |
grupo de recursos de grupo | resource_pool_a |
grupo de recursos empresariales | resource_pool_a1,resource_pool_a2 |
usuario del grupo | inquilino_a |
usuario empresarial | inquilino_a1, inquilino_a2 |
Inquilino B
nombre del parámetro | Muestra de valor |
---|---|
Grupo de control de clase infantil | clase B |
Grupo de control de carga de trabajo | carga_de_trabajo_b1,carga_de_trabajo_b2 |
grupo de recursos de grupo | resource_pool_b |
grupo de recursos empresariales | resource_pool_b1,resource_pool_b2 |
usuario del grupo | inquilino_b |
usuario empresarial | inquilino_b1, inquilino_b2 |
Inicie la función de gestión de carga de recursos
Información de contexto
Antes de utilizar la función de gestión de carga de recursos, debe completar la configuración de parámetros consultando esta sección.
condiciones previas
- En openGauss, si necesita administrar los recursos del sistema, el usuario debe tener autoridad DBA. Consulta qué usuarios tienen el permiso ejecutando la siguiente sintaxis:
openGauss=# SELECT rolname FROM pg_roles WHERE rolsystemadmin = 't';
rolname
---------
omm
Jack
(2 rows)
- Si desea incluir un usuario en el ámbito de la gestión de carga de recursos, el usuario debe tener permiso de inicio de sesión. Consulta qué usuarios tienen el permiso ejecutando la siguiente sintaxis:
openGauss=# SELECT rolname FROM pg_roles WHERE rolcanlogin = 't';
rolname
---------
omm
(1 row)
Aviso: si se revoca el permiso de inicio de sesión de un usuario, su grupo de recursos se cambiará automáticamente a default_pool. Para obtener detalles de default_pool, consulte la Tabla 2.
Pasos
Los usuarios con autoridad de DBA pueden iniciar la administración de carga de recursos en función de los grupos de recursos mediante los siguientes pasos. El usuario omm se utiliza aquí como ejemplo para la descripción.
1. Inicie sesión en el nodo maestro openGauss como el usuario del sistema operativo omm.
2. Habilite la función Grupo de control.
gs_guc reload -Z datanode -N all -I all -c "enable_control_group=on"
3. Habilite la función de administración de carga de recursos según el grupo de recursos.
gs_guc set -Z datanode -N all -I all -c "use_workload_manager=on"
4. Habilite el control del subproceso de copia de seguridad residente de la base de datos.
gs_guc set -Z datanode -N all -I all -c "enable_backend_control=on"
5. Habilite el control del subproceso autoVacuumWorker en el subproceso de copia de seguridad residente de la base de datos.
gs_guc set -Z datanode -N all -I all -c "enable_vacuum_control=on"
6. Reinicie la base de datos para que la configuración de los parámetros surta efecto.
gs_om -t stop && gs_om -t start