Eddy Ernesto Baños Fernández escribió:

Hola a todos, tengo el siguiente problema:

Estoy configurando un ambiente de producción para PostgreSQL, sobre un entorno de réplica multimaestro usando la herramienta Cybercluster 1.2.1. Cuento con 4 servidores HP Proliant BL 460c G1 con 2x Quad Core @2.00 GHz 8Gb de RAM, luego de alguna investigación acerca del tuning de servidores PostgreSQL para producción, configuré el archivo postgresql.conf de la siguiente manera:

(resumo los parámetros en los cuales hice cambios)

max_connections = 4000 # ulimit –n 4096

shared_buffers = 4194304kB #en /etc/sysctl.conf kernel.shmmax = 68719473766 kernel.shmall = 4294967296

maintenance_work_mem = 512MB

max_stack_depth = 9MB

max_fsm_pages = 900000

max_fsm_relations = 50000

fsync = on

synchronous_commit = on

wal_sync_method = fsync

wal_buffers = 4MB

commit_delay = 1000

commit_siblings = 10

checkpoint_segments = 128 #en /etc/sysctl.conf kernel.sem = 250 32000 32 300

checkpoint_completion_target = 0.9

effective_cache_size = 6000MB

default_statistics_target = 200

constraint_exclusion = off

autovacuum = on

autovacuum_vacuum_threshold = 500000

autovacuum_analyze_threshold = 500000

deadlock_timeout = 6s

max_locks_per_transaction = 128

los servidores están configurados de la siguiente manera: 1 balanceador, 2 nodos de BD y 1 replicador en los cuales está instalado el Cybercluster 1.2.1 que trae en su configuración PostgreSQL 8.3, el problema radica en que incluso optimizando la memoria del sistema operativo cuando intentan acceder desde un portal el cual genera aproximadamente 70 consultas por sesión 900 usuarios el sistema se literalmente explota, es decir los tiempos de respuesta aumentan demasiado, es decir la página demora en cargar aproximadamente 20 segundos.

Necesito alguna sugerencia para optimizar el rendimiento.

Gracias de antemano.

Eddy

Linux Registered User #411078

Hola, por lo que vi los parametros no paraecen tener nada malo.
Como es la carga de los discos?
Como es la configuración de los discos?
Debido a no nombraste el servior webm se puede asumir que es otra máquina,
Nunca usé cybercluster pero puedo asumir que usas una versión de 64bits de s.o.?
Via web proporcionalmente tenes mas consultas que actualizaciónes, verdad?
En cuanto al modelo de datos, es muy complejo (muchas relaciones 1 a N), los indices son por mas de un campo? Disculpá las preguntas pero lo único que se me ocurre es el clasico vacuum, reindex, que muchas veces ayuda pero no creo que sea este el caso. Técnicamente un modelo con poca redundancia es bueno y ademas si se respetan las reglas de modelado es mucho "mas lindo", pero a veces para el web es necesario
agrupar alguna tabla, para dar mejor acceso a los datos.


Saludos Fernando
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a