Authoring-time VS Runtime
Outline
- Runtime performance = public site speed (rendering, APIs, caching, CDN, database access)
- Authoring-time performance = CMS UI and 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, and 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 the two performance contexts, how architectural decisions impact both, and how developers can design solutions that balance editorial productivity with end-user speed.
Understanding the Two Performance Contexts
Performance Contexts
Select a context to expand and read the details.
Runtime Performance ▼
Runtime performance refers to the performance characteristics of the public-facing application - what visitors, customers, and search engines experience:
- Page rendering speed
- API response times
- CDN delivery latency
- Caching effectiveness
- Database access patterns
Authoring-time Performance ▼
Authoring-time performance refers to the responsiveness of the editorial and administrative interfaces. Poor authoring-time performance reduces editorial efficiency and increases operational friction:
- 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
Although these two contexts share infrastructure, they are not optimized in the same way - and changes to one can degrade the other.
Runtime Performance Considerations
Runtime performance in CMS 12 is influenced by rendering logic, caching configuration, and resource delivery strategies.
Runtime Optimization Areas
Select an area to expand and read the details.
1. Caching and Output Strategy ▼
Response caching at the controller level reduces repeated rendering cost, but must only be applied to content that is identical for all users:
Fragment caching in Razor views is applied using the built-in <cache> tag helper, improving performance for shared components without affecting the entire page:
2. CDN Integration ▼
Serving static resources via a CDN significantly reduces origin load and latency for globally distributed audiences. Configure the client resource base path in appsettings.json:
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 simultaneously - a problem that spans both performance contexts.
Authoring-time Performance Considerations
Authoring-time performance is frequently overlooked but becomes critical in enterprise deployments with large content teams and high publishing volumes.
Authoring Optimization Areas
Select an area to expand and read the details.
1. Content Tree and Structure ▼
Large hierarchical content structures increase load time in the editorial interface. Deep trees impact UI rendering and navigation speed. Best practices include:
- Avoiding more than 100 child nodes under a single parent (see the 100-item rule)
- Structuring content into logical segments with date or category buckets
- Archiving unused content to keep the active tree lean
2. Property Complexity in Edit Mode ▼
Complex property types and heavy initialization logic inside content types can slow down the editing interface. Authoring performance is sensitive to what happens inside content type constructors and property getters. Developers should avoid:
- Executing heavy service calls during property rendering
- Performing runtime queries inside custom editor descriptors
- Adding unnecessary metadata calculations that run in edit mode
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 directly for editors. Developers should:
- Keep publish event handlers lightweight and fast
- Offload heavy processing to background scheduled jobs
- Avoid synchronous remote calls during content save or publish events
4. Large Media Libraries ▼
Unoptimized media storage can slow media browsing in the CMS UI. Recommendations for large media repositories:
- Apply logical folder segmentation rather than flat directories
- Avoid extremely large flat media directories that require scrolling thousands of items
- Use structured naming conventions to aid search and navigation
Shared Infrastructure Considerations
Both authoring and runtime performance share the same infrastructure - application instances, database, search indexing, and distributed cache. Optimizations applied for one context can negatively impact the other if not carefully designed:
- Aggressive response caching may prevent editors from seeing updated content immediately after publishing.
- Heavy CDN caching without proper invalidation can delay the visibility of published updates across the site.
Note: Performance strategies must be environment-aware. A cache duration that works well for a high-traffic public site may be unacceptable in an editorial environment where content freshness matters within seconds of publishing.
Platform Improvements (PaaS Context)
Recent CMS 12 PaaS releases emphasize performance, stability, and infrastructure improvements. Platform updates frequently include enhancements to indexing performance, background processing stability, CMS UI responsiveness, and 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 requiring code changes.
Balancing Authoring and Runtime Optimization
A mature CMS solution does not optimize for one context at the expense of the other. Performance should be evaluated under both visitor load and editorial activity. Developers should:
- Separate editorial and public traffic patterns - consider whether the editorial interface and public delivery can be isolated at the infrastructure level.
- Use selective caching rather than blanket caching - vary by user, by content type, and by publishing frequency.
- Ensure publish workflows trigger appropriate cache invalidation - editors should see their changes reflected promptly.
- Measure editorial UI performance during load testing - simulate editorial activity alongside visitor load, not only separately.
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.
