[Dovecot] use of deliver from procmail advisable?
Hi list,
I understand that dovecot's deliver does a little more than deliver: it also updates the dovecot metadata stored with each Maildir. Thus, if I use deliver as opposed to procmail's internal Maildir delivery, it seems that the IMAP server later has less work to do since the metadata is can use are up to date.
Doing this, however, incurs an extra process for each mail delivered. I thus wonder whether the two balance each other out, or whether there is a strong difference.
What do you think will be less resource-heavy: calling deliver for every mail received *in addition to* procmail, or letting the IMAP server update the metadata on access?
-- martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
EARTH smog | bricks AIR -- mud -- FIRE soda water | tequila WATER
spamtraps: madduck.bogus@madduck.net
On Tuesday, August 14 at 04:38 PM, quoth martin f krafft:
I understand that dovecot's deliver does a little more than deliver:
It also understands the 'seive' filter language (an alternative to procmail).
What do you think will be less resource-heavy: calling deliver for every mail received *in addition to* procmail, or letting the IMAP server update the metadata on access?
Unless you're cutting it close to the limit on what your server can handle, that's probably the wrong question to ask. A better question is: which gives my users better performance? And the answer to THAT is 'using deliver'. The issue is that updating the metadata on access means that dovecot does more work when your users ask for their mail, as opposed to doing more work when your users aren't paying attention. Dovecot will *seem* snappier if you do the indexing work on delivery rather than on access, even though it may spend more CPU cycles overall to do so.
~Kyle
You cannot reason a person out of a position he did not reason himself into in the first place. -- Jonathan Swift
also sprach Kyle Wheeler <kyle-dovecot@memoryhole.net> [2007.08.14.1833 +0200]:
I understand that dovecot's deliver does a little more than deliver:
It also understands the 'seive' filter language (an alternative to procmail).
I don't consider it an alternative to procmail because you cannot pass mail to external programmes, like spamassassin or vacation. Sure, sieve has its own vacation module, but I find that to be rather limited. See this thread:
http://dovecot.org/list/dovecot/2007-August/024686.html
What do you think will be less resource-heavy: calling deliver for every mail received *in addition to* procmail, or letting the IMAP server update the metadata on access?
Unless you're cutting it close to the limit on what your server can handle, that's probably the wrong question to ask. A better question is: which gives my users better performance?
Good point. The users, however, as far as I know, all use tools like offlineimap to synchronise in the background, so it hardly matters.
your users aren't paying attention. Dovecot will *seem* snappier if you do the indexing work on delivery rather than on access, even though it may spend more CPU cycles overall to do so.
Does anyone have hard facts on how much the server process loses if it encounters a folder with an index inconsistency?
-- martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
mulutlitithtrhreeaadededd s siigngnatatuurere
spamtraps: madduck.bogus@madduck.net
On Tuesday, August 14 at 07:03 PM, quoth martin f krafft:
It also understands the 'seive' filter language (an alternative to procmail).
I don't consider it an alternative to procmail because you cannot pass mail to external programmes, like spamassassin or vacation. Sure, sieve has its own vacation module, but I find that to be rather limited. See this thread:
Well, the whole point of sieve, I believe, is to make it something that an admin would want to let arbitrary users modify on their own recognizance, and the ability to specify arbitrary programs to run would be just *asking* to be hacked.
But I understand your desire there. At that point, I'd say the heck with it, just use procmail and don't worry about deliver. That's what I do, and my users are all impressed with dovecot's snappiness, irregardless of (or despite) its indexing. In a word: don't solve a problem that doesn't exist. :)
~Kyle
Once a government is committed to the principle of silencing the voice of opposition, it has only one way to go, and that is down the path of increasingly repressive measures, until it becomes a source of terror to all its citizens and creates a country where everyone lives in fear. -- Harry Truman
Well, the whole point of sieve, I believe, is to make it something that an admin would want to let arbitrary users modify on their own recognizance, and the ability to specify arbitrary programs to run would be just *asking* to be hacked.
Wouldn't a decent, secure alternative to procmail be sieve+amavisd-new?
--
Best regards,
Charles
On Tuesday, August 14 at 02:28 PM, quoth Charles Marcus:
Well, the whole point of sieve, I believe, is to make it something that an admin would want to let arbitrary users modify on their own recognizance, and the ability to specify arbitrary programs to run would be just *asking* to be hacked.
Wouldn't a decent, secure alternative to procmail be sieve+amavisd-new?
Not for what the OP wants to do, which is use arbitrary vacation programs.
~Kyle
Carpe per diem---seize the check. -- Robin Williams
also sprach Charles Marcus <CMarcus@Media-Brokers.com> [2007.08.14.2028 +0200]:
Well, the whole point of sieve, I believe, is to make it something that an admin would want to let arbitrary users modify on their own recognizance, and the ability to specify arbitrary programs to run would be just *asking* to be hacked.
Wouldn't a decent, secure alternative to procmail be sieve+amavisd-new?
Except it's not really possible to make amavisd-new do per-user spam filtering. And it's even more of a performance hog.
-- martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
"all language designers are arrogant. goes with the territory..." -- larry wall
spamtraps: madduck.bogus@madduck.net
On Tue, 2007-08-14 at 19:03 +0200, martin f krafft wrote:
Does anyone have hard facts on how much the server process loses if it encounters a folder with an index inconsistency?
With v1.0 deliver doesn't do much since it doesn't update cache file. With v1.1 it does and it's much more useful. But even then if your IMAP client is going to download the message body immediately anyway it probably doesn't matter much.
dovecot.index inconsistency checking and updating is really cheap. It's done all the time anyway with maildir.
On Tuesday, August 14 at 10:40 PM, quoth Timo Sirainen:
On Tue, 2007-08-14 at 19:03 +0200, martin f krafft wrote:
Does anyone have hard facts on how much the server process loses if it encounters a folder with an index inconsistency?
With v1.0 deliver doesn't do much since it doesn't update cache file. With v1.1 it does and it's much more useful. But even then if your IMAP client is going to download the message body immediately anyway it probably doesn't matter much.
dovecot.index inconsistency checking and updating is really cheap. It's done all the time anyway with maildir.
In other words, on a maildir-based system, using deliver does NOT significantly improve performance?
~Kyle
Democracy must be something more than two wolves and a sheep voting on what to have for dinner. -- James Bovard
participants (4)
-
Charles Marcus
-
Kyle Wheeler
-
martin f krafft
-
Timo Sirainen