Its a bit late now but below is a script that walks through the squid 
log file and reports the average object size.  The awk line comes from someone
else on the squid list who I cannot remember.  I think the rest of the script 
is my invention but if not will the author(s) email me please.
        For interest the average I got was avg_object_size: 12767.8 bytes.
When I last ran this, around Jan 1997, the average size was just under 
20Kbytes (1987?.? from memory).
        If this is of use, it could be included in the contrib directory 
of squid or on the analysis scripts web page.
        The second script is quite handy.  While I have cachemgr.cgi set up
often I just want to check on something quickly and my browser window is 
showing something that I dont want to change at the moment.  I use to manually 
type in (on my proxy) 'client -p <port> cache_object://a/info | less'.
This was tiring so I made a small script as a wrapper around it.
        If it is run without an argument you get the following;
proxy. examine   
 To extract information from squid
info                      server_list
client_list               parameter
stats/ipcache             stats/vm_objects
stats/dns                 stats/redirector
stats/utilization         stats/io
stats/reply_headers       stats/filedescriptors
proxy.
        To use try 'examine info'
{
{Squid Object Cache: Version 1.1.10+2}
{Start Time:    Fri, 23 Jan 1998 06:15:57 GMT}
{Current Time:  Thu, 29 Jan 1998 10:21:43 GMT}
{Connection information for squid:}
{       Number of TCP connections:      6622467}
{       Number of UDP connections:      5382423}
{       Connections per hour:   81061.5}
{       Select loop called: 60348257 times, 8.834 ms avg}
{Cache information for squid:}
        ...
        Note some of the possible requests arenot useful.  Try 'examine 
stats/utilization' to see what I mean.  Some can load your proxy noticably
stats/objects which I deliberately left out of the list (it can be immense).
        Personally I find the 'info', 'stats/filedescriptors',  'server_list'
to be the most useful.  
        I have given this script to non-technical people and to mostly NT shops
where the one Unix box in the place is running squid (you try running 
cachemgr.cgi under NT).  This seems to satisfy them.
        I have a variant version that I keep on my main login machine that
includes the '-h proxy.mel.aone.net.au' addition so I can do an examine 
remotely.  Of course this implies that your ACL rules allow this.
        Wishlist time:
                Could some NT programming whiz take the cachemgr.cgi source and
bang it into shape so it runs on an NT web server please.  Its doable but I 
dont have the prerequisite NT skills.  If you achieve it, send me a copy 
please.
-----------------------------------------------------------------------------
#!/bin/sh
#	avgsize.sh
# the squid configuration file - change it to your settings
CONF="/usr/local/squid/etc/squid.conf"
# find the swap log file
LOGFILE=`cat $CONF | grep "^cache_swap_log" | cut -d' ' -f2`
# if it is not set then the swap log resides in the first cache_dir entry
if [ "${LOGFILE}" = "" ]; then
        CACHEDIR=`cat $CONF | grep "^cache_dir" | cut -d' ' -f2 | head -1`
        LOGFILE=$CACHEDIR"/log"
fi
# do the calculation
awk ' BEGIN { a=0; } { a=a+$5 } END { print "avg_object_size:",a/NR, "bytes" } ' $LOGFILE
        examine (or squidexamine if you prefer)
-----------------------------------------------------------------------------
#!/bin/sh
#
#	Examine
#  Crude but it will serve.  Retrieve information from squid.
#
CLIENT="/usr/local/bin/client -p 80 cache_object://a"
if [ $# -eq 1 ] ; then
        ${CLIENT}/$1 | $PAGER
else
        echo " To extract information from squid"
        echo ""
        echo "info                      server_list"
        echo "client_list               parameter"
        echo "stats/ipcache             stats/vm_objects"
        echo "stats/dns                 stats/redirector"
        echo "stats/utilization         stats/io"
        echo "stats/reply_headers       stats/filedescriptors"
        echo ""
fi
exit
-----------------------------------------------------------------------------
-- Neil Murray Email: Neil.Murray@aone.com.au Access One Pty. Ltd. http://www.aone.net.au/ 41 Malcolm Rd., Braeside Phone: +61 3 9239 1444 Victoria, Australia 3195 Fax: +61 3 9587 3954Received on Thu Jan 29 1998 - 02:55:14 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:38:34 MST