Introduction
This document describes 4 simple actions that should be taken by every Tridion Infrastructure consultant when installing Tridion on a new environment. These actions will speed up IIS' performance and are valid actions for any other Web Site, not Tridion only.
Prerequisites
Tridion 5.1 SP4, Windows 2003
1. Bind IIS to an IP Address
This is not always possible due to network restrictions, such as network balancing and fail-over requirements, where a server must be available through multiple IP addresses, but will be possible for at least 90% of the deployments.
Open the IIS Manager Console (Administrative Tools -> Internet Information Services (IIS) Manager)
Browse through the left pane to the Tridion Content Manager Web Site (IIS Manager -> <YourServerName> -> Web Sites -> Tridion Content Manager)
Right-click it and select properties from the context menu
In the Web Site Properties dialog, click on the drop-down for "TCP Port:" and select the IP address the server should bind to.
2. Enabling Content Expiration
When enabling content expiration, IIS will add a date to the HTTP Headers telling browsers by when should the content be reloaded from the server, effectively instructing the browser to use its cached version of each object. In other words, IE will use its cache as much as possible and minimize the amount of traffic between the browser and the server.
Browse through the Tridion Content Manager Web Site folders and perform the next step for each of the following folders and subfolders of these:
- /Images
- /Library (except /Library/ASP and /Library/Commands)
- /Resource
- /Views/Javascript
- /Views/XSL
All other folders should not have content expiration set.
Go to the HTTP headers tab and check "Enable content expiration", and set it to expire after 10 days, as shown in the next figure.
3. Use a custom error page for 401;1 and 401;2 errors
Due to its stateless nature, Tridion will not cache session information on the server-side code, which means that every action the user performs must be preceded by an authentication. In itself, this is not much of an issue, but if your multiply each authentication request by 2Kb (the size of IIS' default error page), you can easily get to a really big number of Kilobytes that are being transferred, literally for nothing.
By defining your own custom error page, you can define a much smaller .html file that will minimize the amount of traffic sent through the network.
Go to the Custom Errors tab and select the 401;1`HTTP error. Click Edit
Enter [Tridion Install Dir]\web\blank.htm (or use any other page you created yourself)
4. Enabling HTTP Compression
Enabling HTTP Compression will allow IIS to compress data before it being transferred to browsers. Apart from the more obvious benefits of this setting, it will also reduce the amount of white space being transferred over the line. Spaces are characters after all.
WARNING: HTTP Compression may have undesired results on your server and sometimes client performance, particularly when all clients are located on the same LAN as the server. Tridion will only recommend usage of HTTP compression in scenarios where bandwidth between the Content Manager and clients is limited.
In the IIS Manager Console, right-click the Web Sites folder and select Properties
Go to the Service tab and check the option Compress application files and Compress static files. It is recommended to change the maximum temporary directory size to a manageable size, instead of the default of "unlimited".
Defining which files to compress.
To make compression worthwhile on the GUI files, execute the following commands on the command prompt:
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm"
"html" "txt" "xml" "js"
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcFileExtensions
"htm" "html" "txt" "xml" "js"
By default, only the first three types are compressed. Most of the voluminous GUI responses are XML and Javascript, however.
Undo
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html"
"txt"
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm"
"html" "txt"
Because by default xml and js files are not compressed. Not that you set all extensions to be compressed, so there is no DELETE option.