[toc]
This article includes the recommended configurations for running Telligent's software on Microsoft's Web server. Microsoft's Internet Information Services (IIS) is an enterprise-grade, secure, high-performance web server. By following the recommended configurations, below you can maximize the throughput and performance.
Use Microsoft IIS 8.0
Telligent recommends Internet Information Services (IIS) 8.0, which is included with Windows Server 2012.
Use a dedicated drive for web files
For the physical layout of the disks for your web server, see Supported disk space, memory, and CPU specifications.
There should be physical separation between your operating system files and your software files and/or data. This allows you to better manage the fragmentation that occurs through file operations, service pack applications and security updates.
You should consider a defragmentation schedule for your system. This operation could be an intensive load for your system so running a monthly basic defrag schedule on each logical drive is a good idea. With appropriate physical separation this becomes easier to manage. Operating system files do not change often and will have less fragmentation than application or data files.
Separating operating system files from application files is critical - not just from a security standpoint (because applications should never have direct access to operating system files unless absolutely necessary), but to also ensure that defragmentation is localized to your application files.
A best practice to consider is using a file structure such as d:\[path to Telligent files]\Telligent\[yyyy-mm-dd]\ where each new update or installation has a dedicated directory. This ensures that you can quickly roll back changes and that nothing is lost during an upgrade. This is a merge strategy for the files rather than overwriting them.
Set the IIS worker process memory limit
Telligent Community Server makes very aggressive use of the ASP.NET cache to optimize performance. To maximize the efficiency of the cache you must set memory limits within IIS. To do this, use the Maximum used memory setting.
Unconfigured or incorrectly configured IIS memory settings within IIS are often the culprits when organizations experience problems of IIS failing under heavy load. Furthermore, when not properly configured this can incorrectly present as a memory leak.
The memory value should not be more than the amount of physical (not virtual) memory on the server. A good approximation is to allocate 60% of the physical memory. It is not recommended for the maximum to exceed 800MB/819,200KB when using a 2GB address space. If the memory address space of the server is 3GB, the maximum memory limit for the worker process can be as high as 1,800MB/1,843,200KB.
If your server is 32-bit and has more than 2GB of system ram, you need the /3GB switch in the boot.ini file.
Do not use the Maximum virtual memory (in MB in IIS6, or KB in IIS7) value when configuring IIS memory. Instead use the Maximum used memory value.
Enable IIS compression
To more efficiently use available bandwidth, enable IIS HTTP compression. HTTP compression provides faster transmission time between a compression-enabled browsers and IIS regardless of whether your content is served from local storage or a UNC resource. Static files and application response files can be compressed.
Disable IIS worker process recycling
The IIS configuration setting Recycle worker process (in minutes) should be disabled if you have multiple websites and are trying to isolate processes. Shutting down and restarting a process in Microsoft Windows is a costly operation and there is no need to enable process recycling for Community Server.
Disable IIS worker process idle shutdown
The IIS setting Shut down worker processes after being idle for (time in minutes) should be disabled unless you are sharing resources on your server. With this disabled, your website should not unload. This ensures that the startup time for your site is as minimal as possible.
Optimize IIS log file management
Move the default location for the log files from the C:\ drive to a closer proximity with data files. The log file location is especially important for a highly active site. This is because log files can grow quickly. For high volume sites they can become very large.