- Kentico EMS & Xperience
Do not run Kentico in a shared hosting environment
Usually, when you want to run your small website you expect low requirements for a web hosting environment and you probably think of an economic shared web hosting service. Unfortunately, you should’t think this way in case you want to host a small website in your own Kentico instance or event if you want to grow in time.
Recently, my client asked me to run his Kentico website in a shared hosting environment. Even if I had doubts it could work because of my experience when I was looking for a web hosting service for my own Kentico websites I gave it a try. And you know what? It didn’t work well and I tell you why.
Limited server resources
When you are looking for a web hosting you probably compare plans of web hosting providers like this. You get detailed information about disk and database space, version of installed software, etc. However, you maybe don’t know what numbers and values are crucial for successful running Kentico. Official documentation says: “It's recommended that your hosting plan comes with 500 MB or more memory and 100+ MB database.”
To successfully run Kentico you need to find out how many megabytes of memory are dedicated to the web hosting. I went through several hosting providers and they all guarantee 128-512 MB across their plans which is insufficient for Kentico. Hosting providers offer 512 MB only in their highest plans and you can run Kentico with that size of memory but the website is very slow. Also when you perform actions like import/export Kentico needs to allocate almost 1 GB. And if Kentico has insufficient memory the performed action goes down and Kentico gets restarted.
I would also say performance of Kentico website depends on computing power of a processor but I can’t exactly say what is the minimum or optimal value. I asked a support engineer working for a certain web hosting company about performance a single website could get and he answered it is around 20% of computing power of the whole processor.
However, obvious issue is too low memory size on shared hosting environments which could lead to serious performance issues on your Kentico website.
Access to server administration
The problem is that web hosting provider doesn’t allow you to fully manage your hosting environment. Some providers have their own control panel where you can manage database backups, recycle application pool or assign domains, etc., other providers do those actions manually only on your request. I must admit one of provider’s control panel allowed me to easily setup my website and perform actions I need to do on regular basis which is great. On the other hand, I had to explain other provider what Kentico is and what exactly needs to be done manually.
Anyway, when running Kentico on a shared hosting environment you never get a possibility to connect remotely on the server and manage it using MSSQL Management Studio, Visual Studio and setup hosting according to your own needs. This could be helpful if you need to hotfix your Kentico instance.
Number of running websites
Usually, shared hosting allows you to host only one or a small number of domain names/websites. While Kentico is a multi-site content management system it would make sense to host more websites. Just imagine you acquire a hosting powerful enough to run Kentico smoothly. Computing power is enough to run 20 websites but you can host only 5 because of IIS entries limit.
Looking for a suitable Kentico hosting could be a hard task if you are looking for a good price-performance ratio. I went through the process of defining the best hosting option for my websites and I’ve ended up with a VPS with 4 GB of memory, 2 core processor and 60 GB HDD. I can manage my server via Remote Desktop and host as many websites as I want. Currently I’m hosting 14 websites and the server is totally fine with that. The only downside is that I must keep an eye on the server because it is an unmanaged one.
I can imagine you don’t want to host more than 5 websites and you prefer managed server with a control panel so the last two points of this article aren’t relevant to you. But still there is the insufficient memory size issue – this is the biggest problem if you want to run Kentico in a shared hosting environment.