Hi All,

I think I've found the real cause of those error messages.

The peer socket functions give out those errors, and it all boils down
to one function: select(2). The timeout value passed to select(2) in one
case is 3 and in the other is 10 seconds. Even though these values seem
large enough, under relatively high load (e.g. 120 web page requests
using firefox, or when there are many dante instances), I get 3-4 such
errors.

When I raise both of these timeouts to 30 seconds, and under the same
test conditions, I get no errors at all.

To verify my theory, if I reduce both of them to just 1 second, I get
6-7 such errors, as I expected.

So, I'm almost sure that select(2) timeout is the cause of such errors.
The fact that DG 2.9.7.5 cannot handle such errors (they are not
ignorable in my case) is another subject for discussion perhaps, but I'm
trying to find a way to improve the performance of select(2). What are
the factors effecting its performance?

The machines I'm using are in the ranks of P4 3.2GHz, DDR400 1GB RAM,
7200rpm 80GB SATA HD.

How should one choose timeout values for select(2)? How can I
performance tune OpenBSD in this case? Should I run DG at a higher
priority?

(I'll submit these findings to DG also, but it seems these timeout
values are OK with Linux. Or perhaps, the only processes running on
their Linux are DG. I have many other processes too. So I wanted to ask
misc@ first.)

Thanks,

On Sat, 2006-08-19 at 13:53 +0300, Soner Tari wrote:
> Hi All,
> 
> I think that this problem is related with DG (or its interactions with
> OpenBSD), and I have already posted the following emails to the DG
> maillist, but I could not receive any replies. So I assume that most DG
> 2.9.7.5 users run it on Linux, and they don't have this problem.
> Therefore, I hope there are people on this list running DG 2.9.7.5 on
> OpenBSD 3.9.
> 
> The summary of the issue is that I get the following errors in messages:
> 
> dansguardian: Error accepting. (Ignorable)
> dansguardian: Error reading ipc. (Ignorable)
> 
> When these errors occur for all the child processes (max 120 in config
> file), DG stops all web access. Apparently, they are not "ignorable."

Reply via email to