I use postfix with postscreen, spamhaus and other RBLs, nolist greylisting, sqlgrey greylisting, amavisd-new (which calls in spamassassin), and clamav.
Freshclam and sa-update are run daily by cron. Here are my stats today on the primary MX (actually secondary due to nolist) Aug 21 Connect: 13840 Delivered: 12190 Reject total: 10986 Reject blocklists: 7710 Reject Reverse DNS: 222 Reject address or overquota: 1396 Early Hangup: 2466 Pregreeted: 777 Greylisted: 1543 Tagged: 936 Quarantined: 608 Infected: 3 The numbers might be strange when looking at connect versus the other totals, but remember one connection can send multiple emails. Tagged is the spam tag count, while severely high spam scores are quarantined with virtually no false positives). Without nolist greylisting, the connect stat would be about 600,000 to 800,000 per day. Early hangup and pregreeted are both features from postscreen. Where postscreen and greylisting really help is on the secondary MX. Here are today's stats on the lower priority MX. Aug 21 Connect: 773 Delivered: 53 Reject total: 4057 Reject Blocklists: 3327 Reject Reverse DNS: 110 Reject address or overquota: 33 Early Hangup: 1351 Pregreeted: 420 Greylisted: 545 Tagged: 75 Quarantined: 75 Infected: 0 Look at that. Only 53 delivered half way through the day. Before postscreen and greylisting, it was delivering about 5000 to 9000 emails per day. They were all spam because after the change, there are no calls asking where a missing email is. I also track these stats in cacti with the total for each day.