Gestión de carga de recursos de base de datos (Parte 1)

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

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/gaussdb/blog/5516589
Recomendado
Clasificación