SlideShare una empresa de Scribd logo
1 de 25
BP-1 - Alfresco Environment Validation & "Day Zero" Configuration 1 Peter Monks Director, Professional Services, Alfresco twitter: @pmonks, @AlfrescoPS
Agenda 2 “Day Zero” Configuration Environment Validation ,[object Object]
Why perform it, and when?
Validation steps
Environment Validation Tool
Alfresco’s default configuration
What is “Day Zero” configuration?
Why perform it, and when?
Configuration steps,[object Object]
Environment Validation 4 Why? To pro-actively avoid issues, before they occur When? Prior to installing Alfresco for any purpose: Evaluation Development QA / Test Production mirror Production Disaster recovery All installations benefit from this process! Why perform it, and when? Copyright © Hergé / Moulinsart
Environment Validation 5 Supported Platforms http://www.alfresco.com/services/subscription/supported-platforms/ Server hardware CPU clock speed (2.5+Ghz) 32 bit vs 64 bit OS configuration File handles (Unix-like OSes – 4096+) Port availability Availability of JLAN DLLs (Windows) Validation Steps
Environment Validation 6 3rd party applications OpenOffice ImageMagick SWFTools Database configuration Character encoding (UTF8) MySQL database engine (InnoDB) Network characteristics DNS configuration (for clustering) Database server Connectivity Packet loss Latency Validation Steps (cont.)
Environment Validation 7 BUT WAIT! Can’t this be automated?
Environment Validation 8 Why yes it can… …introducing the “Environment Validation Tool”! Environment Validation Tool Copyright © Hergé / Moulinsart
Environment Validation 9 What does it do? Checks Supported Platforms† Checks environment† How do I run it? Command line Java program Dependencies: JDK 1.2+ (1.4+ in next version) JDBC driver Can be run prior to installation (or even download) of Alfresco How do I get it? Available for download from Alfresco Knowledge Base † Some manual validation may still be necessary. Environment Validation Tool
Environment Validation 10 Environment Validation Tool Demo
“Day Zero” Configuration 11 Optimized for evaluation of Alfresco Assumptions: Single user Minimal traffic & concurrency Small content set Low-end machine (laptop) Resulting configuration: Maximizes available functionality Optimizes resource usage over performance / scalability ∴ NOT SUITABLE FOR TEST OR PRODUCTION! Alfresco’s Default Configuration
“Day Zero” Configuration 12 Environment Validation Reconfiguration of Alfresco for: High traffic Concurrent transactions Large content sets Production grade hardware What is “Day Zero” configuration?
“Day Zero” Configuration 13 Why? To pro-actively avoid issues, before they occur When? Prior to installing Alfresco for: Development QA / Test, particularly performance test Production mirror Production Disaster recovery Even evaluation environments can benefit, if going beyond “kicking the tyres” Why perform it, and when? Copyright © Hergé / Moulinsart
“Day Zero” Configuration 14 Increase maximum heap (-Xmx) to at least 1GB If the server has sufficient RAM, ideally: 1.5GB on 32bit JVM 2+GB on 64bit JVM Configured in alfresco.[sh|bat] startup script: Attend session “BP-2 - Scale your Alfresco Solutions” for more on tuning Configuration Steps – JVM Heap … export JAVA_OPTS='-Xms512m –Xmx2048m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -server' …
“Day Zero” Configuration 15 Set “dir.root” to an absolute path Configured in alfresco-global.properties: Configuration Steps – dir.root … # # Sample custom content and index data location #------------- dir.root=/var/lib/alfresco/alf_data …
“Day Zero” Configuration 16 Ensure your database can accept 300 connections per Alfresco instance (cluster node) Configuration specifics vary, depending on your database Configuration Steps – Database Connections
“Day Zero” Configuration 17 Add “db.pool.max” property and set it to 275 Configured in alfresco-global.properties: Configuration Steps – db.pool.max … # # Sample database connection properties #------------- db.name=alfresco db.username=alfresco db.password=alfresco db.host=localhost db.port=3306 db.pool.max=275 …
“Day Zero” Configuration 18 Add “hibernate.jdbc.fetch_size” property and set it to 150 Note: not used by some databases, but a good habit to change it anyway Configured in alfresco-global.properties: Configuration Steps – JDBC Fetch Size … # # Sample database connection properties #------------- db.name=alfresco db.username=alfresco db.password=alfresco db.host=localhost db.port=3306 db.pool.max=275 hibernate.jdbc.fetch_size=150 …
“Day Zero” Configuration 19 Enable JODConverter based integration with OpenOffice Configured in alfresco-global.properties: Configuration Steps – JODConverter … # # External locations #------------- ooo.exe=soffice jodconverter.officeHome=./OpenOffice.org jodconverter.portNumbers=8101 ooo.enabled=false jodconverter.enabled=true img.root=./ImageMagick swf.exe=./bin/pdf2swf …

Más contenido relacionado

La actualidad más candente

Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePointJeremy Thake
 
Network Automation with Ansible
Network Automation with AnsibleNetwork Automation with Ansible
Network Automation with AnsibleAnas
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerMatthias Einig
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!Jeff Geerling
 
Making own AMP stack with Homebrew on a Mac
Making own AMP stack with Homebrew on a MacMaking own AMP stack with Homebrew on a Mac
Making own AMP stack with Homebrew on a Macrkalnins
 
Oracle forms and reports 11g installation on linux
Oracle forms and reports 11g installation on linuxOracle forms and reports 11g installation on linux
Oracle forms and reports 11g installation on linuxVenu Palakolanu
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: CachingScott MacVicar
 
Ansible + WordPress
Ansible + WordPressAnsible + WordPress
Ansible + WordPressAlan Lok
 
Known basic of NFV Features
Known basic of NFV FeaturesKnown basic of NFV Features
Known basic of NFV FeaturesRaul Leite
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Alan Lok
 
How to upgrade ios image on cisco catalyst switch or cisco router
How to upgrade ios image on cisco catalyst switch or cisco routerHow to upgrade ios image on cisco catalyst switch or cisco router
How to upgrade ios image on cisco catalyst switch or cisco routerIT Tech
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfvvideos
 
Cfengine presentation at the RMLL
Cfengine presentation at the RMLLCfengine presentation at the RMLL
Cfengine presentation at the RMLLRUDDER
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Yury Pliashkou
 
The Silence of the Installers
The Silence of the InstallersThe Silence of the Installers
The Silence of the InstallersKlaus Bild
 
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Software
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modulesmohamedmoharam
 
Hands On Introduction To Ansible Configuration Management With Ansible Comple...
Hands On Introduction To Ansible Configuration Management With Ansible Comple...Hands On Introduction To Ansible Configuration Management With Ansible Comple...
Hands On Introduction To Ansible Configuration Management With Ansible Comple...SlideTeam
 

La actualidad más candente (20)

Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePoint
 
infra-as-code
infra-as-codeinfra-as-code
infra-as-code
 
Network Automation with Ansible
Network Automation with AnsibleNetwork Automation with Ansible
Network Automation with Ansible
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution Deployer
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!
 
Making own AMP stack with Homebrew on a Mac
Making own AMP stack with Homebrew on a MacMaking own AMP stack with Homebrew on a Mac
Making own AMP stack with Homebrew on a Mac
 
Oracle forms and reports 11g installation on linux
Oracle forms and reports 11g installation on linuxOracle forms and reports 11g installation on linux
Oracle forms and reports 11g installation on linux
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
 
Ansible + WordPress
Ansible + WordPressAnsible + WordPress
Ansible + WordPress
 
Known basic of NFV Features
Known basic of NFV FeaturesKnown basic of NFV Features
Known basic of NFV Features
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016
 
How to upgrade ios image on cisco catalyst switch or cisco router
How to upgrade ios image on cisco catalyst switch or cisco routerHow to upgrade ios image on cisco catalyst switch or cisco router
How to upgrade ios image on cisco catalyst switch or cisco router
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfv
 
Perl
PerlPerl
Perl
 
Cfengine presentation at the RMLL
Cfengine presentation at the RMLLCfengine presentation at the RMLL
Cfengine presentation at the RMLL
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11
 
The Silence of the Installers
The Silence of the InstallersThe Silence of the Installers
The Silence of the Installers
 
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modules
 
Hands On Introduction To Ansible Configuration Management With Ansible Comple...
Hands On Introduction To Ansible Configuration Management With Ansible Comple...Hands On Introduction To Ansible Configuration Management With Ansible Comple...
Hands On Introduction To Ansible Configuration Management With Ansible Comple...
 

Similar a Alfresco Environment Validation and "Day Zero" Configuration

EM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACEM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACSecure-24
 
Oracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationOracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationFrancisco Alvarez
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment TacticsIan Barber
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualizationFranck Pachot
 
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...VMworld
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best PracticesEric Bottard
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureMichaël Lopez
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSShixiong Shang
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksSenturus
 
Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrCumulus Networks
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployJared Putman
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
Swift configurator installation-manual
Swift configurator installation-manualSwift configurator installation-manual
Swift configurator installation-manualPramod Sharma
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Michelle Holley
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 

Similar a Alfresco Environment Validation and "Day Zero" Configuration (20)

EM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RACEM12C High Availability without SLB and RAC
EM12C High Availability without SLB and RAC
 
Oracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationOracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c Presentation
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
 
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best Practices
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie Carr
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode Deploy
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
Swift configurator installation-manual
Swift configurator installation-manualSwift configurator installation-manual
Swift configurator installation-manual
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 

Más de Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

Más de Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Último

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Alfresco Environment Validation and "Day Zero" Configuration

  • 1. BP-1 - Alfresco Environment Validation & "Day Zero" Configuration 1 Peter Monks Director, Professional Services, Alfresco twitter: @pmonks, @AlfrescoPS
  • 2.
  • 3. Why perform it, and when?
  • 7. What is “Day Zero” configuration?
  • 8. Why perform it, and when?
  • 9.
  • 10. Environment Validation 4 Why? To pro-actively avoid issues, before they occur When? Prior to installing Alfresco for any purpose: Evaluation Development QA / Test Production mirror Production Disaster recovery All installations benefit from this process! Why perform it, and when? Copyright © Hergé / Moulinsart
  • 11. Environment Validation 5 Supported Platforms http://www.alfresco.com/services/subscription/supported-platforms/ Server hardware CPU clock speed (2.5+Ghz) 32 bit vs 64 bit OS configuration File handles (Unix-like OSes – 4096+) Port availability Availability of JLAN DLLs (Windows) Validation Steps
  • 12. Environment Validation 6 3rd party applications OpenOffice ImageMagick SWFTools Database configuration Character encoding (UTF8) MySQL database engine (InnoDB) Network characteristics DNS configuration (for clustering) Database server Connectivity Packet loss Latency Validation Steps (cont.)
  • 13. Environment Validation 7 BUT WAIT! Can’t this be automated?
  • 14. Environment Validation 8 Why yes it can… …introducing the “Environment Validation Tool”! Environment Validation Tool Copyright © Hergé / Moulinsart
  • 15. Environment Validation 9 What does it do? Checks Supported Platforms† Checks environment† How do I run it? Command line Java program Dependencies: JDK 1.2+ (1.4+ in next version) JDBC driver Can be run prior to installation (or even download) of Alfresco How do I get it? Available for download from Alfresco Knowledge Base † Some manual validation may still be necessary. Environment Validation Tool
  • 16. Environment Validation 10 Environment Validation Tool Demo
  • 17. “Day Zero” Configuration 11 Optimized for evaluation of Alfresco Assumptions: Single user Minimal traffic & concurrency Small content set Low-end machine (laptop) Resulting configuration: Maximizes available functionality Optimizes resource usage over performance / scalability ∴ NOT SUITABLE FOR TEST OR PRODUCTION! Alfresco’s Default Configuration
  • 18. “Day Zero” Configuration 12 Environment Validation Reconfiguration of Alfresco for: High traffic Concurrent transactions Large content sets Production grade hardware What is “Day Zero” configuration?
  • 19. “Day Zero” Configuration 13 Why? To pro-actively avoid issues, before they occur When? Prior to installing Alfresco for: Development QA / Test, particularly performance test Production mirror Production Disaster recovery Even evaluation environments can benefit, if going beyond “kicking the tyres” Why perform it, and when? Copyright © Hergé / Moulinsart
  • 20. “Day Zero” Configuration 14 Increase maximum heap (-Xmx) to at least 1GB If the server has sufficient RAM, ideally: 1.5GB on 32bit JVM 2+GB on 64bit JVM Configured in alfresco.[sh|bat] startup script: Attend session “BP-2 - Scale your Alfresco Solutions” for more on tuning Configuration Steps – JVM Heap … export JAVA_OPTS='-Xms512m –Xmx2048m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -server' …
  • 21. “Day Zero” Configuration 15 Set “dir.root” to an absolute path Configured in alfresco-global.properties: Configuration Steps – dir.root … # # Sample custom content and index data location #------------- dir.root=/var/lib/alfresco/alf_data …
  • 22. “Day Zero” Configuration 16 Ensure your database can accept 300 connections per Alfresco instance (cluster node) Configuration specifics vary, depending on your database Configuration Steps – Database Connections
  • 23. “Day Zero” Configuration 17 Add “db.pool.max” property and set it to 275 Configured in alfresco-global.properties: Configuration Steps – db.pool.max … # # Sample database connection properties #------------- db.name=alfresco db.username=alfresco db.password=alfresco db.host=localhost db.port=3306 db.pool.max=275 …
  • 24. “Day Zero” Configuration 18 Add “hibernate.jdbc.fetch_size” property and set it to 150 Note: not used by some databases, but a good habit to change it anyway Configured in alfresco-global.properties: Configuration Steps – JDBC Fetch Size … # # Sample database connection properties #------------- db.name=alfresco db.username=alfresco db.password=alfresco db.host=localhost db.port=3306 db.pool.max=275 hibernate.jdbc.fetch_size=150 …
  • 25. “Day Zero” Configuration 19 Enable JODConverter based integration with OpenOffice Configured in alfresco-global.properties: Configuration Steps – JODConverter … # # External locations #------------- ooo.exe=soffice jodconverter.officeHome=./OpenOffice.org jodconverter.portNumbers=8101 ooo.enabled=false jodconverter.enabled=true img.root=./ImageMagick swf.exe=./bin/pdf2swf …
  • 26. “Day Zero” Configuration 20 Set absolute paths for 3rd party components Configured in alfresco-global.properties: These settings are a little confusing! Configuration Steps – 3rd Party Component Locations … # # External locations #------------- ooo.exe=soffice jodconverter.officeHome=/opt/OpenOffice.org jodconverter.portNumbers=8101 ooo.enabled=false jodconverter.enabled=true img.root=/usr/local swf.exe=/usr/local/bin/pdf2swf … Path to OpenOffice Installation directory Path to directory containing bin/convert executable. Path and filename of pdf2swf executable.
  • 27. Configured in jmxrmi.access and jmxrmi.password Create these files by copying from alfresco-jmxrmi.* templates Usernames configured in jmxrmi.access (not normally changed): Passwords configured in jmxrmi.password (must change!): More documentation on JMX credentials at: http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html “Day Zero” Configuration 21 Configuration Steps – Set JMX Credentials (Enterprise) … monitorRolereadonly controlRolereadwrite … … monitorRolechange_asap controlRolechange_asap …
  • 28. “Day Zero” Configuration 22 Database-related misconfigurations are the single biggest source of performance issues Ensure all database-related “Day Zero” configuration changes are comprehensively applied Ensure your database is regularly tuned and maintained A certified DBA is required to properly support a production Alfresco database†! † Only a part time role, but critical nonetheless. A final word on databases
  • 29. In Conclusion 23 Thoroughly validate your environment Install Alfresco Diligently perform “Day Zero” configuration Start Alfresco (for the 1st time) ??? Profit!! “Day Zero Activities” Copyright © Hergé / Moulinsart
  • 30. Q&A Any questions? Copyright © Hergé / Moulinsart 24
  • 31. Learn More 25 Environment Validation Tool (KB) “Zero Day Configuration Guide” (KB) wiki.alfresco.com forums.alfresco.com twitter: @AlfrescoECM Copyright © Hergé / Moulinsart

Notas del editor

  1. CPU Clock Speed must be > 2.5Ghz64 bit CPU, OS & JVM recommended for all non-development installations.File handles must be >= 4096 on Unix-like Oses (RHEL, Solaris, MacOSX).
  2. Because Alfresco cluster nodes communicate with each other over RMI, it is critical that their hostnames are correctly configured in DNS. Note that this is not strictly necessary for a single-node installation of Alfresco, though still a good idea in the event that a cluster is configured later.
  3. Currently the tool checks the Supported Platforms for Alfresco Enterprise v3.2, but work is underway to release a v3.3 version. The environment validation steps are valid for all versions of Alfresco.Although the tool is currently only available to Enterprise subscribers, work is underway to open source it and make it available to the general public. Note however that some validations (e.g. against the Supported Platforms) don’t make a lot of sense for Alfresco Community.Note also that the Chrome browser has a bug whereby it changes the extension on some of the files it downloads. This bug is triggered by “.jar” files, so you need to make sure you rename the downloaded file to “.jar”, before trying to run it.
  4. Demonstrate the Environment Validation Tool from the command line.Things to show:How the command line is constructed – VERY IMPORTANT SINCE EVERYONE SEEMS TO MESS UP THE DATABASE PARAMETERS IN THE CURRENT VERSION OF THE TOOL!!!!Show a failure – for example shutdown your MySQL instance prior to running the tool and show what happensVerbose mode – show how more details can be obtained on the failure in step 2 by turning on verbose mode (“-v”)Show successful execution – restart MySQL and rerun the toolThings to mention: Warnings are expected, but should be investigated anyway – the tool uses heuristics in some of the tests, and has explicitly been implemented to err on the side of false negatives (tests failing when they shouldn’t) rather than reporting false positives (tests passing when they shouldn’t). This encourages manual validation of any suspicious results, rather than lulling implementers into a false sense of security when something is awry.The tool has been tested on a very wide variety of platforms and machines (most of which are not actually supported by Alfresco itself – a very important test for a tool such as this!)) by our certified partners – they deserve a hearty thank you for their assistance.Feedback on the tool is not only welcome, it is actively encouraged. A tool such as this is remarkably hard to make bulletproof, but that’s our goal with it and the more “battle testing” it gets, the better it will get.
  5. Why make this change?Because it allows Alfresco to handle greater concurrency. Each request to Alfresco requires a certain amount of JVM heap, so the total amount of JVM heap available places an absolute cap on concurrency.Symptoms if this advice isn’t followed:Sporadic OutOfMemoryErrors when Alfresco is under load – exact frequency will depend on the concurrent traffic received by the Alfresco instance.
  6. Why make this change?Because using a relative path can cause Alfresco to be unable to find the content store and Lucene indexes.Symptoms if this advice isn’t followed:“CONTENT INTEGRITY ERROR” appears in log on startup, and Alfresco application is unavailable (does not start).
  7. Why make this change?Because each Alfresco instance (whether independent or a cluster node) can open up to 275 connections to the database.Symptoms if this advice isn’t followed:SQL connection exceptions in the Alfresco logs, resulting in reduced scalability.
  8. Why make this change?Because the default database connection pool (40) is far smaller than the number of concurrent requests Alfresco itself can actually handle (up to ~275 concurrent threads in a single Alfresco instance by default).Symptoms if this advice isn’t followed:Poor scalability (single Alfresco instance that can only support a maximum of 40 concurrent requests). Detailed analysis (e.g. JVM thread dumps) show significant contention for database connections (blocking in the DBCP library).
  9. Why make this change?Because the default JDBC fetch size (10) results in unnecessary “chattiness” between Alfresco and the database server when large (>10 record) resultsets are being processed by Alfresco. This greatly exacerbates any network issues (latency in particular) between Alfresco and the database server that may exist in parallel.Symptoms if this advice isn’t followed:Poor response times, particularly when doing any operation that retrieves or updates a large number of items (e.g. listing a space that has > 10 sub-spaces or files in it). CPU usage of both Alfresco and the database server will be minimal – both will appear to be almost completely idle. Detailed analysis (e.g. JVM thread dumps) will show a significant time spent waiting for network packets within the JDBC driver. Analysis of the network will show an excessively high number of round trips between Alfresco and the database server.
  10. Why make this change?Because the original “direct” OpenOffice integration isn’t as stable or robust as the newer JODConverter based integration. Specifically, it: Uses a pool of OpenOffice daemons, so transformations can run concurrently without being serialised Can automatically restarted crashed or hung OpenOffice daemons Automatically recycles OpenOffice daemons on a set schedule, to minimise the impact of memory leaks etc. in OpenOfficeSymptoms if this advice isn’t followed:Concurrent transformations that require OpenOffice get queued up, resulting in longer response times for documents being transformed. Any issues with the (single) OpenOffice daemon completely prevent those same transformations from executing (Alfresco will report an error instead of performing the transformation). Memory usage of the (single) OpenOffice daemon will grow over time, potentially destabilising the server on which it is running.
  11. Why make this change?Because without it Alfresco will be unable to find the 3rd party components and some functionality will be lost (transformations and metadata extraction from various Office and Image formats, preview)Symptoms if this advice isn’t followed:Concurrent transformations that require OpenOffice get queued up, resulting in longer response times for documents being transformed. Any issues with the (single) OpenOffice daemon completely prevent those same transformations from executing (Alfresco will report an error instead of performing the transformation). Memory usage of the (single) OpenOffice daemon will grow over time, potentially destabilising the server on which it is running.
  12. Note: the values shown here for the usernames and passwords are the Alfresco defaults.
  13. Database issues are the single biggest cause of performance issues with Alfresco, and only an experienced, certified DBA is capable of ensuring that the database is optimally configured, tuned and maintained.