[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: transports directory

On Thu, 6 Jul 1995 Nicholas_Briggs.PARC@xerox.com wrote:

> It's not absolutely necessary, but it simplifies things somewhat.   You should
> read the code rather than the ZMOG.   While it might not be very difficult to
> eliminate one or the other, it is not *necessary* to do so, and is likely to
> result in more problems than it is solving (what problem are you trying to
> solve??).   If you have time on your hands, and want to do something to

  Reduce I/O requirements.  From various reports, Sendmail puts less 
demand on system's disk I/O than Zmailer does, handling the same volume of 
mail.  It is easy to see why.  Sendmail, upon receipt of a message, saves 
a control file and a message file in the queue, and when the message has 
completed delivery, they are removed.  Zmailer saves the message file in 
the public directory, then moves it the router directory, then the router 
moves it to the queue directory and writes a control file in the 
scheduler directory.  The scheduler moves the control file into a channel 
directory and makes a link into the transports.  As you can see, a fair 
bit more disk activity.

  There was a discussion of this on this list some time ago, about disk I/O 
and Zmailer vs Sendmail.

> zmailer, IMHO it would be better spent reading and understanding the code and
> looking for bugs, security holes, performance problems, etc.  rather than
> making what sound like gratuitous changes to working parts of the system.

  I've been doing this.  Right now the major weak area, appears to be the 
scheduler.  It has a memory leak (I had 13M scheduler process once).  Now 
this is with the 2.99.X code, but little seems to have changed in this 
area.  The scheduler should likely be rewritten with a higher system 
standard (ex. os _must_ have select()).

> Sorry if this sounds somewhat curt, but I don't think change for change's sake
> is a good thing in software -- if there's a problem, solve it, if not, ...

  This is most definitely not for "change's sake".  I think that 
shortening the path of message through Zmailer is a good idea.  Right 
now, the current message flow seems to be unnecessary complexity.  If the 
scheduler is to be re-written, it would probably make sense to go to a 
simpler design.

  I'm not suggesting that the old scheduler to be hacked 
to do this.  In fact if it was, it would probably cause massive 
instabilities in the current scheduler that would take longer to debug 
than a re-write.

  To get an idea of where I going with this, I'd like to see the router 
and scheduler use a more advanced form of process communication rather a 
shared directory.  Perhaps sockets, and just use the directory queues as a 
fallback if a process becomes unresponsive (somewhat like the operation 
or rnews on a INN system:  if it can't pass the articles directly to 
innd, queue in a incoming directory).  However, I'd be the first to admit 
that this is long way off, if it is going to happen at all.