> -----Original Message-----
> From: Chris & Val Bamber
> Sent: Thursday, September 12, 2002 3:07 PM
> 
> I was running SquidGuard will the default set of blocked porn domains as 
> posted on the squidGuard official website. It has worked quite happily.
> 
> I replaced the domain list for the porn sites with another one I downloaded
> which contained over 200,000 domains. When I restarted Squid, the system
> seemed to go permanently into disc access and it was impossible to do
> anything on the system except turned it off to restart, only for it to do the 
> same thing again. I have disabled squid guard until I know what is going on.
> 
> The spec of my machine is a Pentium II 350mhz (Dell Workstation 410 - SCSI)
> 128MB of Ram. Do I need a beefier machine ?

I'm running a larger blacklist than yours on a P200.

You simply need to take full advantage of squidGuard's features,
specifically the -C command. Here's what I mean:

One of the main reasons that squidGuard retains its speed (even with
very large numbers of domains and urls), is that it stores all of the
domains and urls in B-trees.
(See <http://searchdatabase.techtarget.com/sDefinition/0,,sid13_gci508442,00.html>)

At startup, squidGuard reads your squidGuard.conf file and for each
defined destination group it looks first for .db versions of the
listed text files. For example, if your squidGuard.conf file contained
these lines:
dest    porn {
        domainlist              porn/domains
        urllist         porn/urls
        expressionlist  porn/expressions
        logfile         porn.log
}

squidGuard will first look for the files <porn/domains.db> and
<porn/urls.db>. If those files do not exist, squidGuard will use the
text files <porn/domains> and <porn/urls> and create a run-time B-tree
structure from the text files and go into operation. The time required
to create the B-trees is determined by the number of entries in the
text files.  When squidGuard is stopped, the B-tree structure is lost
and must be recreated from the text files during the next startup.

Running <squidGuard -C> tells squidGuard to pre-build the B-tree
structures using the text files, and then store those B-trees as .db
extensions of the text files. The next time squidGuard is started there
is no time wasted on created the B-trees; the db files are immediately
loaded and squidGuard is ready to roll. Without the prebuilt .db files
<squid -k reconfigure> can take minutes, with the .db files it can
take less than 5 seconds.

When squidGuard is using the prebuilt .db files, changing the text
files has no effect on squidGuard operation until the .db files are
recreated with <squidGuard -C>, or until the .db files are updated
with <squidGuard -u>. The update option has the advantage of speed;
a running squidGuard can be updated and back in operation in less
than 5 seconds.

Database updates are accomplished by creating a file with the same
name as the text and database files and a .diff extension. For example:

/blacklists
|-- porn
    |-- domains
    |-- domains.db
    |-- domains.diff
    |-- expressions
    |-- urls
    |-- urls.db
    `-- urls.diff

The diff files contain entries to be added or deleted from the
pre-built database:
+domain/url to be added
+domain/url to be added
+domain/url to be added
-domain/url to be removed
-domain/url to be removed
-domain/url to be removed

Running <squidGuard -u> followed by <squid -k reconfigure> will then
update the db files. It does not make any changes to the text files;
you'll want to do that manually.

Hope that helps.

Rick Matthews

Reply via email to