Here is a quick checklist that you can use in order to get more performance out of your Sitecore Media Library’s delivery.
Ensure data/item/prefetch caches are of a sufficient size.
Ensure client caching is properly configured (MediaResponse.XXX settings).
- Media Library structure – make sure the tree is balanced.
- Change MediaLinkPrefix from ~/media to something else, for example "-/media":
- set the value of the “Media.MediaLinkPrefix” to alternative prefix: ><setting name="Media.MediaLinkPrefix" value="-/media" />-add the following line to the customHandlers section, don’t remove the existing one mapped to “~/media”:<customHandlers> <handler trigger="-/media/" handler="sitecoremedia.ashx" /> <handler trigger="~/media/" handler="sitecoremedia.ashx" /> … </customHandlers>This really helps for high traffic websites. Apparently tilde in the path forces different way of resolving the system permissions on a resource on Windows Server.
- Consider IIS kernel and/or output caching, but keep in mind this consideration6. Consider adding other edge caching options in front of the web servers.
- Leverage CDN like AKAMAI.
Some links and food for thought:
- http://sdn.sitecore.net/SDN5/Forum/ShowPost.aspx?postid=266478. Use dedicated “Sitecore media server” (e.g. replace hostname in media links to point to another Sitecore instance; would require some customization).
Some great stuff here:
Thanks to the guys from our brilliant customer service for helping me to come up with a more complete list.
Updated 2/8/2012. Confusing typo fixed.