[Mailman-Users] Problem with archrunner using large %'s of cpu (read faq & archives)

Richard Barrett r.barrett at ftel.co.uk
Sat Nov 1 01:52:49 CET 2003


On Friday, October 31, 2003, at 11:59  pm, Brad Knowles wrote:

> At 6:21 PM -0500 2003/10/31, Scott Lambert wrote:
>
>>  I haven't looked at the code yet, and probably won't (ENOTIME), but  
>> it
>>  almost sounds to me like it's not pruning it's list of handled  
>> messages
>>  and has to walk all of them each time.  I would have expected queue
>>  handling to get faster as the queue got smaller due to fewer files
>>  in the directory that it needs to search through.  Maybe it's just a
>>  function of the python datastructure being used.
>
> 	If it's using files as the queue mechanism, then deleting a file  
> simply marks the entry in the directory as "available", and it still  
> takes just at long to scan the directory afterwards as it did before.
>
> 	This is a known problem with many MTAs handling large amounts of  
> messages, and is one reason why you should use a hashed directory  
> scheme for your mail queue (a la postfix), or you should periodically  
> stop the MTA, move the mail queue directory aside, create a new mail  
> queue directory (with appropriate ownership and permissions), then  
> move what messages may remain from the old queue back into the new one  
> (or fire up queue runners to clear the old queue while the new one is  
> being used for new mail).
>

In MM 2.1.3, the relevant code is in  
$prefix/Mailman/Queue/Switchboard.py function files() starting at line  
204 which is called from $prefix/Mailman/Queue/Runner.py line 89 when  
subclassed from $prefix/Mailman/Queue/ArchRunner.py

Rather than just theorize, feel free to make specific suggestions about  
the deficiencies and appropriate remedies based on the code being  
executed. Dare I say it, you could even submit a patch to fix any  
obvious errors in the code.

> 	Mailman could very easily be suffering from the same sort of problem  
> -- once you get a directory with a large number of entries in it, it  
> takes a long time to scan it even if there are only a few files that  
> are currently visible.  Same problem, perhaps the same solution?
>
> -- Brad Knowles, <brad.knowles at skynet.be>
>
> "They that can give up essential liberty to obtain a little temporary
> safety deserve neither liberty nor safety."
>     -Benjamin Franklin, Historical Review of Pennsylvania.
>
> GCS/IT d+(-) s:+(++)>: a C++(+++)$ UMBSHI++++$ P+>++ L+ !E-(---)  
> W+++(--) N+
> !w--- O- M++ V PS++(+++) PE- Y+(++) PGP>+++ t+(+++) 5++(+++) X++(+++)  
> R+(+++)
> tv+(+++) b+(++++) DI+(++++) D+(++) G+(++++) e++>++++ h--- r---(+++)*  
> z(+++)
>
> ------------------------------------------------------
> Mailman-Users mailing list
> Mailman-Users at python.org
> http://mail.python.org/mailman/listinfo/mailman-users
> Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py
> Searchable Archives:  
> http://www.mail-archive.com/mailman-users%40python.org/
>
> This message was sent to: r.barrett at openinfo.co.uk
> Unsubscribe or change your options at
> http://mail.python.org/mailman/options/mailman-users/ 
> r.barrett%40openinfo.co.uk
>





More information about the Mailman-Users mailing list