While working on the Rainy Day Games site, we came across an unusual server behavior. Memory allocated to the website pool kept growing and growing. The site should be hanging around 65k was growing to over 1 Gig of memory!!! So yeah, we had a classic leak. Took a little bit of work but we traced it to the XSL object. The parameter was set to true. When it is true, it will create debugging information for the debugger to gather and report back to the developers. As soon as we turned it off, the memory held. Furthermore, once we cached the XSL object, we saw the average CPU utilization rate dropped by half.
Just in time for Halloween, Rainy Day Games has risen from the dead. It used to be an e-commerce site selling board games. However they closed their door a few years back, but still owns all the content (over 400 products and reviews).
First, from a technical perspective, we had to update them from classic ASP to ASP.Net MVC, give them a new SEO friendly URL structure, and update the HTML from a table layout to a DIV structure. We kept the old look and feel and the category structure.
Second, from a business model, they added Adsense and affiliated links to Funagain Games. This required setting up accounts and loading 400 game IDs in to the database.
Finally, we did some load testing and added some caching to help with performance. We also found and solved a memory leak when using XSL which I will post about shortly.