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 GB | 128 GB |
---|---|---|---|---|---|---|
shared_buffers | 1GB | 2GB | 4GB | 8GB | 16GB | 32GB |
effective_cache_size | 1536MB | 4GB | 8GB | 16GB | 32GB | 64GB |
work_mem | 12MB | 12MB | 16MB | 20MB | 24MB | 28MB |
maintenance_work_mem | 512MB | 1GB | 1GB | 1GB | 1GB | 1GB |
max_connections | 63 | 103 | 153 | 203 | 253 | 303 |
dynamic_shared_memory_type | posix | posix | posix | posix | posix | posix |
effective_io_concurrency | 200 | |||||
max_worker_processes | 16 | |||||
max_parallel_workers_per_gather | 8 | |||||
max_parallel_workers | 16 | |||||
fsync | off | off | off | off | off | off |
enable_seqscan | off | off | off | off | off | off |
random_page_cost | 1.1 | 1.1 |
Existen otras páginas relacionadas con la configuración de otros SGBD:
- ORACLE: https://doc.nuxeo.com/display/ADMINDOC/Oracle
- 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.
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;
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;