[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Questions re Zmail
Most questions have gotten answers by other people, thanks :-)
> 1. What is this "Timeserver" and why does it garble the ps line?
> 11831 ? S 0:00 /usr/lib/zmailer/router -dkn 4
> 11836 ? S 0:04 /usr/lib/zmailer/scheduler -l /var/log/mail/scheduler.perflog -S -H
> 11837 ? S 0:00 TimeServer ailer/scheduler -l /var/log/mail/scheduler.perflog -S -H
> 11838 ? S 0:00 /usr/lib/zmailer/router -dkn 4
> 11839 ? S 0:00 /usr/lib/zmailer/router -dkn 4
A couple years back I did syscall traceing on the scheduler,
and guess what syscall it did most frequently ? gettimeofday() :-)
( or time(), varied by the systems )
Now on Linux that is "cheap" operation, but on SunOS 4.1 it does
cost (if not arm and leg) LOTS of time, nearly a millisecond!
(Linux: circa 20 microseconds)
In certain scheduling events it may be called several thousand
times just for going thru the timing lists...
Also yesterday here was a question about having knowledge about
system load average, and IMO if the scheduler would need to check
it every time it is about to fork() a new transport agent, it
would soon be doing that generally very expensive operation
over and over again... (On Linux it is cheap, but other systems
are not so nice..) If the "TimeServer" would present the LoadAvg
in its shared memory block, then it would be cheaper...
For that I would suggest alternate solution:
SCHEDULEROPTIONS=" ... -R 2 ..."
That 'R' option is 'maxforkRate', that is how many forks the
scheduler does during any given second. Indirectly it affects
on how fast the scheduler can induce load to the system..
> 2. Why does mailq need the -Q option when querying a scheduler running
> with -Q? This is quirk. Make mailq discover what protocol is used by the
> scheduler and act appropriately.
Actually the 'mailq' can't. The output IS empty for the case
of having nothing in the queue, but it LOOKS empty, when the -Q
option is used at the scheduler.
> 3. Is there any mailing list manager available that uses the native
> mailing list features of Zmailer?
Yes, Majordomo does pretty well :-) (At vger.rutgers.edu)
Or actually, most MLMs eventually run some external list
expansion routine, which in sendmail case has traditionally
been an alias:
which in ZMailer's case is simply placeing that file into
directory MAILSHARE/lists/ with name listname-outgoing.
> Also how big can the lists be that Zmailer can reasonably handle natively
> 100.000? 10.000? 1.000?
> Or is it better to have bulkmail or smartlist handle the mailing lists?
With VERY BIG lists it is better to use external program to split
the number of recipients down to more manageable size pieces -- like
1000 - 1500 recipients each. Also preferrably sort them by the
domains so that the message has more changes to be delivered to
more than one recipient at the time over the SMTP connections...
It would be nice if the list expander would use zmailer(3) library
(and data format!) to do the message submissions, then it would
work neatly, and with minimal process creation. ( = No 'sendmail'
running at all..)
The ZMailer router process stays much leaner when it need not do
the whole list expansion in core..
Years back, router memory consumption in list expansion grew in
O(N**2) fashion, and it did need 150 MB memory to handle 600
addresses. Now it handles 2500 addresses with 20 MB. Much
more linearly, though not as lean as I would like it to be...
> 4. Logging via syslogd
> It seesm that the syslog daemon consumes quite a bit of cpu time and is
> often waiting for disk i/o to take place. Is there some way to switch
> logging off or do logging in a different way?
syslogd's problem is that it does fsync() after each file write
event, which is hurting the system...
I am considering adding global method to turn off the syslog()
logging in the 2.99.49.
In the mean time, you would better to find a version of syslogd
that is more sensible -- ask firstname.lastname@example.org, I asked
him to do such for vger.rutgers.edu. (Before I put the newest
> I also noticed that the scheduler/router log quite a bit of information to
> files that is not necessary. Any way to switch those off?
There were good replies for this.
> --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---