Per Nergård (MVP)
+2
Jan 28, 2017
visibility 2977
star star star star star star
(2 votes)

Lots of pages below the same parent and how it effects load time

I guess everybody knows that having to many child pages under the same parent is bad for performance. But exactly how bad and where is the limit.

Since it's now so easy to create your own object and save it to Episerver it can be an option instead of using the DDS. So I decided to do a quick hack to see what type of performance I got on med development virtual machine when having lots of pages below the same parent.

If you aren't aware that you can easily store your own objects in Episerver and manipulate them in the same way you would do with pages read more about it in the docs.

Below is a screen dump of my test after a fresh IIS reset. Call times are in milliseconds. 

Image loadtimes.jpg

Jan 28, 2017

Comments

Daniel Ovaska
Daniel Ovaska Jan 28, 2017 01:45 PM

Hmm yeah. I can't really see the purpose of the DDS. Probably better to spend that development time at Episerver on storing generic content better/easier using the normal IContentRepository.

Feb 1, 2017 10:22 AM

Wonder what the load time would be in an alternative like entity framework? Personally I feel the added extras you get in the UI with IContent simplify feature development.

I guess if you have more than 10,000 entities it becomes noticeable. This is where better management in hierarchies would improve performance. If that's not possible you could always write some "warmup"scheduled job or initialisation to make the Get Children requests so the objects are already cached.

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |