SlideShare una empresa de Scribd logo
Alfresco	
  Enterprise:	
  Escalabilidad	
  y	
  Tuning	
  
                                         Toni	
  de	
  la	
  Fuente	
  
                              Senior	
  Solu/ons	
  Engineer	
  	
  
                                          Spain	
  &	
  Portugal	
  

                         toni.delafuente@alfresco.com	
  
El webinar comenzará en
     unos minutos.


     Las líneas de voz de los
     asistentes estarán
     desactivadas. Use el área de
     chat “Q&A” para hacer las
     preguntas que
     responderemos al finalizar la
     sesión.

2
Contenidos


●  Componentes	
  de	
  la	
  arquitectura	
  
●  Escenarios	
  de	
  soluciones	
  Alfresco	
  
   o  Carga	
  masiva	
  de	
  contenidos	
  
   o  Plataforma	
  combinada:	
  contenidos,	
  acciones,	
  usuarios	
  

●  Pruebas	
  de	
  carga	
  
●  Conclusiones	
  y	
  preguntas	
  



                                                                  3	
  
Componentes	
  de	
  la	
  arquitectura	
  




                                      4	
  
Componentes

1.  Repositorio	
  Alfresco	
  
2.  Alfresco	
  Share	
  
3.  Aplicaciones	
  de	
  terceros	
  
4.  Base	
  de	
  datos	
  
5.  Content	
  Store	
  
6.  Índices	
  




                                               5	
  
Escenarios	
  de	
  la	
  solución	
  




                                         6	
  
Gestión completa de
                                                              contenidos
                                           Ges/ón	
  de	
  
  Ges/ón	
            Colaboración	
                           Ges/ón	
  de	
                 Archivo	
  	
  
                                           Contenidos	
  
Documental	
                                                  Expedientes	
                    Email	
  
                                              Web	
  




   ¿Interfaces?	
                   ¿Número	
  de	
  …?	
         ¿Tipos	
  de	
  contenido?	
  




                                                                         Un	
  repositorio	
  
                                                                    construido	
  con	
  una	
  base	
  
                                  ¿Cuantos	
                           tecnológica	
  sólida	
  
                                componentes?	
  

                                                                                      7	
  
¿Lo mismo para todos?




               8	
  
Soluciones con Alfresco
                                                      según el uso
1.  Plataforma	
  de	
  carga	
  masiva	
  
    •  Alto	
  rendimiento	
  en	
  procesos	
  por	
  lotes,	
  5+	
  millones	
  de	
  
       documentos,	
  asequible	
  
    •  Ej:	
  archivo	
  y	
  digitalización	
  masiva	
  
2.  Plataforma	
  empresarial	
  de	
  colaboración	
  
    ●  Uso	
  intenso	
  de	
  sistema	
  de	
  ficheros,	
  mezcla	
  entre	
  
       contenido	
  e	
  interfaz	
  
    ●  Ej:	
  Colaboración,	
  ges/ón	
  del	
  conocimiento,	
  contenidos	
  
       generados	
  por	
  los	
  usuarios	
  


                                                                                     9	
  
Los 3 procesos más
                       importantes

         Arquitectura
             (1)




Diseño                  Tuning
  (2)                     (3)




                                 10	
  
Carga	
  masiva	
  de	
  contenidos	
  




                                          11	
  
Requerimientos de Carga
                                         masiva de contenidos
●  100-­‐1000	
  usuarios	
  (sólo	
  con	
  acceso	
  de	
  lectura)	
  
●  10.000	
  documentos	
  cargados	
  por	
  día	
  durante	
  horas	
  
    nocturnas	
  
●  20	
  millones	
  de	
  documentos	
  al	
  año	
  
●  Tipos	
  de	
  documentos:	
  PDF,	
  TIFF,	
  JPG	
  
●  Sólo	
  lectura,	
  sin	
  indexado	
  total,	
  modelo	
  de	
  contenido	
  básico	
  
●  Pocas	
  o	
  ninguna	
  reglas	
  o	
  acciones	
  
●  Sin	
  transformación	
  de	
  contenido	
  
●  Ges/ón	
  del	
  contenido	
  centralizado	
  
●  Interfaces:	
  aplicación	
  externa,	
  API	
  na/va,	
  WebScripts,	
  CMIS.	
  
    No	
  CIFS/WebDAV/FTP	
  o	
  Webclient	
                                   12	
  
Consideraciones de
                                                                     arquitectura
●  Uso	
  de	
  CPU	
  y	
  memoria	
  intensivo	
  

      o  Escalar	
  ver/calmente	
  en	
  lugar	
  de	
  horizontalmente	
  

●  Los	
  procesos	
  batch	
  son	
  la	
  CLAVE	
  

      o  Atómicos	
  -­‐>	
  Escalar	
  ver/calmente,	
  +CPU	
  +Memoria	
  
      o  Paralelos	
  -­‐>	
  Escalar	
  horizontalmente	
  con	
  2	
  Repositorios	
  en	
  cluser	
  
         compar/endo	
  un	
  mismo	
  almacenamiento.	
  

●  Escalar	
  (ver/cal	
  y	
  horizontalmente)	
  el	
  almacenamiento	
  

      o  Caringo	
  CAStor	
  
      o  Content	
  Store	
  Selector	
  
      o  Escalar	
  y	
  op/mizar	
  la	
  BBDD	
  (Mysql	
  proxy	
  /	
  Oracle	
  RAC)	
  

●  Evitar	
  Sparc	
  T2000	
  series	
  (y	
  familia	
  similar)	
  
                                                                                                13	
  
      o  Bueno	
  para	
  proceso	
  paralelo	
  pero	
  pobre	
  en	
  operaciones	
  atómicas	
  
Dos capas




   14	
  
Procesos batch paralelos




                  15	
  
Buenas prácticas en diseño

●  Optimiza los procesos batch

    o  API nativa
    o  Más de un documento por transacción
    o  Ejemplo: 150 crear, 50 borrar

●  Distribuye el contenido

    o  Balancea el árbol de contenidos
    o  Puede servir multi-tenant? (batch paralelos e independientes)

●  Consideraciones para cargas masivas

    o  Evita envíos a la papelera con cm:temporary

●  Optimización de los índices

    o  DoNotIndex aspect                                     16	
  
Buenas prácticas en
                                                   optimización
●    Optimización de I/O                      Ejemplo de configuración JVM :
      o  Mejor elección: Discos Locales *     -server –Xms6G –Xmx6G
      o  Latencia de red con la RDBMS         -XX:PermSize=256m
                                              -XX:MaxPermSize=256m
●    Configuración a nivel ORM                -XX:NewRatio=2
                                              -XX:+UseParNewGC
      o  Tuning del “connection pool”         -Xloggc:/tmp/gc.log
                                              -verbose:gc
      o  Desabilitar la caché de consultas    -XX:+PrintGCTimeStamps
      durante la importación                  -XX:+PrintGCDetails

●    Evita características innecesarias

      o  Auditoría / Quotas

      o  Check ACL (ejecuta como admin) / Reglas

      o  Subsystems (ej. VFS)

●    Tuning de Lucene
                                                                      17	
  
      o  index.tracking.disableInTransactionIndexing=true

      o  mergeFactor
Plataforma	
  de	
  colaboración	
  




18
                                          18	
  
Plataforma de colaboración

●  100-­‐10.000	
  usuarios	
  (lectura	
  y	
  escritura)	
  
      o  Ges/ón	
  del	
  contenido	
  descentralizado	
  
●  10.000-­‐1	
  millón	
  de	
  documentos	
  (o	
  incluso	
  10	
  millones	
  )	
  

●  1000	
  actualizaciones	
  de	
  documentos	
  por	
  día	
  
●  Múl/ples	
  versiones	
  por	
  documento	
  
      o  Tipos	
  de	
  documentos:	
  Office,	
  dibujo,	
  imágenes,	
  etc.	
  
      o  Gran	
  uso	
  de	
  transformación	
  del	
  contenido	
  (PDF,	
  Flash,	
  thumbnail)	
  
●  Indexación	
  completa	
  de	
  todos	
  los	
  documentos	
  
      o  Múl/ples	
  modelos	
  de	
  contenido	
  
●  Múl/ples	
  (avanzadas)	
  reglas	
  y	
  acciones	
  
●  ACL	
  dinámicas	
  (múl/ples	
  cambios	
  con/nuamente)	
  
●  Interfaces:	
  Todas.	
  Para	
  DM	
  principalmente	
  CIFS/WebDAV.	
  Para	
  
    colaboración	
  Share/Webclient.	
  Webscripts	
  para	
  aplicaciones	
  y/o	
  portlets	
  
                                                                                 19	
  
Consideraciones de
                                                                                                 arquitectura
●    Despliegue	
  total	
  de	
  la	
  plataforma	
  

       o  Plataforma	
  de	
  DM/Colaboración	
  con	
  múl/ples	
  procesos	
  involucrados	
  

       o  Global	
  (sin	
  ventanas	
  de	
  mantenimiento)	
  

●    Escalar	
  Share	
  horizontalmente	
  de	
  forma	
  independiente	
  al	
  repositorio	
  

       o  Balanceo	
  de	
  carga	
  frontal	
  e	
  “intercapa”	
  

       o  Separar	
  lectura	
  de	
  escritura	
  y	
  tareas	
  programadas	
  

●    Separar	
  el	
  servidor	
  de	
  transformaciones	
  

       o  Servidor	
  independiente	
  

       o  Daemon	
  Open	
  Office	
  

●    Escalado	
  horizontal	
  y	
  ver/cal	
  de	
  la	
  infraestructura	
  

       o  Escalar	
  CIFS	
  con	
  DFS	
  

       o  Todos	
  los	
  protocolos	
  basados	
  en	
  HTTP	
  escalan	
  de	
  forma	
  similar	
  (incluido	
  SPP/7070)	
  

●    Balancea	
  mul/-­‐CPU	
  (scale	
  up)	
  y	
  cluster	
  mul/-­‐nodo	
  (scale	
  out)	
  

       o  Ojo	
  con	
  los	
  índices	
                                                                                           20	
  
Plataforma de contenidos
            transparente




                  21	
  
Buenas prácticas en diseño

●  Distribuir	
  y	
  balancear	
  el	
  árbol	
  de	
  contenidos	
  FUNDAMENTAL!	
  

       o  La	
  ges/ón	
  descentralizada	
  es	
  compleja	
  
       o  Usa	
  conceptos	
  comunes	
  (espacios,	
  e/quetas,	
  categorías)	
  

●  Ojo	
  con	
  con	
  las	
  versiones	
  y	
  los	
  índices	
  

       o  No	
  apliques	
  cm:versionable	
  a	
  todo	
  el	
  cm:content	
  
       o  Usa	
  el	
  VersionCleaner	
  

●  Modelado	
  de	
  datos	
  

       o  Mejor	
  aspectos	
  que	
  /pos	
  /	
  reu/lización	
  de	
  metadatos	
  
       o  Opciones	
  de	
  indexado	
  de	
  los	
  contenidos	
  

●  Cuotas	
  y	
  usos	
  

       o  Debemos	
  preveer	
  una	
  “explosión”	
  del	
  repositorio	
               22	
  
Buenas prácticas en
                                                                                optimización
●    RDBMS	
  	
  

      ●  No	
  dejes	
  la	
  configuración	
  por	
  defecto	
  -­‐-­‐>	
  RTFM	
  :)	
  

●    Configuración	
  de	
  la	
  capa	
  ORM	
  

      ●  L2	
  cache:	
  incremento	
  lineal	
  con	
  la	
  memoria	
  RAM	
  

      ●  Incrementa	
  el	
  connec/on	
  pool	
  y	
  connec/on	
  threads	
  	
  con	
  la	
  RBDMS	
  (db.pool.max)	
  

●    Configuración	
  óp/ma	
  de	
  Alfresco	
  

      ●  VFS	
  thread	
  pool	
  (por	
  defecto:	
  	
  <threadPool init="25" max="50"/>	
  	
  )	
  

      ●  Op/miza	
  el	
  uso	
  de	
  ACLs	
  y	
  precarga	
  de	
  búsquedas	
  más	
  usadas	
  (si	
  es	
  necesario)	
  

           	
  system.acl.maxPermissionCheckTimeMillis=10000
               system.acl.maxPermissionChecks=1000

●    Op/mización	
  de	
  Lucene	
  

      ●  lucene.maxAtomicTransformationTime=20
                                                                                                                    23	
  
      ●  lucene.indexer.mergeFactor
Pruebas	
  de	
  carga	
  




                             24	
  
Alfresco Benchmarks

●  Alfresco	
  Benchmark	
  Tools	
  

      o  alfresco-­‐bm	
  -­‐	
  hup://wiki.alfresco.com/wiki/Server_Benchmarks	
  
      o  SimpleInjector	
  -­‐	
  (disponible	
  en	
  partners.alfresco.com	
  en	
  unos	
  días)	
  

      o  JMeter	
  
      o  CIFS	
  loading	
  

●  Resultados	
  sobre	
  pruebas	
  de	
  carga	
  con	
  Alfresco	
  

      o  Unysis	
  benchmark	
  results	
  
      o  JCR	
  Benchmarks	
  

●  WIP	
  

      o  Documento	
  sobre	
  escalabilidad	
  para	
  partners.	
  

      o  Más	
  información	
  para	
  +3.4	
  	
  
                                                                                                      25	
  
Controla tu solución
                                                                                    Alfresco
●    Usa	
  el	
  modo	
  debug!	
  

●    Análisis	
  de	
  Alfresco	
  

       o  JMX	
  (for	
  Enterprise	
  Only	
  see	
  Admin	
  Guide)	
  
          hup://wiki.alfresco.com/wiki/JMX	
  

       o  Audit	
  Surf	
  
          hup://forge.alfresco.com/projects/auditsurf/	
  

       o  Nagios	
  integra/on	
  
          hup://forge.alfresco.com/projects/nagios4alfresco/	
  

●    Análisis	
  de	
  la	
  Infraestructura	
  

       o  VisualVM	
  (JVM)	
  
          hup://ur.ly/esjZ	
  

       o  YourKit	
  (JVM)	
  
          hup://wiki.alfresco.com/wiki/JMX	
  

       o  WireShark	
  (Network)	
  
          hup://www.wireshark.org/	
  

       o  Mysql	
  Query	
  Profiler	
  (DBMS)	
                                           26	
  
          hup://dev.mysql.com/tech-­‐resources/ar/cles/using-­‐new-­‐query-­‐profiler.html	
  
Conclusiones	
  y	
  preguntas	
  




27
                                        27	
  
Escalar horizontalmente vs.
                                    verticalmente


                                      Pros	
                                    Contras	
  
                      Mejora	
  el	
  rendimiento	
  en	
  
                                                                       Coste	
  de	
  procesadores	
  
                          procesos	
  batch	
  
    Escalar	
  
 Ver/calmente	
       Mejora	
  el	
  rendimiento	
  en	
  las	
     Posible	
  coste	
  adicional	
  en	
  
                           transformaciones	
                              suscripciones	
  

                      Mejora	
  el	
  rendimiento	
  en	
   Tiempo	
  para	
  sincronización	
  
                        procesos	
  paralelos	
                   de	
  los	
  índices	
  
     Escalar	
                                                       Posible	
  coste	
  adicional	
  en	
  
                           Alta	
  Disponibilidad	
  
Horizontalmente	
                                                          suscripciones	
  
                        Separación	
  de	
  Lectura/
                                                                     Necesita	
  balanceo/caching	
  
                              Escritura	
  


                                                                                               28	
  
Las reglas de oro
●  Elige	
  la	
  arquitectura	
  correcta	
  

       ●  Distribuye	
  la	
  carga	
  de	
  la	
  infraestructura	
  
       ●  Aprovecha	
  las	
  capas	
  para	
  caché	
  
       ●  Maximiza	
  el	
  uso	
  de	
  la	
  plataforma	
  

●  Ten	
  en	
  cuenta	
  el	
  rendimiento	
  de	
  tu	
  aplicación	
  durante	
  el	
  diseño	
  

       ●  Elige	
  la	
  API	
  correcta	
  
       ●  Desac/va	
  lo	
  que	
  no	
  u/lices	
  (ACLs,	
  indexado,	
  VFS,	
  etc.)	
  

●  Prueba	
  todo	
  en	
  la	
  fase	
  de	
  test.	
  

       ●  Prueba,	
  prueba,	
  prueba	
  
       ●  Realiza	
  las	
  pruebas	
  y	
  compártelas	
  con	
  Alfresco	
  Support	
  /	
  Solu/on	
  
          Engineering	
  
                                                                                                       29	
  
Preguntas y Feedback

●  ¿Alguna	
  pregunta?	
  

●  Comparte	
  las	
  experiencias	
  con	
  nosotros	
  (buenas	
  y	
  
   malas)	
  
    ●  Arquitecturas	
  escaladas	
  sa/sfactoriamente	
  
    ●  Limitaciones,	
  cuellos	
  de	
  botella	
  
    ●  Configuraciones	
  ú/les	
  =>	
  Implementación	
  =>	
  Resultados	
  
    ●  Qué	
  funciona	
  y	
  qué	
  no	
  funciona.	
  




                                                                                 30	
  
Gracias por asistir al webinar




                        Toni de la Fuente!
         toni. delafuente@alfresco.com!
                       twitter: @toniblyx !
                   blog: http://blyx.com!
                              31	
  

Más contenido relacionado

PDF
Alfresco y SOLR, presentación en español
PDF
Consejos de seguridad con Alfresco
PPTX
AlwaysOn en SQL Server 2016
PPTX
Analizando la performance del subsistema de IO
PPTX
AlwaysON Lecciones Aprendidas
PPTX
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
PPTX
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
PPSX
Windows Server 2012 web and application platform
Alfresco y SOLR, presentación en español
Consejos de seguridad con Alfresco
AlwaysOn en SQL Server 2016
Analizando la performance del subsistema de IO
AlwaysON Lecciones Aprendidas
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Windows Server 2012 web and application platform

La actualidad más candente (20)

PPTX
Alta Disponibilidad con SQL Server 2012
PDF
Datos sin fronteras
PDF
Oracle Day 2013 ~ MySQL Replication
PPTX
SQL Server Alta disponibilidad en ambientes empresariales
PDF
Introduction to Oracle Clusterware 12c
PDF
Configuracion del servidor vsftpd en linux
PDF
Oracle RAC sin sorpresas - v2014
PDF
Introducción a Tomcat
PPTX
Oracle Real Application Cluster (RAC)
PPTX
PPTX
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
PPTX
Alta disponiblidad en SQL Server 2012
PDF
Always On y grupos de disponibilidad SQL Server 2012
PPTX
SQL Server 2014 infraestructura hibrida y nube
PPTX
Base de dato
PDF
Alta Disponibilidad con PgPool-II
PPTX
Windows server 2012 r2
PPTX
Alta disponibilidad SQL Server 2012
DOCX
Oracle rac
PPTX
The modern perl toolchain
Alta Disponibilidad con SQL Server 2012
Datos sin fronteras
Oracle Day 2013 ~ MySQL Replication
SQL Server Alta disponibilidad en ambientes empresariales
Introduction to Oracle Clusterware 12c
Configuracion del servidor vsftpd en linux
Oracle RAC sin sorpresas - v2014
Introducción a Tomcat
Oracle Real Application Cluster (RAC)
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Alta disponiblidad en SQL Server 2012
Always On y grupos de disponibilidad SQL Server 2012
SQL Server 2014 infraestructura hibrida y nube
Base de dato
Alta Disponibilidad con PgPool-II
Windows server 2012 r2
Alta disponibilidad SQL Server 2012
Oracle rac
The modern perl toolchain
Publicidad

Similar a Alfresco Enterprise: Escalabilidad y Tuning (20)

PDF
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
PDF
11 Integracion Alfresco Y Sap Neurowork Why Floss
PDF
11 Integracion Alfresco Y Sap Neurowork Why Floss
PDF
11 Integracion Alfresco Y Sap Neurowork Why Floss
PDF
Integración y caso de éxito Alfresco y SAP
PDF
Entonamiento y perfilado de Drupal
PDF
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
PPTX
Performance en Drupal 7
PDF
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
PPTX
Dev ops with Data
PDF
Sitios web de alto rendimiento y alta disponibilidad
PDF
Big Data para desarrolladores utilizando Hadoop y OpenStack
PDF
Big data para desarrolladores utilizando hadoop y openstack
ODP
Importar materiales de WebCT a Moodle (SCORM)
PDF
Características de 10 lenguajes de programación
PPT
PDF
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
PDF
Desarrollo en Android: Conceptos Básicos
PDF
SG 09 Patrones de Integración Empresarial Apache Camel
PPTX
herramientas tecnológicas
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
11 Integracion Alfresco Y Sap Neurowork Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
Integración y caso de éxito Alfresco y SAP
Entonamiento y perfilado de Drupal
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Performance en Drupal 7
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Dev ops with Data
Sitios web de alto rendimiento y alta disponibilidad
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big data para desarrolladores utilizando hadoop y openstack
Importar materiales de WebCT a Moodle (SCORM)
Características de 10 lenguajes de programación
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Desarrollo en Android: Conceptos Básicos
SG 09 Patrones de Integración Empresarial Apache Camel
herramientas tecnológicas
Publicidad

Más de Toni de la Fuente (20)

PPTX
SANS Cloud Security Summit 2018: Forensics as a Service
PPTX
OWASP Atlanta 2018: Forensics as a Service
PPTX
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
PDF
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
PPTX
Prowler: BlackHat Europe Arsenal 2018
PDF
Alfresco DevCon 2019: Encryption at-rest and in-transit
PPTX
From zero to hero Backing up alfresco
PPTX
TTL Alfresco Product Security and Best Practices 2017
PPTX
Automate or die! Rootedcon 2017
PDF
Seguridad en Internet para todos los públicos
PDF
Storage and Alfresco
PDF
Alfresco security best practices CHECK LIST ONLY
PDF
Alfresco Security Best Practices Guide
PDF
Alfresco Security Best Practices 2014
PDF
Alfresco Backup and Disaster Recovery White Paper
PPTX
Alfresco One (Enterprise) vs Alfresco Community 2014
PPTX
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
PDF
Comparativa entre Alfresco Enterprise vs Community
PDF
Alfresco Security Best Practices 2012
PPT
Monitoring Alfresco with Nagios/Icinga
SANS Cloud Security Summit 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a Service
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Prowler: BlackHat Europe Arsenal 2018
Alfresco DevCon 2019: Encryption at-rest and in-transit
From zero to hero Backing up alfresco
TTL Alfresco Product Security and Best Practices 2017
Automate or die! Rootedcon 2017
Seguridad en Internet para todos los públicos
Storage and Alfresco
Alfresco security best practices CHECK LIST ONLY
Alfresco Security Best Practices Guide
Alfresco Security Best Practices 2014
Alfresco Backup and Disaster Recovery White Paper
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Comparativa entre Alfresco Enterprise vs Community
Alfresco Security Best Practices 2012
Monitoring Alfresco with Nagios/Icinga

Último (20)

PDF
La electricidad y la electrónica por Antonia Diaz Bernal
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
Que son las redes de computadores y sus partes
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PDF
ACTIVIDAD 2.pdf j
PDF
Conceptos básicos de programación tecnología.pdf
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PDF
clase auditoria informatica 2025.........
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PDF
diagrama de pareto.pdf valerie giraldo diaz
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PPTX
Administración se srevidores de apliaciones
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
La electricidad y la electrónica .pdf n
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
La electricidad y la electrónica por Antonia Diaz Bernal
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Que son las redes de computadores y sus partes
Yogurt de tocosh (1).pptx preparacion receta
ACTIVIDAD 2.pdf j
Conceptos básicos de programación tecnología.pdf
Las nuevas tecnologías en la salud - enfermería técnica.
clase auditoria informatica 2025.........
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
diagrama de pareto.pdf valerie giraldo diaz
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Temas y subtemas de las fichas 1 y 2.pdf
Administración se srevidores de apliaciones
Presentación PASANTIAS AuditorioOO..pptx
La electricidad y la electrónica .pdf n
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...

Alfresco Enterprise: Escalabilidad y Tuning

  • 1. Alfresco  Enterprise:  Escalabilidad  y  Tuning   Toni  de  la  Fuente   Senior  Solu/ons  Engineer     Spain  &  Portugal   toni.delafuente@alfresco.com  
  • 2. El webinar comenzará en unos minutos. Las líneas de voz de los asistentes estarán desactivadas. Use el área de chat “Q&A” para hacer las preguntas que responderemos al finalizar la sesión. 2
  • 3. Contenidos ●  Componentes  de  la  arquitectura   ●  Escenarios  de  soluciones  Alfresco   o  Carga  masiva  de  contenidos   o  Plataforma  combinada:  contenidos,  acciones,  usuarios   ●  Pruebas  de  carga   ●  Conclusiones  y  preguntas   3  
  • 4. Componentes  de  la  arquitectura   4  
  • 5. Componentes 1.  Repositorio  Alfresco   2.  Alfresco  Share   3.  Aplicaciones  de  terceros   4.  Base  de  datos   5.  Content  Store   6.  Índices   5  
  • 6. Escenarios  de  la  solución   6  
  • 7. Gestión completa de contenidos Ges/ón  de   Ges/ón   Colaboración   Ges/ón  de   Archivo     Contenidos   Documental   Expedientes   Email   Web   ¿Interfaces?   ¿Número  de  …?   ¿Tipos  de  contenido?   Un  repositorio   construido  con  una  base   ¿Cuantos   tecnológica  sólida   componentes?   7  
  • 8. ¿Lo mismo para todos? 8  
  • 9. Soluciones con Alfresco según el uso 1.  Plataforma  de  carga  masiva   •  Alto  rendimiento  en  procesos  por  lotes,  5+  millones  de   documentos,  asequible   •  Ej:  archivo  y  digitalización  masiva   2.  Plataforma  empresarial  de  colaboración   ●  Uso  intenso  de  sistema  de  ficheros,  mezcla  entre   contenido  e  interfaz   ●  Ej:  Colaboración,  ges/ón  del  conocimiento,  contenidos   generados  por  los  usuarios   9  
  • 10. Los 3 procesos más importantes Arquitectura (1) Diseño Tuning (2) (3) 10  
  • 11. Carga  masiva  de  contenidos   11  
  • 12. Requerimientos de Carga masiva de contenidos ●  100-­‐1000  usuarios  (sólo  con  acceso  de  lectura)   ●  10.000  documentos  cargados  por  día  durante  horas   nocturnas   ●  20  millones  de  documentos  al  año   ●  Tipos  de  documentos:  PDF,  TIFF,  JPG   ●  Sólo  lectura,  sin  indexado  total,  modelo  de  contenido  básico   ●  Pocas  o  ninguna  reglas  o  acciones   ●  Sin  transformación  de  contenido   ●  Ges/ón  del  contenido  centralizado   ●  Interfaces:  aplicación  externa,  API  na/va,  WebScripts,  CMIS.   No  CIFS/WebDAV/FTP  o  Webclient   12  
  • 13. Consideraciones de arquitectura ●  Uso  de  CPU  y  memoria  intensivo   o  Escalar  ver/calmente  en  lugar  de  horizontalmente   ●  Los  procesos  batch  son  la  CLAVE   o  Atómicos  -­‐>  Escalar  ver/calmente,  +CPU  +Memoria   o  Paralelos  -­‐>  Escalar  horizontalmente  con  2  Repositorios  en  cluser   compar/endo  un  mismo  almacenamiento.   ●  Escalar  (ver/cal  y  horizontalmente)  el  almacenamiento   o  Caringo  CAStor   o  Content  Store  Selector   o  Escalar  y  op/mizar  la  BBDD  (Mysql  proxy  /  Oracle  RAC)   ●  Evitar  Sparc  T2000  series  (y  familia  similar)   13   o  Bueno  para  proceso  paralelo  pero  pobre  en  operaciones  atómicas  
  • 14. Dos capas 14  
  • 16. Buenas prácticas en diseño ●  Optimiza los procesos batch o  API nativa o  Más de un documento por transacción o  Ejemplo: 150 crear, 50 borrar ●  Distribuye el contenido o  Balancea el árbol de contenidos o  Puede servir multi-tenant? (batch paralelos e independientes) ●  Consideraciones para cargas masivas o  Evita envíos a la papelera con cm:temporary ●  Optimización de los índices o  DoNotIndex aspect 16  
  • 17. Buenas prácticas en optimización ●  Optimización de I/O Ejemplo de configuración JVM : o  Mejor elección: Discos Locales * -server –Xms6G –Xmx6G o  Latencia de red con la RDBMS -XX:PermSize=256m -XX:MaxPermSize=256m ●  Configuración a nivel ORM -XX:NewRatio=2 -XX:+UseParNewGC o  Tuning del “connection pool” -Xloggc:/tmp/gc.log -verbose:gc o  Desabilitar la caché de consultas -XX:+PrintGCTimeStamps durante la importación -XX:+PrintGCDetails ●  Evita características innecesarias o  Auditoría / Quotas o  Check ACL (ejecuta como admin) / Reglas o  Subsystems (ej. VFS) ●  Tuning de Lucene 17   o  index.tracking.disableInTransactionIndexing=true o  mergeFactor
  • 19. Plataforma de colaboración ●  100-­‐10.000  usuarios  (lectura  y  escritura)   o  Ges/ón  del  contenido  descentralizado   ●  10.000-­‐1  millón  de  documentos  (o  incluso  10  millones  )   ●  1000  actualizaciones  de  documentos  por  día   ●  Múl/ples  versiones  por  documento   o  Tipos  de  documentos:  Office,  dibujo,  imágenes,  etc.   o  Gran  uso  de  transformación  del  contenido  (PDF,  Flash,  thumbnail)   ●  Indexación  completa  de  todos  los  documentos   o  Múl/ples  modelos  de  contenido   ●  Múl/ples  (avanzadas)  reglas  y  acciones   ●  ACL  dinámicas  (múl/ples  cambios  con/nuamente)   ●  Interfaces:  Todas.  Para  DM  principalmente  CIFS/WebDAV.  Para   colaboración  Share/Webclient.  Webscripts  para  aplicaciones  y/o  portlets   19  
  • 20. Consideraciones de arquitectura ●  Despliegue  total  de  la  plataforma   o  Plataforma  de  DM/Colaboración  con  múl/ples  procesos  involucrados   o  Global  (sin  ventanas  de  mantenimiento)   ●  Escalar  Share  horizontalmente  de  forma  independiente  al  repositorio   o  Balanceo  de  carga  frontal  e  “intercapa”   o  Separar  lectura  de  escritura  y  tareas  programadas   ●  Separar  el  servidor  de  transformaciones   o  Servidor  independiente   o  Daemon  Open  Office   ●  Escalado  horizontal  y  ver/cal  de  la  infraestructura   o  Escalar  CIFS  con  DFS   o  Todos  los  protocolos  basados  en  HTTP  escalan  de  forma  similar  (incluido  SPP/7070)   ●  Balancea  mul/-­‐CPU  (scale  up)  y  cluster  mul/-­‐nodo  (scale  out)   o  Ojo  con  los  índices   20  
  • 21. Plataforma de contenidos transparente 21  
  • 22. Buenas prácticas en diseño ●  Distribuir  y  balancear  el  árbol  de  contenidos  FUNDAMENTAL!   o  La  ges/ón  descentralizada  es  compleja   o  Usa  conceptos  comunes  (espacios,  e/quetas,  categorías)   ●  Ojo  con  con  las  versiones  y  los  índices   o  No  apliques  cm:versionable  a  todo  el  cm:content   o  Usa  el  VersionCleaner   ●  Modelado  de  datos   o  Mejor  aspectos  que  /pos  /  reu/lización  de  metadatos   o  Opciones  de  indexado  de  los  contenidos   ●  Cuotas  y  usos   o  Debemos  preveer  una  “explosión”  del  repositorio   22  
  • 23. Buenas prácticas en optimización ●  RDBMS     ●  No  dejes  la  configuración  por  defecto  -­‐-­‐>  RTFM  :)   ●  Configuración  de  la  capa  ORM   ●  L2  cache:  incremento  lineal  con  la  memoria  RAM   ●  Incrementa  el  connec/on  pool  y  connec/on  threads    con  la  RBDMS  (db.pool.max)   ●  Configuración  óp/ma  de  Alfresco   ●  VFS  thread  pool  (por  defecto:    <threadPool init="25" max="50"/>    )   ●  Op/miza  el  uso  de  ACLs  y  precarga  de  búsquedas  más  usadas  (si  es  necesario)    system.acl.maxPermissionCheckTimeMillis=10000 system.acl.maxPermissionChecks=1000 ●  Op/mización  de  Lucene   ●  lucene.maxAtomicTransformationTime=20 23   ●  lucene.indexer.mergeFactor
  • 25. Alfresco Benchmarks ●  Alfresco  Benchmark  Tools   o  alfresco-­‐bm  -­‐  hup://wiki.alfresco.com/wiki/Server_Benchmarks   o  SimpleInjector  -­‐  (disponible  en  partners.alfresco.com  en  unos  días)   o  JMeter   o  CIFS  loading   ●  Resultados  sobre  pruebas  de  carga  con  Alfresco   o  Unysis  benchmark  results   o  JCR  Benchmarks   ●  WIP   o  Documento  sobre  escalabilidad  para  partners.   o  Más  información  para  +3.4     25  
  • 26. Controla tu solución Alfresco ●  Usa  el  modo  debug!   ●  Análisis  de  Alfresco   o  JMX  (for  Enterprise  Only  see  Admin  Guide)   hup://wiki.alfresco.com/wiki/JMX   o  Audit  Surf   hup://forge.alfresco.com/projects/auditsurf/   o  Nagios  integra/on   hup://forge.alfresco.com/projects/nagios4alfresco/   ●  Análisis  de  la  Infraestructura   o  VisualVM  (JVM)   hup://ur.ly/esjZ   o  YourKit  (JVM)   hup://wiki.alfresco.com/wiki/JMX   o  WireShark  (Network)   hup://www.wireshark.org/   o  Mysql  Query  Profiler  (DBMS)   26   hup://dev.mysql.com/tech-­‐resources/ar/cles/using-­‐new-­‐query-­‐profiler.html  
  • 28. Escalar horizontalmente vs. verticalmente Pros   Contras   Mejora  el  rendimiento  en   Coste  de  procesadores   procesos  batch   Escalar   Ver/calmente   Mejora  el  rendimiento  en  las   Posible  coste  adicional  en   transformaciones   suscripciones   Mejora  el  rendimiento  en   Tiempo  para  sincronización   procesos  paralelos   de  los  índices   Escalar   Posible  coste  adicional  en   Alta  Disponibilidad   Horizontalmente   suscripciones   Separación  de  Lectura/ Necesita  balanceo/caching   Escritura   28  
  • 29. Las reglas de oro ●  Elige  la  arquitectura  correcta   ●  Distribuye  la  carga  de  la  infraestructura   ●  Aprovecha  las  capas  para  caché   ●  Maximiza  el  uso  de  la  plataforma   ●  Ten  en  cuenta  el  rendimiento  de  tu  aplicación  durante  el  diseño   ●  Elige  la  API  correcta   ●  Desac/va  lo  que  no  u/lices  (ACLs,  indexado,  VFS,  etc.)   ●  Prueba  todo  en  la  fase  de  test.   ●  Prueba,  prueba,  prueba   ●  Realiza  las  pruebas  y  compártelas  con  Alfresco  Support  /  Solu/on   Engineering   29  
  • 30. Preguntas y Feedback ●  ¿Alguna  pregunta?   ●  Comparte  las  experiencias  con  nosotros  (buenas  y   malas)   ●  Arquitecturas  escaladas  sa/sfactoriamente   ●  Limitaciones,  cuellos  de  botella   ●  Configuraciones  ú/les  =>  Implementación  =>  Resultados   ●  Qué  funciona  y  qué  no  funciona.   30  
  • 31. Gracias por asistir al webinar Toni de la Fuente! toni. delafuente@alfresco.com! twitter: @toniblyx ! blog: http://blyx.com! 31