Cómo PostgreSQL calcula el tamaño de los parámetros de configuración del servidor

Inserte la descripción de la imagen aquí

Directorio de artículos

Hola a todos, soy el Sr. Tony que solo habla de técnicas y no de corte de cabello.

Los parámetros de configuración predeterminados de PostgreSQL suelen ser pequeños y no adecuados para entornos de producción. Por lo tanto, necesitamos modificar los parámetros de configuración del servidor después de instalar la base de datos. El artículo anterior introdujo cómo establecer los parámetros de configuración del servidor. Hoy, presentaré un método para calcular rápidamente el tamaño de los parámetros principales de PostgreSQL.

Podemos utilizar la herramienta en línea PGTune para calcular la configuración recomendada de PostgreSQL en función del rendimiento máximo de una determinada configuración de hardware. Su interfaz de configuración es la siguiente:

Página principal
El uso de esta herramienta es muy simple, los parámetros que podemos ingresar incluyen:

  • La versión de la base de datos PostgreSQL se puede ver a través de SELECT version();comandos.
  • El sistema operativo del host del servidor de la base de datos, incluidos Linux, Windows y OS X.
  • Los tipos de aplicaciones de base de datos incluyen: aplicación web, procesamiento de transacciones en línea, almacén de datos, aplicación de escritorio y tipo mixto de aplicación. El lado derecho de la página de configuración ofrece una introducción a los diferentes tipos de aplicaciones.
  • El tamaño de la memoria del servidor.
  • El número de núcleos de CPU del servidor, un parámetro opcional.
  • El número máximo de conexiones a la base de datos, parámetros opcionales.
  • Tipos de dispositivos de almacenamiento de datos, incluidos SSD, SAN y disco duro mecánico (HDD).

Después de ingresar los parámetros requeridos, haga clic en el botón "Generar".

configuración
PGTune genera los parámetros de configuración recomendados en el lado derecho de la página y proporciona métodos para modificar el archivo de configuración postgresql.conf y usar el comando ALTER SYSTEM para establecer los parámetros. Por ejemplo, el contenido del archivo de configuración generado por los parámetros de hardware que ingresamos es el siguiente:

# WARNING
# this tool not being optimal
# for very high memory systems

# DB Version: 13
# OS Type: linux
# DB Type: oltp
# Total Memory (RAM): 128 GB
# CPUs num: 63
# Connections num: 500
# Data Storage: san

max_connections = 500
shared_buffers = 32GB
effective_cache_size = 96GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 300
work_mem = 16777kB
min_wal_size = 2GB
max_wal_size = 8GB
max_worker_processes = 63
max_parallel_workers_per_gather = 4
max_parallel_workers = 63
max_parallel_maintenance_workers = 4

O bien, el comando ALTER SYSTEM generado es el siguiente:

# WARNING
# this tool not being optimal
# for very high memory systems

# DB Version: 13
# OS Type: linux
# DB Type: oltp
# Total Memory (RAM): 128 GB
# CPUs num: 63
# Connections num: 500
# Data Storage: san

ALTER SYSTEM SET
 max_connections = '500';
ALTER SYSTEM SET
 shared_buffers = '32GB';
ALTER SYSTEM SET
 effective_cache_size = '96GB';
ALTER SYSTEM SET
 maintenance_work_mem = '2GB';
ALTER SYSTEM SET
 checkpoint_completion_target = '0.9';
ALTER SYSTEM SET
 wal_buffers = '16MB';
ALTER SYSTEM SET
 default_statistics_target = '100';
ALTER SYSTEM SET
 random_page_cost = '1.1';
ALTER SYSTEM SET
 effective_io_concurrency = '300';
ALTER SYSTEM SET
 work_mem = '16777kB';
ALTER SYSTEM SET
 min_wal_size = '2GB';
ALTER SYSTEM SET
 max_wal_size = '8GB';
ALTER SYSTEM SET
 max_worker_processes = '63';
ALTER SYSTEM SET
 max_parallel_workers_per_gather = '4';
ALTER SYSTEM SET
 max_parallel_workers = '63';
ALTER SYSTEM SET
 max_parallel_maintenance_workers = '4';

Para la introducción y función de estos parámetros, puede consultar los documentos oficiales .

La optimización de la base de datos PostgreSQL depende no solo de la configuración del hardware, sino también de varios factores como el tamaño de la base de datos, el número de clientes y la complejidad de la consulta, por lo que el valor recomendado de PGTune no es necesariamente el óptimo. configuración. Sin embargo, podemos usarlo como configuración inicial y luego optimizarlo aún más de acuerdo con la situación real.

PGTune es un proyecto de código abierto, alojado en GitHub , podemos descargar e implementar una versión propia.

Supongo que te gusta

Origin blog.csdn.net/horses/article/details/114107936
Recomendado
Clasificación