Performance

Bloomreach Content is designed for high performance. Performance testing is integrated into the product development process, using real-world data and scenarios. The platform delivers personalized content efficiently by applying multiple caching strategies and modern delivery techniques.

Application-Level Caching

Bloomreach Content implements caching at several layers within its architecture.

The content repository application uses the Bundle Cache to store raw data from the persistence layer in memory. You can configure the size of this in-memory cache.

The delivery tier maintains in-memory model representations based on repository configuration and uses four distinct caches:

  • Binaries Cache: Caches static resources stored in the content repository, such as PDFs and images. You can configure this cache to use memory or disk storage.
  • WebFiles Cache: Caches developer-provided static web application resources from the repository, such as CSS or JavaScript files, rather than user-generated content.
  • Node Cache: Caches the contents of individual JCR nodes, including content items (documents) and configuration data such as page layouts and URL mappings. The cache uses the observation pattern to invalidate entries when the corresponding repository node changes.
  • Page Cache: Caches fully aggregated web pages. Pages are served directly from the cache unless content or configuration changes. When a modification occurs, the delivery tier receives a notification and invalidates the cached page. During page re-aggregation, the cache can serve stale entries to maintain low response times.

An Enterprise Caching add-on is available for the delivery tier. This add-on extends the community Page Cache and provides a general-purpose, cluster-wide cache using Redis. Developers can use this cache to store results of expensive operations, such as external service lookups, and share them across the cluster.

Caching architecture diagram with authoring, delivery, repository, and cache components

Diagram: The diagram illustrates the component architecture. Authoring and Delivery connect via a REST interface and both interact with a JCR 2.0 connection point. Delivery uses four cache components: Page Cache, Node Cache, Web Files Cache, and Binaries Cache. The Content Repository connects to a Bundle Cache and persists data to an RDBMS through JDBC. Delivery uses multiple cache layers, while repository content is stored in a database and an additional bundle cache.

AJAX and Edge Side Includes for Personalized Page Components

The delivery tier can render personalized page components asynchronously using AJAX or Edge Side Includes. This approach allows the non-personalized parts of a page to be cached at the application level and by local proxies or client-side caches.

Content Delivery Networks

The delivery tier supports serving static resources—such as images, PDF documents, CSS, and JavaScript files—through Content Delivery Networks as a standard configuration option.

Share Feedback
Page: /about/why-brxm/performance
Section: About
Category *