Base de Datos

Configuración

Según documentación relevante de Nuxeo disponible para distintas Bases de Datos, existen parámetros de configuración que mejoran el rendimiento del sistema.

Athento corre en la nube sobre PostgreSQL, pero determinados clientes utilizan otras Bases de Datos, principalmente Oracle y en algunos casos SQL Server. Para ver información sobre el setup de Nuxeo y PostgreSQL: https://doc.nuxeo.com/display/ADMINDOC/PostgreSQL 

Nuxeo directamente no recomienda MySQL, al igual que también comparte algunos problemas que SQL Server suele originar.

Configuración de PostgreSQL

Adapta la Configuración a tu Hardware

Aquí están algunos valores que se pueden utilizar como punto de partida para un servidor dedicado en función de la cantidad de memoria.

Tamaño RAM
4 GB
8 GB
16 GB
32 GB
64 GB128 GB
shared_buffers1GB2GB4GB8GB16GB32GB
effective_cache_size1536MB4GB8GB16GB32GB64GB
work_mem12MB12MB16MB20MB24MB28MB
maintenance_work_mem512MB1GB1GB1GB1GB1GB
max_connections63103153203253303

dynamic_shared_memory_type

posixposixposixposixposixposix

effective_io_concurrency





200

max_worker_processes





16

max_parallel_workers_per_gather





8

max_parallel_workers





16
fsyncoffoffoffoffoffoff
enable_seqscanoffoffoffoffoffoff

random_page_cost




1.11.1


Existen otras páginas relacionadas con la configuración de otros SGBD:

  1. ORACLE: https://doc.nuxeo.com/display/ADMINDOC/Oracle
  2. SQL SERVER: https://doc.nuxeo.com/display/ADMINDOC/Microsoft+SQL+Server

Temas relacionados: 

Optimización

A continuación se muestran un listado de ejecuciones para optimizar la base de datos.

PostgreSQL
create index hierarchy_mixintypes_idx on hierarchy (mixintypes);
create index hierarchy_parentid_idx on hierarchy (parentid);
create index hierarchy_isproperty_idx on hierarchy (isproperty);
create index hierarchy_parentid_id_idx on hierarchy (id, parentid);
create index hierarchy_parentid_isproperty_idx on hierarchy (parentid, isproperty);
create index hierarchy_ischeckedin_idx ON hierarchy (ischeckedin);
create index hierarchy_id_primarytype_idx on hierarchy (id, primarytype);
create index hierarchy_read_acl_id_acl_id_idx on hierarchy_read_acl (id, acl_id);
create index dublincore_title_ordered_idx on dublincore (title asc nulls first);
create index dublincore_created_idx on dublincore (created asc);
create index dublincore_id_created_idx on dublincore (id, created asc);
create index misc_lifecyclestate_idx on misc (lifecyclestate);
create index misc_id_lifecyclestate_idx on misc (id, lifecyclestate);
create index task_targetdocumentid_idx on Task (targetdocumentid);
create index acls_id_user_idx on acls (id);
create index misc_id_all_idx on misc (id, lifecyclepolicy, lifecyclestate);


reindex table hierarchy;
reindex table dublincore;
reindex table common;
reindex table file;
reindex table hierarchy_read_acl;
reindex table proxies;
ORACLE
create index hierarchy_mixintypes_idx on hierarchy (mixintypes);
ALTER INDEX hierarchy_mixintypes_idx REBUILD ONLINE;

create index dublincore_title_ordered_idx on dublincore (title asc);
ALTER INDEX dublincore_title_ordered_idx REBUILD ONLINE;

create index dublincore_created_idx on dublincore (created asc);
ALTER INDEX dublincore_created_idx REBUILD ONLINE;

create index dublincore_id_created_idx on dublincore (id, created asc);
ALTER INDEX dublincore_id_created_idx REBUILD ONLINE;

create index hierarchy_ischeckedin_idx ON hierarchy (ischeckedin);
ALTER INDEX hierarchy_ischeckedin_idx REBUILD ONLINE;

create index misc_lifecyclestate_idx on misc (lifecyclestate);
ALTER INDEX misc_lifecyclestate_idx REBUILD ONLINE;

create index misc_id_lifecyclestate_idx on misc (id, lifecyclestate);
ALTER INDEX misc_id_lifecyclestate_idx REBUILD ONLINE;

create index task_targetdocumentid_idx on Task (targetdocumentid);
ALTER INDEX task_targetdocumentid_idx REBUILD ONLINE;



Limpiar ACLs
DROP TABLE aclr_permission; DROP TABLE aclr;
select nx_rebuild_read_acls();