Eugene, If you are testing, try the 2.2.0a1 test build. It has some performance improvements that may impact your application.
> the Database repository is used. The database is McKoi 0.94h. Are you aware of a problem with very slow inserts in McKoi? see: http://www.mckoi.com/database/FAQ.html#9_3 Also, McKoi v1.0 apparently improved the page cache, and fixed memory leaks. See their change log. > - the JVM is started with settings -Xms256m -Xmx1024m. In default > (64Mb) the Out of Memory occurs for 7500(and more) users in mail list If you are doing memory profiling, please let us know the types and origin of the objects taking up the heap. If they are LinkedList.Entry objects, they will confirm my suspicions. > - in settings - <deliveryThreads> 2 </deliveryThreads> This should not matter for local delivery. > 1) Why does the speed of delivery decrease after 2500 users? > 2) Why does James use such big memory for sending letters? There is a known issue with the list() methods on the repositories. Partially it is a mismatch of Avalon repository methods returning an Iterator and JavaMail methods wanting a Collection. So the repository clones its Collection and returns an Iterator, but then the caller uses the Iterator to populate a new Collection. And sometimes there is just some code that needs to be better optimized. In the case of AbstractJdbcUsersRepository, listAllUsers() makes a LinkedList and returns an Iterator. Then listUserNames() makes a LinkedList, which it populates from the Iterator returned by listAllUsers(). Then list() returns an Iterator on listUserNames(). Finally, getMembers() creates a Vector from the Iterator it received from list(). This happens for every message. LinkedLists are terrible inefficient for space, and the cloning operations are terribly slow. I've done some optimizing inside of the mail repositories, but no one has done any inside of the user repositories. I'll see if I can make a quick fix, and we can see if it helps. > 3) Also I see that in table spool in recipients field the ALL > emails of mail list are placed. May be better for delivery to cut > this to a little lists (up to 1000 or 2000 users) and send them separately? Unclear. The other changes are more likely to improve performance. --- Noel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
