The self-service portal is built as an ASP.Net web site that runs as an application in Internet Information Services (IIS). This web site uses what is called an “app pool” (short for application pool) to run. You can have many applications running in a single app pool which runs as a particular identity and has various other knobs, levers, and switches that allow you to control how the applications in that app pool behave.
IIS has a feature called Just In Time (JIT) compiling that will compile a application the first time the app pool it is located in starts up. This makes the application run faster as a compiled application. The problem is that this JIT compile process can take a few seconds depending on the size of the site. In the case of the SCSM self-service portal it can take about 5-20 seconds. After that it is very fast because it is using the compiled application. So – the first time that you access the self-service portal after the app pool has been started or recycled it takes a long time to wait for the compile to happen.
Now the FAQ – Why is the self-service portal so slow?
The reason is that there is a setting in IIS which says that after a configurable period of inactivity the app pool will be recycled. The idea behind this setting is to free up resources that may then be used by other app pools on the same IIS server if a given app is not being used. That’s great for heavily used IIS servers with hundreds or even thousands of web sites. That is not normally the case for SCSM so we actually want to set this setting to never recycle the app pool due to inactivity. That way, even if the portal isn’t being used for awhile (for example overnight while everybody is sleeping) that the app pool won’t time out and force a JIT compile the first time somebody tries to use it in the morning.
So – how do we change this?
Now view the self-service portal again in your browser. It will take a few seconds to load now because it is doing a JIT compile following the SM_AppPool recycle we just did. From then on it will not do a JIT compile again until the app pool is recycled again (app pool recycle, IIS reset, or server reboot). That should eliminate the main cause of why the portal seems so slow.
Here are some other things that you can do to improve performance. Make sure you know what you are doing here by doing some research on these topics first.
Hope that helps!
Wow, what a difference, thank a million, helps with demos :)
Hopefully next version doesn't have this issue at all. Users tend to not use the website at all if it doesn't load in 3 secs.
My customers live webportal just died two times in the most important time frame of the day, after setting up the application pool to web garden.
Now I'm really dissatisfied with Microsoft.
Minimal effect, which makes me doubt about the seriousness of some comments (Wow).
I have to wait 25 seconds to view the first page with my requests.
We have problems of slowness in the console also already started seeing other people complain about on some blogs (social.technet.microsoft.com/.../69d133f3-57c1-4873-af9e-bf110c57e7b6).
Several bugs reported since the Release Candidate and nearly all unsolved.
Fix works well.