working on getting a dual core dual cpu 64b 2MB cache 
  xeon 2.8GHz w/12GB RAM and dual copper em(4) put
  in place in front of our MX vip for a greylisting spamd(8).

  i've got a similar machine with faster CPU ( 3.0 GHz / 4MB )
  but it "only" has 4GB of RAM with 4.0 installed on it now
  that was planning on using but i'm wondering if i'm going
  to definately need that extra 8GB of RAM.

  reason being we want to keep as much crap from talking to the MXs
  as we can (and thus to the spamassassin and all that stuff)
  - we also have some RBLs we use to flat out 5xx some
  incoming clients with - would like to use those for the
  <spamd> table with spamd-setup(8) - don't want them to go through
  greylisting trials and do want to be able to specify the "blacklist"
  message they see based on what RBL they're in.  i'm not the biggest
  fan of RBLs, but we use some of them, so if spamd(8) can help us
  use them *better*, hooray.

  i did a few tests with pfctl(8) and spamd-setup(8) and see
  a concerning difference in the amount of time it takes to complete
  the operation of populating the addresses ( mostly in part because
  of the size of these RBLs, i believe ).

  here's a comparison of loading the 'CBL' list (i sorted it first,
  ascending) into pf via pfctl and then via spamd/spamd-setup.

# wc -l /root/rbldns/cbl/cbl.zone.plain.sorted
 3899399 /root/rbldns/cbl/cbl.zone.plain.sorted

# pfctl -FT ; echo "table <cbl> persist file 
\"/root/rbldns/cbl/cbl.zone.plain.sorted\"" | time pfctl -vvf- -Tl
1 tables deleted.
table <cbl> persist file "/root/rbldns/cbl/cbl.zone.plain.sorted"
    0m12.52s real     0m4.48s user     0m7.97s system

# cat /etc/spamd.conf
all:cbl:
cbl:black:msg="CBL":method=file:file=/root/rbldns/cbl/cbl.zone.plain.sorted

# pfctl -FT; time /usr/libexec/spamd-setup
2 tables deleted.
   20m19.53s real     5m38.13s user     7m23.78s system

  watching top(1), the greater part of 12m are spent in spamd-setup
  at ~100% cpu, then at about 13m spamd looks like it starts getting
  infos from spamd-setup, spamd itself starts having 90%+ CPU
  until the 20m mark when spamd-setup disappears.

  spamd-setup held onto its memory allocation until right near the end
  (~20m), here's a line from top -b a second or two before spamd-setup
  was out of the processlist:

15386 _spamd    64    0  127M   76M onproc/2 -        6:51 100.05% spamd
31029 root       2    0  951M  950M sleep/0  netio   12:58  0.00% spamd-setup

  spamd itself is now sitting at

15386 _spamd     2    0  209M  210M sleep/2  select   7:56  0.00% spamd

  so wrt the spamd-setup taking 20m there, i'm guessing that the only
  thing i can do to make that quicker would be to opportunistically
  supernet the source data into a file and then have spamd-setup use
  that one instead, but it is likely to be the case that the source
  data might not be very supernet-able too; i was looking at using
  more than just the CBL list, so instead of "only" about 3.8M entries,
  having something more like 12 million.

  the ruleset for pf i'm planning on keeping as plain as i can, probably
  not using altq for anything, but i'd like to use the source tracking
  options to keep the amount of connections from any specific non-whitelisted
  hosts down to a minimum.  i'm anticipating i'll need to significantly
  jack up the default state/srctrack limits, which is ok, but primarily
  i'm trying to make certain that it's reasonable to put a spamd/pf box
  in front of the MXs and have it weather the storm and do what i 
  hope it will benefit us with.

  dmesg and some details about the amount of email we get are in:

http://marc.theaimsgroup.com/?l=openbsd-pf&m=116482979827642&w=2

  with the exception that instead of the 1950s it's now going to probably
  be a 2850 ( the guy with 12GB RAM ) as the primary and failover to a 1950
  who'll just pass stuff without greylisting.

-- 

  jared

Reply via email to