Company: Contrix, Inc.
Application: E-commerce for periodicals
Server configuration: 2 active Windows Server web servers, 1 reserve
Reason for deployment: Needed a unified caching solution to propagate session state across its web servers to eliminate a database bottleneck and prevent catalog items from being listed inaccurately.
Results: Able to reduce waiting time for fetching data from multiple seconds to subs-seconds; able to ensure the integrity of orders.
Contrix is the purveyor of Magazine Agent, one of the world’s leading magazine subscription websites, and Contrix Total Search, an outsourced online marketing solution that ensures total search engine coverage. Seasonal swings in sales require 24×7 availability during the company’s busy season, and its servers must have the ability to handle promotions to manage content. Traffic increases such that a week in November is worth all of April, and a day in December is worth a week in May. During those crucial periods, accurate order fulfillment is vital to the business. Prior to adopting ScaleOut StateServer®, Contrix used ASP.NET Session State Service to store application session-state.
When Contrix migrated Magazine Agent from ColdFusion to ASP.NET, it was new to .NET programming. It initially relied upon direct database access to store catalog data and make it accessible to applications across the server farm. Contrix quickly encountered a significant performance bottleneck when the database was “slammed” with requests from each process.
Contrix next turned to ASP.NET’s internal per-process caching mechanism, believing that it would resolve the growing performance bottleneck. However, ASP.NET’s per-server caching architecture did not address the requirement to share catalog information across all servers. As a result, each server’s cache served up disparate and frequently outdated catalog information, leaving customers to wonder why an order could not be fulfilled as expected. One server cache would have an item in it when another did not. Consequently, calls to customer support increased markedly. The user of per-server caches also made each .NET process a single point of failure, which threatened to cut commerce in half in the event of a server crash.
These were not acceptable conditions for Contrix, and it began to investigate a caching solution that could handle sessions across servers with high performance and high availability. After a thorough review, it chose ScaleOut StateServer from ScaleOut Software. “This way I was able to truly be able to say one machine could totally break down and I’d have no issue. The whole site would keep running perfectly,” said Shawn Tolidano, director of Internet technology at Contrix.
Since deploying ScaleOut StateServer, Contrix has been maintaining the entire Magazine Agent catalog database in-memory. “We cache everything we can,” Tolidano said. “If you ask for something, it checks if it’s in the cache. If not, it goes to the database and fetches it. A copy of each object is left in the cache on the way back.” Items now have entirely accurate catalog levels during promotions.
“It’s an incredible speed improvement…”
–Shawn Tolidano, Director of Internet Technology
The Magazine Agent customer experience is also remarkably better. Query time has fallen from an average 2 to 4 second wait from when Contrix relied solely upon its database server to approximately 0.003 seconds with ScaleOut StateServer. “It’s an unbelievable speed improvement,” Tolidano said. The 94-96% reduction in query time that Contrix achieved with ScaleOut StateServer is complemented by peace of mind. Magazine Agent is much more resilient now with no single point of failure, Tolidano noted. Unplanned downtime became a thing of the past.
Contrix found that ScaleOut State Server’s caching architecture was so easy to use that it could be deployed directly onto production servers and turned on or off using ASP.NET’s web.config parameters until Contrix was satisfied with the configuration. “I dropped in two files, wrote three lines of code, and was done.” Tolidano said. “Within 20 minutes of using it, it cached all of the objects that we were using, and database activity dropped to near nothing.” Contrix later adjusted its code to take full advantage of storing all of the catalog objects inside of the distributed cache.
Contrix plans to add an additional server to its grid as its business grows.
About Contrix, Inc.
Contrix operates Magazine Agent, the world’s second largest online magazine sales website, according to its estimate. The Magazine Agent catalogue features nearly 1200 periodicals, and the site is able to manage multiple subscriptions for customers. Contrix also manages customized websites for Car and Driver, Elle, OK! Magazine, Outside Magazine, and Variety under its “Total Search” service.
For further information visit: www.contrix.com