On 10/31/2009 12:32 AM, Stan Hoeppner wrote:
All these cidr maps are a great example of separate tables that should
be combined into a single table with a Makefile.
Interesting. I may take a look into Makefile some time. I was unaware
of it until today. Just out of curiosity, how does putting it all in
one file make the resulting single file smaller than the sum of the
individual files' contents? Does Makefile compress the contents in some
way, such as postmap indexes hash files? I ask as the only overlapping
data in my CIDR files is the "REJECT" + "custom error" within each CIDR
file.
Each lookup table requires overhead. 30 separate tables
requires considerably more overhead than one table. The size
of the dataset doesn't change, it's the overhead that gets
smaller. The more concurrent smtpd processes running, the
more it matters.
It probably doesn't matter in your environment, but posting
examples suitable for only a very small environment without
labeled as such doesn't help the wider user base.
And postmap doesn't compress files, but the index allows
postfix to find a particular key quickly -- lookup time and
system overhead for hash: and cdb: is essentially independent
of the size of the table, so it makes sense to use a single
table as big as necessary. In particular, cdb: scales well up
to millions of entries, hash: tables easily to hundreds of
thousands.
-- Noel Jones