Authoring-time VS Runtime
Outline
- Runtime performance = public site speed (rendering, APIs, caching, CDN, DB access).
- Authoring-time performance = CMS UI + workflows (tree browsing, edit mode, publish latency, indexing).
- Shared infrastructure means changes can help one side while hurting the other (cache freshness vs speed).
- Best outcome comes from selective caching + lightweight publishing pipelines + measurable editorial UX.
Introduction
Performance in Optimizely CMS 12 (PaaS) must be evaluated from two distinct but interconnected perspectives: authoring-time performance and runtime performance. Developers new to the platform often focus primarily on frontend load times and caching strategies. However, in enterprise CMS environments, performance must also account for editorial workflows, content indexing, search operations, and administrative responsiveness.
This article explores the conceptual and technical differences between authoring-time and runtime performance in CMS 12, how architectural decisions impact both, and how developers can design solutions that balance editorial productivity with end-user speed.
Understanding the two performance contexts
Runtime performance
Runtime performance refers to the performance characteristics of the public-facing application. This includes:
- Page rendering speed
- API response times
- CDN delivery latency
- Caching effectiveness
- Database access patterns
Runtime performance directly affects visitors, customers, and search engine indexing.
Authoring-time performance
Authoring-time performance refers to the responsiveness and scalability of the editorial and administrative interfaces. This includes:
- Page tree loading in the CMS UI
- Block and media library browsing
- Content save and publish operations
- Search and indexing inside the CMS
- Property rendering in edit mode
Poor authoring-time performance reduces editorial efficiency and increases operational friction.
Although these two contexts share infrastructure, they are not optimized in the same way.
Runtime performance considerations
Runtime performance in CMS 12 is influenced by rendering logic, caching configuration, and resource delivery strategies.
1. Caching and output strategy
Runtime optimization frequently relies on fragment caching and response caching. The ASP.NET Core response caching model is supported in CMS 12.
Example of response caching in a controller:
This reduces repeated rendering cost but must only be used for content that is identical for all users.
Fragment caching in Razor views can be applied using the built-in cache tag helper:
Fragment caching improves performance for shared components without affecting the entire page.
2. CDN integration
Runtime performance significantly improves when static resources are served via a CDN.
Client resource configuration example in appsettings.json:
CDNs reduce origin load and latency for globally distributed audiences.
3. Database and content retrieval
Optimizely CMS uses an internal object cache to reduce database calls for content retrieval. However, inefficient querying patterns or unnecessary repository calls can still degrade runtime performance.
Developers should:
- Avoid excessive recursive content loading
- Limit dynamic queries during rendering
- Prefer strongly typed content models over dynamic lookups
4. Search and indexing impact
Large sites relying heavily on search or filtering must consider indexing overhead and query performance. Improper indexing strategies can impact both runtime response times and editorial indexing delays.
Authoring-time performance considerations
Authoring-time performance is frequently overlooked but becomes critical in enterprise deployments.
1. Content tree and structure
Large hierarchical content structures increase load time in the editorial interface.
Best practices include:
- Avoiding excessive child nodes under a single parent
- Structuring content into logical segments
- Archiving unused content
Deep trees impact UI rendering and navigation speed.
2. Property complexity in edit mode
Complex property types and heavy initialization logic inside content types can slow down the editing interface.
Developers should avoid:
- Executing heavy service calls during property rendering
- Performing runtime queries inside custom editor descriptors
- Adding unnecessary metadata calculations in edit mode
Authoring performance is sensitive to what happens inside content type constructors and property getters.
3. Publishing and event handling
Publishing triggers indexing, cache invalidation, and event pipelines.
If event handlers perform expensive operations (external API calls, heavy recalculations), publishing latency increases.
Developers should:
- Keep publish event handlers lightweight
- Offload heavy processing to background jobs
- Avoid synchronous remote calls during content save
4. Large media libraries
Unoptimized media storage can slow media browsing in the CMS UI.
Performance recommendations for large media repositories include:
- Logical folder segmentation
- Avoiding extremely large flat media directories
- Using structured naming conventions
Shared infrastructure considerations
Both authoring and runtime performance share infrastructure components:- Application instances
- Database
- Search indexing
- Distributed cache
Optimizations applied for runtime can negatively impact authoring if not carefully designed. For example:
- Aggressive response caching may prevent editors from seeing updated content.
- Heavy CDN caching without proper invalidation can delay visibility of published updates.
Therefore, performance strategies must be environment-aware.
Release and platform improvements (PaaS context)
Recent CMS 12 PaaS releases emphasize performance, stability, and infrastructure improvements. Platform updates frequently include enhancements in:- Indexing performance
- Background processing stability
- CMS UI responsiveness
- Resource handling efficiency
Developers should monitor release notes and platform updates, as improvements at the infrastructure level can significantly affect both authoring and runtime experiences without code changes.
Balancing authoring and runtime optimization
A mature CMS solution does not optimize for one context at the expense of the other.
Developers should:- Separate editorial and public traffic patterns
- Use selective caching rather than blanket caching
- Ensure publish workflows trigger appropriate cache invalidation
- Measure editorial UI performance during load testing
Performance should be evaluated under both visitor load and editorial activity.
Conclusion
Authoring-time and runtime performance are distinct but interconnected dimensions of performance in Optimizely CMS 12 (PaaS).
Runtime performance focuses on rendering speed, caching efficiency, and CDN distribution. Authoring-time performance focuses on CMS UI responsiveness, publishing latency, indexing efficiency, and editorial workflows.
Effective optimization requires understanding how caching, indexing, event handling, and infrastructure configuration influence both contexts. By designing solutions that respect editorial workflows while maximizing delivery performance, developers can build scalable, maintainable CMS 12 solutions suitable for enterprise environments.
