To find out what Googlers think about making the web faster, see the video below. If you have ideas on how to speed up the web, please share them with the rest of the community. Let's all work together to make the web faster!
From building data centers in different parts of the world to designing highly efficient user interfaces, we at Google always strive to make our services faster. We focus on speed as a key requirement in product and infrastructure development, because our research indicates that people prefer faster, more responsive apps. Over the years, through continuous experimentation, we've identified some performance best practices that we'd like to share with the web community on code.google.com/speed, a new site for web developers, with tutorials, tips and performance tools.
We are excited to discuss what we've learned about web performance with the Internet community. However, to optimize the speed of web applications and make browsing the web as fast as turning the pages of a magazine, we need to work together as a community, to tackle some larger challenges that keep the web slow and prevent it from delivering its full potential:
- Many websites can become faster with little effort, and collective attention to performance can speed up the entire web. Tools such as Yahoo!'s YSlow and our own recently launched Page Speed help web developers create faster, more responsive web apps. As a community, we need to invest further in developing a new generation of tools for performance measurement, diagnostics, and optimization that work at the click of a button.
- While there are now more than 400 million broadband subscribers worldwide, broadband penetration is still relatively low in many areas of the world. Steps have been taken to bring the benefits of broadband to more people, such as the FCC's decision to open up the white spaces spectrum, for which the Internet community, including Google, was a strong champion. Bringing the benefits of cheap reliable broadband access around the world should be one of the primary goals of our industry.
- Here are the Google instructions for Configuring your network settings to use Google Public DNS
Thursday, December 03, 2009
Today, as part of our efforts to make the web faster, we are announcing Google Public DNS, a new experimental public DNS resolver.
The DNS protocol is an important part of the web's infrastructure, serving as the Internet's "phone book". Every time you visit a website, your computer performs a DNS lookup. Complex pages often require multiple DNS lookups before they complete loading. As a result, the average Internet user performs hundreds of DNS lookups each day, that collectively can slow down his or her browsing experience.
We believe that a faster DNS infrastructure could significantly improve the browsing experience for all web users. To enhance DNS speed but to also improve security and validity of results, Google Public DNS is trying a few different approaches that we are sharing with the broader web community through our documentation:
- Speed: Resolver-side cache misses are one of the primary contributors to sluggish DNS responses. Clever caching techniques can help increase the speed of these responses. Google Public DNS implements prefetching: before the TTL on a record expires, we refresh the record continuously, asychronously and independently of user requests for a large number of popular domains. This allows Google Public DNS to serve many DNS requests in the round trip time it takes a packet to travel to our servers and back.
- Security: DNS is vulnerable to spoofing attacks that can poison the cache of a nameserver and can route all its users to a malicious website. Until new protocols like DNSSEC get widely adopted, resolvers need to take additional measures to keep their caches secure. Google Public DNS makes it more difficult for attackers to spoof valid responses by randomizing the case of query names and including additional data in its DNS messages.
- Validity: Google Public DNS complies with the DNS standards and gives the user the exact response his or her computer expects without performing any blocking, filtering, or redirection that may hamper a user's browsing experience.
We hope that you will help us test these improvements by using the Google Public DNS service today, from wherever you are in the world. We plan to share what we learn from this experimental rollout of Google Public DNS with the broader web community and other DNS providers, to improve the browsing experience for Internet users globally.
Explore Google's New Speed Info
There are many variables that affect a site's performance. The tools listed below can help you discover those variables and improve your site. We recommend that you experiment with these tools. Multiple simple changes can improve the experience for your users around the world by several seconds.
- Page Speed - Open source Firefox/Firebug Add-on that evaluates the performance of web pages and gives suggestions for improvement.
- Cuzillion - Tool for quickly constructing web pages to see how components interact and how behavior differs across browsers, sometimes in unexpected ways. Also lets you share sample pages with others.
- Hammerhead - Firebug Add-on for measuring the load time of web pages.
- OOCSS - Development environment and framework for creating fast, reusable CSS objects and modules.
- httperf - Tool for generating HTTP workloads and measuring web server performance, and constructing micro- and macro-level benchmarks.
- mon.itor.us - Provides a personalized Ajax dashboard interface, checks server performance and availability, generates uptime reports, tracks visitors, checks CPU, memory and other systems resources, and alerts when it detects abnormalities.
- Pylot - Open source tool for testing the performance and scalability of web services. It runs HTTP load tests, verifies server responses, and produces reports with metrics.
- Wbox - Performs various tests, including page load benchmarking, web server and web application stress testing, and verifies correct configuration of virtual domains configuration, redirects, and HTTP compression.
- Xdebug - Extension for PHP that provides profiling and code coverage analysis, as well as debugging information including stack and function traces, and memory allocation.
- XHProf by Facebook - Instrumentation-based hierarchical profiler for PHP.
- CSS Sprite Generator - Generates a CSS sprite out of a number of images.
- Smush It - Online tool that allows you to upload images for lossless compression and optimization. Provides a report of bytes saved and downloads a zip file containing the optimized versions of the files.
- SpriteMe! - Tool that determines background images to sprite, groups and sprites them, and generates resultant modified CSS.
- Fiddler 2 - Web debugging proxy which logs all HTTP/S traffic between your computer and the Internet. Inspect HTTP/S traffic, set breakpoints, and "fiddle" with incoming or outgoing data.
- HttpWatch - HTTP viewer and debugger integrated with IE and Firefox to provide HTTP/S monitoring without leaving the browser window.
- AOL Page Test - Open source tool for measuring and analyzing web page performance using Internet Explorer.
- BrowserMob - Tool for website performance monitoring and alerting.
- IBM Page Detailer - Graphical tool that assesses web page performance and provides details include the timing, size, and identity of each item in a page.
- IntroSpectrum - Web-based performance monitor which simulates users using actual web browsers.
- Microsoft VRTA - Tool that visualizes web page download, identifies areas for performance improvements, and recommends solutions.
- MySpace Performance Tracker - Internet Explorer browser plugin that helps improve web page performance by capturing and measuring possible bottlenecks.
- WebPagetest - Tool that provides a waterfall of your page load performance as well as a comparison against an optimization checklist.
- Yahoo! YSlow - Firefox/Firebug Add-on that analyzes web pages and suggests ways to improve their performance, based on a set of rules for high performance web pages.