[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Small question about zmailer
- To: Edgardo Szulstein <email@example.com>
- Subject: Re: Small question about zmailer
- From: Matti Aarnio <firstname.lastname@example.org>
- Date: Thu, 23 Dec 1999 19:10:14 +0200
- Cc: email@example.com
- In-Reply-To: <A16AD55925CCD211A71C0020AF9F6651045594@mafalda.pertsrl.com.ar>; from Edgardo Szulstein on Thu, Dec 23, 1999 at 12:50:03PM -0300
- References: <A16AD55925CCD211A71C0020AF9F6651045594@mafalda.pertsrl.com.ar>
On Thu, Dec 23, 1999 at 12:50:03PM -0300, Edgardo Szulstein wrote:
> As we have seen, zmailer manages one session per each channel/host
> combination in mail distribution. Is it possbile to increase this value, so
> that we'll be able to establish n sessions with each channel/host
No. Entire internal machinery has been geared to optimize
the one-process/one-thread paradigm.
Although lately I have spent quite a while of my time to
rework the scheduler so that doing it coherently *might* be
possible. ( I spotted cases where system clearly was running
multiple processes on one thread, even so that multiple
processes were processing *same* message.. And a few other
Considering ways how to achieve that multi-process per thread:
- thread-head needs a way to account the number of processes
in active service (an int)
- processes in active service need to be chained together
(bidirectionally) to ease removing them from active work
gangs when whatever they were doing is completed.
(moving to other thread, or to idle..)
- thread->proc pointer is then just root for that chain
- Thread activation would need to start desired number of
processes - keeping in mind that it isn't usefull to start
more processes than there are items in the thread..
Possibly some lesser number of processes - like at most
half the number of items on the thread..
Start them afesh/pick processes from thread-group idle pool.
... and a few other things I don't have a moment to think about
But yes, now it definitely is a possible thing to do.
Necessary framework exists mostly.
> Thanks in advance
> Edgardo Szulsztein
> Pert Consultores