Hello,
I'm sorry to hear you've experienced performance problems with your site when running on shared hosting. Generally most of the performance issues in such scenarios are related to the limited memory available for the application pool, which leads to frequent site recycling. If this is the case, please check your web.config file. There you must set a machine key for your website. This is necessary with shared hosting providers, otherwise you will experience issues as described in this article:
FormsAuthentication, HttpModules, Machinekey, application pool recycling, encryption benchmarks, and the 'Remember me' checkbox. You might also take a look at our
Tips for optimizing performance.
Let me elaborate a little bit on the latter. The default output cache we have set for pages is 120 seconds, and is using sliding expiration, which means that once the page is loaded in your browser's cache, this cached version will expire in 2 minutes after the last request made to it, and the next request will be served from the server, not cache.
On the other hand, you might want to check the intervals your application pool recycles (i.e. the site needs to compile again) - these can be controlled from IIS, the default value being 1740minutes.
By default Sitefinity provides both output cache, and through its OpenAccess ORM uses data caching for content retrieved from the database, so unless you have disabled any of these explicitly, there should be not problems with your site's performance. I'll be listing some things you might want to check below:
1. Please check if you are requesting any external resources (e.g. fonts, javascript, images)
2. Use FireBug or some other developer's tool to check if all images, and CSS on your site is being properly loaded from cache. By default once cached they should.
3. Make sure some of the resources on your pages are not blocked. I'm attaching a
sample screenshot demonstrating how a blocked resource will look in FireBug.
Here is a very good explanation on several topics why blocking occurs. The blocking appears to be caused by simultaneous loading of many items and the browser allows only a certain ( 6 for Firefox) at a time. Observing other websites it appears to be a common scenario when many resources have to be loaded.
4. You might request on some information about the hardware configuration of you server, and if it allows you to use only a limited amount of memory(RAM) or it is using all?
5. Set static files expiration in IIS to a different value so that static files are not loaded every time from your project folder in order to be sent to the requesting client. This is mainly concerning .png images that take about a second each time page is requested.
6. As performance gets better when the site gets visited and the corresponding loads are about 3-5 seconds it may be a good option to write a crawler that will visit your site at some time interval in order to prevent the first user performance hit.
Here is a sample tutorial + complete code of a web crawler.
I hope the above information helps you achieve the desired performance results, please do not hesitate to let us know if any issues persist
All the best,
Boyan Barnev
the Telerik team
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the
Telerik Public Issue Tracking system and vote to affect the priority of the items