Question

I am having a rather time-consuming issue with the Sitecore CMS.

Is it possible to shorten the time it takes for the application pool to recycle every time a change is made in the bin folder or web.config?

It takes the server 2 to 5 minutes to respond right after a change.

Any ideas?

Was it helpful?

Solution

There is one article from alex shyba from sitecore here on Reducing Sitecore Startup time

Summary of article is

  • In machine.config: disable process to check assembly signed
<runtime>  
    <generatePublisherEvidence enabled="false"/>
</runtime>
  • Disable performance counters in Sitecore web.config
<setting name="Counters.Enabled" value="false" />

There are plenty of articles on the improving sitecore performance I have listed few links below:

OTHER TIPS

He needs to restart the application pool in order to load the new dll's in.
You could try and minimize the things you do at startup(but i'm guessing it's mostly sitecore stuff which you can't influence) so the best suggestion i can give is to have 2 webservers with a content switch.

You would run your application on 2 servers and the content switch decides which server handles which request(be carefull with session and statics because each server will know nothing of the other).
If at some point you need to release a new version you just instruct your content switch to direct all trafic to webserver A. You then deploy to webserver B, open the website via a direct url that doesn't pass the content switch and make sure it's working properly + warmed up.
Then you tell the content switch to point all trafic to B and you have all the time in the world to update webserver A and switch the content switch back to normal mode.

I had this issue as well.

For whatever reason my local copy would take around 5 minutes to fully spin up after any change or starting the website fresh. It was absolutely dreadful for testing anything. It was only an issue locally. My development server environment and production didn't seem to be effected.

I found out a profiling tool that allowed me to find an outlier control that was taking an obscene amount of time to render. Try this...

  1. Fire up your website after it compiles.
  2. Log into this admin page: http://local.example.com/sitecore/admin/stats.aspx
  3. You'll see a screen like this: Sitecore Admin Page Content performance statistics Look for anything with an obscenely high Avg or Max time. Your problem will likely be in the logic there.
  4. As a bonus, if you can keep hitting pages after your long recompile without much trouble, you should notice the Avg time roughly halving itself every page hit for your problem control if your problem is anything like mine was.

In my case, I found the largest issue came from one control that was doing an expensive search for one item. It looked like this -> Sitecore.Context.Database.SelectItems("" + Sitecore.Context.Item.Paths.Path + "/ancestor-or-self::*[@@templateid='" + templateId + "']"); This was mostly a local issue because the SQL server is remote to my machine, while the other servers were in the same building. Hence dev and production were relatively unaffected.

Good luck!

You can follow Alex Shyba's post here

But 2-5 minutes sounds extreme. This isn't normal. Are your hardware up to date? Also I would look in to your prefetch cache. In your development environment you probably don't want i to fetch to much on start up, as this isn't needed in development.

I would also look into the initialize pipeline and global.asax to see if you are doing any custom start up jobs.

You can reduce the pre-fetch cache size on core, master, and web databases, but this is not recommended, do this only on development machines, not on production servers.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top