[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:
		listname-outgoing:  ":include:/path/to/file"
	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  davem@caip.rutgers.edu, I asked
	him to do such for vger.rutgers.edu.  (Before I put the newest
	ZMailer there...)

> 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.

> --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---

	/Matti Aarnio