Versión de postgres de 64 bits

106 views
Skip to first unread message

mfdezp

unread,
Apr 9, 2018, 7:24:51 AM4/9/18
to Eneboo
Buenos días a todos.

¿Me podéis decir que versión usáis de Motor + Postgresql en 64 bits para Windows?

Necesito dar más velocidad a la aplicación en Windows Server y el cuello de botella lo tengo en los hilos al ejecutar el Postgres 32 bits.

Es un servidor muy potente, pero sólo carga un hilo de Postgresql...

Gracias.

Manuel Calomarde Gomez

unread,
Apr 9, 2018, 10:19:08 AM4/9/18
to Eneboo
Nosotros usamos la versión 9.1 de Postgres 64bits y de Eneboo se pueden usar cualquiera de las últimas, normalmente la 2.4.5.1 rc8 de 32 bits.
Da igual que la versión de Eneboo sea la de 32 bits, funciona muy bien. Lo único importante es que la versión de Postgres sea de 64, si no, da problemas.
Un saludo :-)

deavid

unread,
Apr 9, 2018, 1:07:17 PM4/9/18
to ene...@googlegroups.com
Yo os recomiendo que uséis 9.6 en todos los servidores posibles, en 64 bits.

No entiendo muy bien cómo os afecta el rendimiento el Postgres de 32bits, el impacto, que debe haber, debería ser poco. Es recomendable usar la de 64bits en cualquier caso.

Eso sí, PostgreSQL bajo windows... el rendimiento puede ser bastante bajo. Usad un servidor Linux o BSD si es posible. PostgreSQL asume costes para ciertas operaciones que se cumplen en sistemas UNIX, pero en Windows es totalmente diferente, por lo que el diseño de PostgreSQL hace que no rinda bien bajo Windows.

Incluso diría que probárais en Windows a usar VMWare o VirtualBox para poner PostgreSQL bajo Linux y ver si el rendimiento es mejor. Suena estúpido, pero igual no lo es tanto...



--
Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

mfdezp

unread,
Apr 9, 2018, 1:42:05 PM4/9/18
to Eneboo
Gracias a ambos.

Una duda David.

Si voy a poner en marcha la versión 9.6, ¿Exporto la BBDD y luego la importo en la nueva versión de x64 simplemente o hay que realizar algún proceso más?

Por otra parte, ¿en la configuración del Postgresql, hay que hacer algún tunning al servidor en especial?

Me explico con el cambio a x64. Yo estoy actualmente funcionando con la 8,4, y va de maravilla, o eso al menos eso creo...

Pero acabo de instalar un nuevo servidor con doble micro Xeon, 32 Gb de RAM y discos SSD, y claro, quiero optimizar al máximo el rendimiento del software.

He visto en el administrador de tareas que PostgreSQL lanza un solo proceso, y quiero ver si con la versión de x64, va mejor todo ese tema...

Gracias de antemano como siempre...


El lunes, 9 de abril de 2018, 13:24:51 (UTC+2), mfdezp escribió:

deavid

unread,
Apr 9, 2018, 3:29:35 PM4/9/18
to ene...@googlegroups.com
>> Si voy a poner en marcha la versión 9.6, ¿Exporto la BBDD y luego la importo en la nueva versión de x64 simplemente o hay que realizar algún proceso más?

Exacto, exporta en SQL y carga el resultado en la 9.6; Nada más. Tendrás que recrear los usuarios y los passwords a mano (que por cierto también se pueden exportar e importar en SQL)


>> Por otra parte, ¿en la configuración del Postgresql, hay que hacer algún tunning al servidor en especial?

Los parámetros por defecto en postgresql.conf son buenos y funcionan bastante bien en todos los servidores. Eso sí, no exprime los servidores potentes al máximo.


>> Pero acabo de instalar un nuevo servidor con doble micro Xeon, 32 Gb de RAM y discos SSD, y claro, quiero optimizar al máximo el rendimiento del software.

Pues te va a tocar modificar postgresql.conf y realizar distintos testeos de velocidad. Yo te puedo dar alguna pista, pero al final tienes que probar porque depende de instalaciones.
Puedes empezar por este artículo: https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server/es


>> He visto en el administrador de tareas que PostgreSQL lanza un solo proceso, y quiero ver si con la versión de x64, va mejor todo ese tema...

El diseño de PostgreSQL es lanzar un proceso mestro y uno extra por cada conexión. Cada proceso es single-thread.
La versión 9.6 tiene ya algunas mejoras para paralelizar alguna query en particular pero dudo que le saques provecho.

Activa "log_min_duration_statement" a 1000 (milisegundos) y mira qué aparece en el log. Probablemente te falten índices.

Yo te doy mi receta, pero no prometo nada:
shared_buffers = 256MB
temp_buffers = 32MB
work_mem = 16MB
effective_io_concurrency = 8  # 1 * nucleo cpu si el disco es SSD. 1 * disco si tienes RAID 1 por hardware. En otros casos, 1.
synchronous_commit = off # puedes perder datos con esto (sobre 10 segundos si se va la luz). Normalmente es seguro.
random_page_cost = 1.2  # para SSD. 2.0 si es disco normal.
effective_cache_size = 16GB # La mitad de la ram. Para ser más concretos es el valor típico de memoria no usada en el servidor.
default_statistics_target = 50
cursor_tuple_fraction = 1.0
autovacuum_max_workers = 1
extra_float_digits = -4





--
Reply all
Reply to author
Forward
0 new messages