dcsimg

Google Speeds Up the Web with Apache Web Server Module

By Sean Michael Kerner (Send Email)
Posted Nov 4, 2010


More on Apache Web Server

The open source Apache Web Server has been the leading web server technology for over a decade. Now thanks to Google, the tens of millions of sites that rely on the Apache Web Server may soon benefit from a speed boost. Google exec details how new mod_pagespeed open source module accelerates web server traffic for Apache Web Server users and why Go Daddy's millions of users are going to get a speed boost as a result.

Google this week launched the mod_pagespeed module for the Apache 2.2 web server. What mod_pagespeed promises is up to 50 percent improvement on page load times, by using more than 15 optimizations to accelerate website delivery. Currently, the mod_pagespeed technology is officially listed as the 0.9 Developer Preview version, although that shouldn't dissuade website administrators from trying it out.

"We expect that web masters and web developers will do their testing before turning it to production," Richard Rabbat, product manager at Google told InternetNews.com. "A number of websites have already starting using it in their production systems and have tweeted about it."

It's not clear how long Google has been working on the mod_pagespeed initiative. Rabbat noted that Google isn't commenting on the specific length of time it has been in development. That said, Rabbat commented that Google is launching a version that will produce a good improvement for the speed of loading pages.

Optimizing the Apache Web Server with modules to improve page load times is not a new idea. The mod_gzip and mod_deflate efforts have provided a degree of speed improvements to Apache users, which Google is aiming to complement with mod_pagespeed.

"Mod_gzip and the newer version mod_deflate, are used to compress the text resources -- HTML, JavaScript and CSS," Rabbat said. "Mod_pagespeed optimizes those resources and the images. In addition, it does many other optimizations related to the order of loading page resources, etc. So mod_pagespeed and mod_deflate work together."

While mod_pagespeed improves web serving performance, there is a cost in terms of server resources. Rabbat explained that mod_pagespeed uses more CPU and memory during the optimization step and caches optimized content. Overall, he noted that the optimizations translate into better utilization for the server.

"So, we expect that the CPU and memory impact may end up being lower CPU utilization since we improve the caching of resources on the website, and a user does not have to request the resources again from the web server; the browser finds it in its cache or in a public cache close to it," Rabbat said.

One of the key optimizations performed by mod_pagespeed is image compression to reduce file sizes.

"We currently do like-replacement of images, by doing jpeg to jpeg and png to png compression; many of the image optimizations relate to the resizing of images to fit the size that the CSS or the HTML tag specify for it," Rabbat said. "Finally, we optimize the caching of that image."

In terms of the technology that Google is including in mod_pagespeed for image optimization, they're using open-source tools and libraries such as the OpenCV libraries to optimize images, as well as libpng and libjpeg.

Currently Google is not leveraging its new WebP image format as part of mod_pagespeed.

"We will support jpeg to webp on-the-fly conversion to serve optimized image content in the webp format for browsers that support it in a future release," Rabbat said.

Another key area of optimization in mod_pagespeed is with CSS and how it is included in a given website.

"Mod_pagespeed sees a request for a CSS and checks on the size of that CSS file," Rabbat said. "If it is within the limit configured, then mod_pagespeed inlines the CSS as part of the HTML."

Rabbat added that mod_pagespeed implements optimizations for CSS issues that Google's Page Speed tool identifies. Common CSS optimization issues include the use of multiple external CSS files that should be combined, as well as the lack of caching headers for CSS and CSS entries that are referenced late in the page.

Database connectivity can also often be an issue for Apache servers and overall website performance. Although mod_pagespeed doesn't directly optimize databases, it does help to reduce database load.

"When a web server doesn't have to access a database, this results in faster serving," Rabbat said. "We decrease access to the database by improving on caching of the resources."

Moving forward, Google plans on implementing more optimizations in mod_pagespeed. Among them will be an interface to memcached to improve performance in multi-server systems as well as an effort to provide more domain control to interface well with CDN's (content delivery networks).

Among the early implementers of the mod_pagespeed technology is domain registrar and hosting vendor Go Daddy. Google currently has a reseller agreement with Go Daddy where Google sells domain names for its Google Apps service.

"By working with Go Daddy, we hope to deploy mod_pagespeed for a large number of their 8.5 million customers," Rabbat said. "It is not related to the reseller deal. Go Daddy is not paying Google for the technology."

Sean Michael Kerner is a senior editor at InternetNews.com, the news service of Internet.com, the network for technology professionals.

Follow ServerWatch on Twitter

Page 1 of 1


Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.