Per Bjurström
Sep 12, 2012
  10625
(6 votes)

EPiServer 7: Startup Performance

One of the areas we have improved is the startup time of EPiServer 7, there is a lot of new functionality  that requires initialization but it actually starts faster that previous versions.

Some of the changes we have done is using parallelization where a single initialization module runs multiple independent tasks in parallel or run some tasks asynchronously. Another change to speed up typed pages is that we precompile the Castle proxies that is backing your custom models , that processes starts in the background before the the first page is accessed. We also enabled the optimizeCompilations by default which I blogged about a few years back, that does a big difference. We also rewrote assembly scanning and implemented a disk based cache and centralized discovery of types to avoid doing reflection over and over again.

To make it easier to debug startup performance there is a hidden gem that displays the last startup and how long time each initialization module needed at http://[site]/[UI]/Shell/Debug/ShowTimeMeters.

 

image

 

There is a web.config setting in appSettings that enables this debug view, you get the name of the key that goes into web.config when you access the url the first time.

Update: If you are running one of the EPiServer 7 preview versions then the URL will be http://[site]/[UI]/modules/Shell/Debug/ShowTimeMeters instead.  Thanks Steve for noticing.

Sep 12, 2012

Comments

Sep 12, 2012 12:21 PM

Fantastic work Per! This will make developing with EPiServer 7 a dream. All tough it offers less "I am just going to grab a coffee while it warms up" breaks :-)

Sep 12, 2012 12:58 PM

Utterly cool! Startup time is amazing in my vm test bench.

Stefan Forsberg
Stefan Forsberg Sep 12, 2012 01:18 PM

This built-in type of diagnostics are great, thanks a lot for adding that!

Sep 12, 2012 01:30 PM

That is wicked cool! Great work!

Sep 12, 2012 02:53 PM

Very nice!

Arild Henrichsen
Arild Henrichsen Sep 13, 2012 09:14 AM

Great to see you are targeting startup performance. +1 for the diagnostics view.

Frederik Vig
Frederik Vig Sep 13, 2012 10:43 AM

Great stuff!

Janne Kuusela Kuusela
Janne Kuusela Kuusela Sep 16, 2013 01:35 PM

Hi, for some reason when I try to access this "showTimeMeters" I get login screen and even though logging in with webAdmins member account I still can't get in. Any idea why?

UPDATE: when testing with local admin account I was able to access, so what special group is used to secure this "ShowTimeMeters"?

Shoma Gujjar
Shoma Gujjar Dec 17, 2013 06:02 PM

For new bees, add the below settings in the web.config app settings file
to be able to view the ShowTimeMeters

Arve Systad
Arve Systad Jul 1, 2014 02:28 PM

@Janne Kuusela You probably have some (or possibly deeper down also) that might give you an idea of what groups are used to secure it (since it resides beneath /Shell/....

Michal Grzegorzak
Michal Grzegorzak Aug 7, 2015 10:29 AM

Have the same problem as @Janne Kuusela. And I don`t have anything to fancy in the access restriction to Epi locations. Any other ideas?

Janne Kuusela Kuusela
Janne Kuusela Kuusela Nov 16, 2015 02:48 PM

@Michal Grzegorzak, you need to be member of group named "Administrators" to be able to see EPiServer debug pages, this is from the controller in question:

    [Authorize(Roles="Administrators")]
    public class EPiDebugController : Controller

Jun 27, 2016 03:52 PM

Thanks Janne, it`s working now!

Please login to comment.
Latest blogs
Opti ID overview

Opti ID allows you to log in once and switch between Optimizely products using Okta, Entra ID, or a local account. You can also manage all your use...

K Khan | Jul 26, 2024

Getting Started with Optimizely SaaS using Next.js Starter App - Extend a component - Part 3

This is the final part of our Optimizely SaaS CMS proof-of-concept (POC) blog series. In this post, we'll dive into extending a component within th...

Raghavendra Murthy | Jul 23, 2024 | Syndicated blog

Optimizely Graph – Faceting with Geta Categories

Overview As Optimizely Graph (and Content Cloud SaaS) makes its global debut, it is known that there are going to be some bugs and quirks. One of t...

Eric Markson | Jul 22, 2024 | Syndicated blog

Integration Bynder (DAM) with Optimizely

Bynder is a comprehensive digital asset management (DAM) platform that enables businesses to efficiently manage, store, organize, and share their...

Sanjay Kumar | Jul 22, 2024

Frontend Hosting for SaaS CMS Solutions

Introduction Now that CMS SaaS Core has gone into general availability, it is a good time to start discussing where to host the head. SaaS Core is...

Minesh Shah (Netcel) | Jul 20, 2024

Optimizely London Dev Meetup 11th July 2024

On 11th July 2024 in London Niteco and Netcel along with Optimizely ran the London Developer meetup. There was an great agenda of talks that we put...

Scott Reed | Jul 19, 2024