dccifd oscilates between servers

Vernon Schryver vjs@calcite.rhyolite.com
Fri Aug 20 17:00:11 UTC 2004

> From: Sergio Devojno Bruder 

> We are beginning a large instalation of dcc (5-6M emails/day), now with 1 
> local server and running dccifd only in 2 relays (2-3M/day):
> in one case dccifd's are running in the relay machine itself, in the other 
> dccifd's are running in the server box.
>The problem that we are running into is that the calculated RTT for our server 
>oscilates wildly, so from time to time our ifd's choose a public server and we 
> already use RTT-2000ms for our server.
> This alone prevented that we extended dcc use to all of ours mx boxes.
> dccd server is basically idle, 50-70% of CPU idle (but load ~2, probably 
> I/O-related).

2 to 3 million DCC requests per day should not stress typical modern
80*86 PC hardware provide the system has enough RAM.  30-50% CPU
load seems high if only dccd is running on the system.
z.dcc-servers.net handles about 1.5-2.0 M requests/day with a CPU
load of between 0.5 and 0.1, or less than 10% of what you are seeing.
(z.dcc-servers.net should be handling more, but I suspect some 
kind of DoS defense nearby is rate limiting UDP port 6277.)

Dccd is a memory pig.  The common database of bulk mail wants at least
750 MByte.  2 million local requests/day would want another 500 MByte.
Dccd tries not to use more than 50% of RAM, but wants to all
of /var/dcc/dcc_db.hash and most of /var/dcc/dcc_db in RAM.
Thus a system handling more than 2-3 M requests/day wants more than
1 GByte of RAM.

I should also mention that some flavors of UNIX do not deal gracefully
with the large mmap() areas used by dccd.  For example, I've seen some
versions of Linux insist on swapping, and in the worst possible, least
necessary ways.

Vernon Schryver    vjs@rhyolite.com

More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.