Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Faster FasterFox? David Backeberg and Remo Mueller.

Similar presentations


Presentation on theme: "A Faster FasterFox? David Backeberg and Remo Mueller."— Presentation transcript:

1 A Faster FasterFox? David Backeberg and Remo Mueller

2 Firefox “Out of the Box” Memory cache set proportional to system ram Disk cache set to default value (76,800 KiB) “Prefetching” enabled: network.prefetch-next set to true

3 Browser content caching HTTP/1.1 200 OK Date: Fri, 30 Oct 1998 13:19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: Fri, 30 Oct 1998 14:19:41 GMT Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT Content-Length: 1040 Content-Type: text/html HTML also supports tags involving caching. Not necessarily honored by browsers.

4 Everyone wins Browser doesn’t have to grab something it already has Server / client don’t waste bandwidth on redundant content User thinks website is “faster”, more likely to make return visits to website

5 Firefox Extensions (.xpi) Third-party applications that use Firefox library functions to accomplish some task Examples –Forecastfox (weather info on toolbar) –Flashgot (replaces Firefox download ability with richer functions)

6 Firefox prefetching Firefox extends HTML link tag This method isn’t forbidden, it merely creates a new kind of “relation”, permitted by HTTP 1.1 If “rel” is “prefetch” or “next”, Firefox will prefetch the page(s)

7 Firefox Prefetching Prefetching only uses “idle” bandwidth We put “idle” in quotes because the browser can’t tell what else is going on with network activity in other system applications or daemons Once all tabs or pages are loaded, Mozilla will grab explicitly tagged content

8 Firefox Prefetching Prefetched content ends up in disk- cache. Prefetching makes the cache more relevant, and “fresher” than it would be without prefetching User has illusion of faster browsing

9 Firefox settings Settings can be viewed and changed with about:config These settings can also be changed with prefs.js in user’s directory Cache contents and settings can be viewed with about:cache

10 Firefox internals Individual functions (library calls) within Firefox can be put into debug mode Under linux: $export NSPR_LOG_MODULES=nsHttp:5,nsSocketTransport:5,nsHostResolver:5, nsPrefetch:5 $export NSPR_LOG_FILE=/home/dave/eecs428/fasterfox/http.log $firefox In this manner we could get a log of whether prefetching was working Examined cache using about:cache Recorded page load times

11 Fasterfox An.xpi-based extension of Firefox Uses Firefox library calls to provide richer prefetching and caching abilities Also “tweaks” page rendering techniques to display content faster Tunable “aggressiveness”

12 Fasterfox Settings Some settings are just user-friendly GUIs for changing settings buried in about:config

13 Fasterfox Settings Other settings are genuine extensions of the way Firefox downloads pages

14 Enhanced Prefetching Doesn’t restrict prefetching to rel=next, rel=prefetch links Index up to 100 links on a page, prefetch all of those, as long as they look like static content Try not to prefetch a “logout” or “empty my shopping cart” button

15 Enhanced Prefetching Very good odds of user clicking a cached page, and that cached version being up-to-date Also good odds of cache containing data that won’t be viewed by user Arguably, for a site the user visits heavily, this could still mean everybody wins

16 How We've Modified Fasterfox: Fasterfox now keeps track of how long it took to visit each page. After running a test series, we can gather all the information and perform an analysis of it. We also changed the content that is grabbed in Fasterfox

17 Timings screenshot

18 How to Enhance Fasterfox Prioritized Prefetching (Fasterfox currently uses a fifo queue, ordered by the link’s location on a page) Global System view of bandwidth; prefetch only when system idle? Gentler prefetching mechanism? Prefetching uses ordinary HTTP GET. Perhaps a PREGET? User Customization –Different user types –User selects, or artificial intelligence to figure out what type the user is. Cache hit rate percentage (prove that prefetching is really making the cache more relevant)

19 References: Firefox Link Prefetching FAQ http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html Fasterfox source code http://fasterfox.mozdev.org/ http://fasterfox.mozdev.org/ Mozilla HTTP Debugging guide http://www.mozilla.org/projects/netlib/http/http-debugging.html http://www.mozilla.org/projects/netlib/http/http-debugging.html Assertion: Prefetching With GET Is Not Good, Brian Davison. Proceedings of the Sixth International Web Content Caching and Content Distribution Workshop (WCW'01), Boston, June 20-22, 2001, pages 203-215. Available online: http://www.cse.lehigh.edu/~brian/pubs/2001/wcw/wcw01.pdf


Download ppt "A Faster FasterFox? David Backeberg and Remo Mueller."

Similar presentations


Ads by Google