To ensure that your Sitefinity website performs at its optimum best, you need to follow a few hosting settings. These settings could differ depending on the size of your production environment and other factors such as:
Value of website to the organization
Expected visitor traffic and peak hours of load
Website size based on the number of websites, content items, pages, and site traffic
The expected memory and CPU usage from the applications
SQL server statistics – recommendations regarding SQL server CPU and memory usage
In case of shared servers, although hosting companies grant you a specific amount of resources, it is worthwhile to estimate how much of the physical CPU resources can actually be used; because once this limit is crossed, the application pool gets recycled.
In case of dedicated servers like Azure, Amazon, and others, it would be beneficial to request the availability of the entire hardware.
Keep in mind the price and service variations in case of two or more websites-sister sites or microsites-on a single server. The amount of resources needed by the websites could differ.
General recommendations irrespective of the hosting plan:
Enabling both static and dynamic compression modules for IIS would ensure that the bandwidth is used more efficiently. Static compression ensures that the responses are cached and the CPU resources are not unnecessarily depleted.
Always run the application pool with Domain Account rather than Network Service Account in domain environment so that it becomes easier to configure the file permissions on the server.
Sitefinity recommends that unless it is bulk hosting, the idle time-out option of the application pool is set to 0 so that the website response time becomes faster.
By default, the Pool recycling regular time interval is 1740. However, Sitefinity recommends setting it to 0.
Let the Enable 32-bit applications property settings remain at the default false mode.
The access control list (ACL) is a list of permissions associated with an object. You can set permission entries for every object on an NTFS file system. To maintain security, it is advisable to always remove Users and Creator Owner from the website folder’s ACL.
To ensure full control over security, it is best to grant the application pool identity user with Read permissions and Modify for the AppData folder.
Sitefinity generally recommends a setup with two web servers in a load balanced environment in addition to a dedicated database server. These servers can be behind a firewall in the Demilitarized Zone (DMZ) while access to the backend folder of Sitefinity can be made restrictive via the IP security settings.
A load balanced environment ensures that there is no single point of failure and hence it is imperative that the Sitefinity website runs on one. This will also ensure that the website has better scalability and performs well even during peak traffic.
There has to be sufficient network bandwidth for the SQL connection between the DMZ and LAN so that the servers are not slowed by the database requests between the two networks.
Sitefinity recommends storing the CMS website files and code base in a central location that is accessible from each web server.