Planning for High Performance ECM Applications
Some good content recently updated in the Nuxeo Documentation Center on a topic that is a constant struggle for ECM administrators and application developers. Performance, performance, performance....
Nuxeo CTO Thierry Delprat and the dev team have collected the most essential elements of performance planning into a clear list of the elements that will (and also will not) affect performance of a Nuxeo EP or DM-based application.
This is an important read, because many of these factors are specific not only just to Nuxeo ECM deployments, but are the very same challenges and bottlenecks encountered by content management practitioners using many of the major products in the market.
Key Performance Considerations
- Security - the more complex the Access Control Lists (ACLs) on content, the more impact on overall performance. Complex rules, multi-layer ACLs mean more calculation and verification needs to be done by the system before content is presented to a particular user after search or navigation. Make sure there is good and sensible alignment with business rules and policies to make most efficient use of this very powerful content control capability.
- Presentation Layer - bottlenecks in the browser are possible if default templates or custom UIs are not designed correctly. The default templates provided by Nuxeo are very well-tested and optimized for high performance results to users, so ensure they are modified carefully.
- Document Types - the more complex the metadata for specific document types, the longer it could take to fetch, sort and retrieve content. Make sure the metadata added to the content capture process meets all the essential business needs, but isn't collected for the sake of collection, thereby potentially bogging down the system.
- Document Volume - very large repositories can impact performance due to ACL checks when searching, metadata complexity, and overall database size. The good news is that Nuxeo does aggressive and regular benchmarks on test repositories in the 10s of millions of documents, ensuring tuning and continuous improvement is a constant focus.
- Concurrent Requests - performance is much less affected by the overall number of users in the system than concurrent activities. So tune overall systems based on the number of concurrent transactions and requests, not just based on number of people with IDs in the system.
And what doesn't affect performance significantly? Factors like:
- File size - big video or image files don't impact performance in a significant way. Other than upload/download times which is more dependent on overall network performance, large files will not adversely affect the ECM application. For sites that are full-text indexing content, however, should be aware that very text-heavy files will contribute to overall larger indexing files. Video, audio, digital photos, while large in size, have little text and thus minor impact on full-text indexes.
- Documents Per Folder - With the Nuxeo VCS (Virtual Content Store) architecture, there is little impact on performance even with hundreds or thousands of documents inside a single folder. A more important consideration for performance is the complexity of the security ACLs of items inside the folder.
For the full discussion on Performance planning, visit the new Documentation Center. Also don't forget that we'll be doing a deep dive into Performance optimization as part of our program at Nuxeo World, coming up Nov 17-18. To get the first hand knowledge from the gurus, make sure you sign up here.
Category: Industry Insight