[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ZMailer "hangs up" on message queues...
Carlos G Mendioroz wrote:
> Michael Loftis wrote:
> > We have ferreted out the quirkiness as it were, the filenames do have to
> > be numeric, the problem is we don't want to slow down to retrieve the
> > inode number for every file we inject into the queue, as this would
> > require a (Totally unecessary) stat (or fstat) call. Complicating
> > matters slightly further is the fact we're using Perl as the engine.
> I would not agree on the "totally unecessary" thing here:
> -You do need file name uniqueness. Zmailer counts on that (at least, it
> to count on that)
> -You are using different processes to generate mail, so somehow you have
> coordinate between them.
> PID is not a secure scheme. Upon reboot, for example, you will get same
> PID number
> and you will clash with previous messages if still there.
> -Stat()'ing the file seems a clean and easy way to coordinate...
> > And actually you have to get the inode number, then convert it to ASCII
> > (OK so itoa isn't that expensive, but still...)
> What about open(MSG, "|rmail $dest) ? ;-)
> I guess you are after speed, but you are doing it in perl, so why don't
> let the mailer care about the queue ?
> (This used to be called modularity, structured programming, object
> and last word for it I read is protected variation. Divide and conquer
CAllign a fork would be more expensive than anything else, we're needing
a *minumim* 40 messages/sec, with a target of about 80 messages/sec.
The backend can create and inject well over 100 messages/second on
modest hardware as it is, the hangup has been the mailer.
We know about PID non uniqueness, the machien doesn't get rebooted often
enough nor do the PIDs roll often enough for this to be an issue.
What we need is speed and simplicity so it'd be nice to have a document
outlining the cans and can nots of queue file names.
> Carlos G Mendioroz <email@example.com> +54 11 4790-5093
> D.F.Sarmiento 4165 - Olivos BA 1636 // LW7 EQI Argentina
> To unsubscribe from this list: send the line "unsubscribe zmailer" in
> the body of a message to firstname.lastname@example.org
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to email@example.com