Bobinas P4G
  • Login
  • Public

    • Public
    • Groups
    • Popular
    • People

Conversation

Notices

  1. ale (ale@www.hatthieves.es@www.hatthieves.es)'s status on Thursday, 23-Jan-2020 16:09:24 UTC ale ale

    Después de una larga ausencia en el blog, vamos a explicar una configuración para la base de datos PostgreSQL que pueda soportar altas cargas y aumentar la disponibilidad del servicio, comentaremos sus opciones y justificaremos los valores que decidimos aplicar en función de los recursos de la máquina. Nuestra máquina es una servidor cloud que tiene 4 núcleos y 8G de memoria RAM, la máquina actualmente está compartida con contenedores docker de otros servicios por lo que en este contenedor vamos a consumir como máximo 3G de RAM y un pool de 250 conexiones, ya que el software que la usa (Elixir en este caso) es muy rápido y necesita de una alta disponibilidad, así mismo precisa de un alto número de conexiones concurrentes para no saturarla. Opciones de configuración Estas opciones las hemos sacado de la página https://pgtune.leopard.in.ua que nos ayudará a afinar la configuración en función de los valores de versión, núcleos, memoria y conexiones que necesitemos, hemos decidido usar el perfil online transaction processing system para nuestro caso. # DB Version: 12 # OS Type: linux # DB Type: oltp # Total Memory (RAM): 3 GB # CPUs num: 4 # Connections num: 250 max_connections = 250 # máximo número de conexiones concurrentes shared_buffers = 768MB # cantidad de memoria dedicada a datos en caché effective_cache_size = 2304MB # cantidad de memoria disponible para memoria intermedia en el disco maintenance_work_mem = 192MB # cantidad de memoria usada para operaciones de mantenimiento checkpoint_completion_target = 0.9 # permite escribir lentamente en la instancia: checkpoint_completion_target * checkpoint_timeout (5min) wal_buffers = 16MB # pequeña memoria que sincroniza los datos, aumentándola se permiten inserciones más grandes default_statistics_target = 100 # recolecta estadísticas de cada una de las tablas para decidir como se ejecutarán las consultas sobre ellas random_page_cost = 1.1 # sugiere al optimizador cuanto tiempo le llevará al disco encontrar una página aleatoria de disco effective_io_concurrency = 200 # número de operaciones de disco I/O concurrentes work_mem = 1572kB # para operaciones complejas realiza ordenamientos más distendidos en memoria min_wal_size = 2GB # cantidad mínima de la memoria usada para integridad de los datos max_wal_size = 4GB # cantidad máxima de la memoria usada para integridad de los datos max_worker_processes = 4 # cantidad máxima de procesos max_parallel_workers_per_gather = 2 # cantidad máxima de subprocesos en paralelo por nodo, no puede exceder a max_parallel_workers max_parallel_workers = 4 # cantidad máxima de …

    Continuar leyendo “”

    https://www.hatthieves.es/2020/01/23/tuneando-postgresql/

    In conversation Thursday, 23-Jan-2020 16:09:24 UTC from hatthieves.es permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      PGTune - calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration
      from /humans.txt
      PgTune - Tuning PostgreSQL config by your hardware
    2. Tuneando PostgreSQL
      from ale
      Después de una larga ausencia en el blog, vamos a explicar una configuración para la base de datos PostgreSQL que pueda soportar altas cargas y aumentar la disponibilidad del servicio, comentaremos sus opciones y justificaremos los valores que decidimos aplicar en función de los recursos de la máquina.
    • ale repeated this.

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • Privacy
  • Source
  • Version
  • Contact

Bobinas P4G is a social network. It runs on GNU social, version 2.0.1-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All Bobinas P4G content and data are available under the Creative Commons Attribution 3.0 license.