Racecar

Download

Version 2.0: Change Log

Racecare is perl based and works on many platforms

Versioned Code

Universal Script

 

Background

Racecar is a reporting tool that was created during an initiative to conserve bandwidth usage by our web servers. This also had the positive effect of speeding up our websites. During this project, a script was developed to help analyze how our web servers and their interactions with users browsers were performing as part of a test->tune->test->tune cycle. For further background of why this script is useful, see: Cache Control Headers 101

Architecture

Racecar is designed to give a high level view of the interactions of a web server and the client browsers that are asking for content from it. It is intended to be sane by default with no command line options and provides several key pieces of information in a matrix for each section.

Key Information

  • Object Type: This is the file type served up. These are the most commonly used file types
  • Response Type: Response code given by the web server
  • Count: Total number of objects requested
  • Percent: Percent of total traffic
  • Bandwidth: Total aggregate bandwidth in this log file
  • Kilobits per second (Kbps): Average throughput in this log

Server Response Code: Quick Reference

  • 200 – Found and served content
  • 304 – Responded by telling the browser that the content does not need refreshed
  • 400 – Bad request, often a bad path
  • 500 – Server error, usually a problem with code
  • More found here: http://www.w3.org

Report Breakdown

Executive Summary

  • Begin Date: First date found in the log
  • End Date: Last date found in the log
  • Seconds Elapsed: Number of seconds elapsed in the log. This is used to determine Kbps
  • Total Requests: Complete number of requests in the logs.
  • Unique Objects Analyzed: This is a count of all of the different objects that have been returned by the web server with a 200. This is used to determine the file size for objects which later return a 304.

Report Sections

  • Object Requests by Response Code: Breakdown of information by response code, this helps with tuning how well browsers are caching a web servers content
  • Object Requests by File Type: Breakdown of object information by file type. This can help you determine what the kind of file you would like to focus your cache tuning on.
  • Duplicate Object Requests by File Type (from same client): This is a list by file type of files which are requested over and over by the same client. This can be misleading for clients that are behind firewall, but generally works well with web caches and proxy servers. This can show you what file types being cached and how well.

Routine Operations

Analyze Weblog

Currently this is the only operation supported

racecar opensource.eyemg.com_access.log