Squid Efficiency Analyzer, squideff.exe Version 1.1.0; May 2005 Software by Carsten Schmidt If you like this software, please consider donating. Follow the link: http://software.ccschmidt.de/appreciation.html Please report bugs and feature requests to: Carsten@CCSchmidt.de How does it work and what does it do? Software has been tested with log files from Squid 2.5 STABLE 5 for Windows NT 4.0/2000/XP/2003 Open a log file and start analysis. Wait for the results which are shown in an table (detailled view) and in a text field (summary). You may then export the results to a file. Squideff checks every line of the Squid log file and assigns occurrence and traffic to the different cache codes. Afterwards, traffic from cache and internet are calculated. For this project I have decided to work with signed 64-bit integers in order to work with large numbers (–2^63..2^63–1). Despite that, it may be possible that values exceed this range. In that case, please tell me (not that I know what to do about it). The following codes are calculated as data coming from the cache: - TCP_HIT - TCP_REFRESH_HIT - TCP_REF_FAIL_HIT - TCP_IMS_HIT - TCP_MEM_HIT - TCP_OFFLINE_HIT - UDP_HIT The following codes are calculated as data coming from the internet: - TCP_MISS - TCP_REFRESH_MISS - TCP_CLIENT_REFRESH_MISS - TCP_SWAPFAIL_MISS - UDP_MISS The rest is shown as not considered for efficiency: - TCP_NEGATIVE_HIT - TCP_DENIED - UDP_DENIED - UDP_INVALID - UDP_MISS_NOFETCH - NONE For an explanation of the codes see below. Cache Result Codes TCP_HIT A valid copy of the requested object was in the cache. TCP_MEM_HIT A valid copy of the requested object was in the cache, AND it was in memory so it did not have to be read from disk. TCP_NEGATIVE_HIT The request was for a negatively-cached object. Negative-caching refers to caching certain types of errors, such as "404 Not Found." The amount of time these errors are cached is controlled with the negative_ttl configuration parameter. TCP_MISS The requested object was not in the cache. TCP_REFRESH_HIT The object was in the cache, but STALE. An If-Modified-Since request was made and a "304 Not Modified" reply was received. TCP_REF_FAIL_HIT The object was in the cache, but STALE. The request to validate the object failed, so the old (stale) object was returned. TCP_REFRESH_MISS The object was in the cache, but STALE. An If-Modified-Since request was made and the reply contained new content. TCP_CLIENT_REFRESH The client issued a request with the "no-cache" pragma. TCP_IMS_HIT The client issued an If-Modified-Since request and the object was in the cache and still fresh. TCP_IMS_MISS The client issued an If-Modified-Since request for a stale object. TCP_SWAPFAIL The object was believed to be in the cache, but could not be accessed. TCP_DENIED Access was denied for this request UDP_HIT A valid copy of the requested object was in the cache. UDP_HIT_OBJ Same as UDP_HIT, but the object data was small enough to be sent in the UDP reply packet. Saves the following TCP request. UDP_MISS The requested object was not in the cache. UDP_DENIED Access was denied for this request. UDP_INVALID An invalid request was received. UDP_RELOADING The ICP request was "refused" because the cache is busy reloading its metadata. Version history 1.1.0 May 2005 - added pie chart for visual presentation of hits and traffic 1.0.0 July 2004 - first release