Al Logiodice

Subscribe to Al Logiodice: eMailAlertsEmail Alerts
Get Al Logiodice: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Article

Improving Web Site Performance Thinking Outside the Box

A case study

Not long ago, Epson America had a problem that many companies would love to have - a very successful corporate Web site. Let us explain.

More and more people were using Epson America's Web site to research and get in-depth information about our products; locate a convenient store where they could purchase our products; or even purchase items such as printers, scanners, ink cartridges, and home electronics online, as well as easily obtain online technical assistance for those products. This was exactly what we wanted. Our Web site is a key component of our strategy, and we want customers to consider it a valuable tool. Therefore, it's imperative that they have positive experiences with the site. If not, we risk consumers taking their business elsewhere.

We saw that the increased traffic would soon require us to upgrade our Web infrastructure in order to maintain the level of functionality and performance that our customers expected from us. Servers were already running at 90 percent of capacity. We had consolidated and better integrated different areas of the Web site to improve and simplify the end-user experience. While this was successful in many respects, the servers were processing about three times the number of page views per day compared to when our current architecture was deployed, posing a potential threat to server resources. Since then, traffic has continued to grow significantly.

We knew we needed to improve our infrastructure so that Web site performance would remain consistent, especially during peak traffic times, as we continued growing our site traffic.

Our Challenge: Do More with Less

Purchasing additional Web/Internet infrastructure items would be the natural direction that most companies would take in this situation. But we wanted to think outside the box. We wanted to avoid a significant capital investment and the ongoing maintenance expenses, the latter of which was a bigger concern for the long run as usage continues to grow.

What we wanted was a cost-effective solution that provided us with both flexibility and scalability for the long run. In addition, we wanted to continue improving the site in terms of business continuity to ensure that customers could always access the content.

We Chose Pivia and Linux

After considering other solutions, we decided that Pivia's Web application delivery solution made the most sense - not only through improved performance, but also from the IT and financial control points of view.

Pivia's application delivery solution has helped improve Web application performance and the user experience through much faster page views and reduced session times. The Pivia solution is relatively inexpensive and has helped control operating costs since deployment. The Pivia Performance Server (PPS) runs on Linux, which we have found to be an extremely scalable, inexpensive, and secure operating system. By leveraging the available open source components of Linux, the Pivia solution can support large transactional loads while running on low-end commodity hardware. Thanks to the Linux and Pivia combined scalability, our investment in the underlying hardware has been minimal. The combination of Pivia's Web application delivery solution and Linux offered us a more economical system that extended the life of our infrastructure and enabled us to continue to offer customers 24x7 Web site availability.

Pivia's solution delivery group worked closely with us to design and configure the system for optimal performance. Many of our pages are dynamic, containing information such as real-time product availability and pricing, so simple caching solutions would not have worked. The PPS offloads traffic from our application servers as well as the database server, even for many of these dynamic pages. It caches content generated by the origin server, and then on subsequent requests, content is served from the cache if still valid, thus reducing demand on the origin server. Initially, the PPS cached about 50 percent of page requests this way. Now, the PPS caches more than 80 percent, as we've configured more sections of our site to take advantage of Pivia's caching capabilities.

Application Smart Caching

We learned a lot during the course of analyzing our system. For example, we knew that our session management created overhead, thereby reducing the resources available to the server for other tasks. We successfully addressed this with the flexibility of Pivia's Application Smart Caching. Now, when a user performs an action that requires a session, the request goes to our origin server, which handles the transaction and generates a session. To determine whether pages should be proxied or cached, we utilize the PPS's advanced policy rules, which allow a variety of actions to occur on any HTTP request header or parameter.

Of course, once a page is served from the cache, it's vital to ensure that the user's session does not time out. Since the PPS is now caching most of the pages, a server might assume that a user has left the site and therefore end the session, when, in fact, the person might still be browsing and simply hitting only cached pages. To avoid this, we utilized another piece of Application Smart Caching, a server scripting standard called ESI (Edge Side Includes) to ping the origin server and keep the session alive. One session ping every 10 minutes goes to the server to prevent such timeouts.

PPS supports browsers with or without their cookies enabled. In addition, PPS eliminates the creation of duplicate copies of the same content by using content variation rules in conjunction with parameter substitution, thereby decreasing demand on our servers. Only one user has to go to the server for a particular page, which is cached. As long as that page remains valid, other users requesting the page receive it from the cache instead of the server.

The PPS also reduces server load through a "connection optimizer." The PPS handles thousands of browser connections on the front end but far fewer - approximately 20% - going to the server on the back end. The PPS essentially acts as a multiplexer, taking multiple requests and sending them to the server over one connection.

The Bottom Line: We Saved Hundreds of Thousands of Dollars

Unquestionably, deploying the Pivia Performance Server running on Linux has been a huge success for Epson America. The implementation has significantly improved the end-user experience, saved us a significant amount of money up front, and continues to help us control operating costs.

Deploying the Pivia application delivery solution has saved us hundreds of thousands of dollars in infrastructure costs. As we continue to grow the Web site, the PPS future-proofs our infrastructure by eliminating or postponing some of the costs of future upgrades (see Figure 1). We believe those cost savings could be significant.

In addition, the value of the PPS implementation becomes even greater when you consider other benefits that accrue. These benefits include reduced bandwidth consumption, greatly reduced page-download times (less than a second in many cases), fewer calls to our customer service center, more consistent response times during peak traffic periods such as the Christmas shopping season, and lower shopping-cart abandonment rates.

Anybody running a serious e-commerce site should consider application delivery and optimization solutions. For us, the combination of Pivia and Linux was a winner.

More Stories By Miko Sion

Miko Sion is vice president, information systems, at Epson America.

More Stories By Al Logiodice

Al Logiodice is manager, application development, at Epson America.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.