[Dovecot] v1.1 status and benchmarks
v1.1 plans have changed a bit. I'll release v1.1.alpha1 soon and hope to have a stable v1.1 in a month or two. The rest of the features that didn't make it into v1.1 will go to v1.2. I'll write more about this when v1.1 alpha is released.
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
v1.0: Maildir, dovecot-1.0 hg + inotify dotlock wait patch, mmap_disable=yes v1.1: Maildir, dovecot hg, mmap_disable=no cydir: Cydir, dovecot hg, mmap_disable=no
1 client
./imaptest logout=0 seed=1 secs=10 clients=1 Logi List Stat Sele Fetc Fet2 Stor Dele Expu Appe 100% 50% 50% 100% 100% 100% 50% 100% 100% 100% 30% 5% v1.0: 1 1221 1179 1 2420 3458 323 1934 2419 2552 v1.1: 1 2606 2597 1 5221 7352 688 4181 5221 5489 cydir: 1 4495 4534 1 8960 12786 1216 7224 8959 9434
10 clients
./imaptest logout=0 seed=1 secs=10 clients=10 Logi List Stat Sele Fetc Fet2 Stor Dele Expu Appe 100% 50% 50% 100% 100% 100% 50% 100% 100% 100% 30% 5% v1.0: 10 2058 2102 10 4157 6019 1426 3348 4157 4391 v1.1: 10 5029 5072 10 10064 14352 3176 8092 10064 10624 cydir: 10 6332 6393 10 12664 17965 3958 10154 12663 13336
On Thursday 12 of July 2007, Timo Sirainen wrote:
v1.1 plans have changed a bit. I'll release v1.1.alpha1 soon and hope to have a stable v1.1 in a month or two. The rest of the features that didn't make it into v1.1 will go to v1.2. I'll write more about this when v1.1 alpha is released.
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
Could you somehow test system usage resources, too? That will be probably problematic to measure.
For example being twice fast and eating four time more resources isn't a great win. That bit me when I wanted to switch from tpop3d to dovecot for pop3 (already done similar switch for imap). It looks like dovecot does much more I/O (even when delivery is used at MTA level so indexes are available) which caused huge problems (unsolved unfortunately).
Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/
On 12.7.2007, at 10.07, Arkadiusz Miskiewicz wrote:
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
Could you somehow test system usage resources, too? That will be
probably problematic to measure.
It is problematic to measure. Feel free to figure out how to do that. :)
For example being twice fast and eating four time more resources
isn't a great win. That bit me when I wanted to switch from tpop3d to dovecot for
pop3 (already done similar switch for imap). It looks like dovecot does
much more I/O (even when delivery is used at MTA level so indexes are
available) which caused huge problems (unsolved unfortunately).
Yes, Dovecot's hasn't been a very good POP3 server. With v1.1 there
are several improvements that should make it a lot better, although
maybe still not perfect.
Although I'm guessing your "much more I/O" means that Dovecot reads
the message contents to calculate the messages' correct virtual size,
while tpop3d violates POP3 spec by returning physical message sizes.
Also Dovecot 1.0's deliver doesn't help with this, because it doesn't
write the virtual size to cache file.
On Thursday 12 of July 2007, Timo Sirainen wrote:
For example being twice fast and eating four time more resources isn't a great win. That bit me when I wanted to switch from tpop3d to dovecot for pop3 (already done similar switch for imap). It looks like dovecot does much more I/O (even when delivery is used at MTA level so indexes are available) which caused huge problems (unsolved unfortunately).
Yes, Dovecot's hasn't been a very good POP3 server. With v1.1 there are several improvements that should make it a lot better, although maybe still not perfect.
Although I'm guessing your "much more I/O" means that Dovecot reads the message contents to calculate the messages' correct virtual size, while tpop3d violates POP3 spec by returning physical message sizes. Also Dovecot 1.0's deliver doesn't help with this, because it doesn't write the virtual size to cache file.
Is this improved in 1.1 so virtual size is stored there?
-- Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/
On 12.7.2007, at 10.22, Arkadiusz Miskiewicz wrote:
Although I'm guessing your "much more I/O" means that Dovecot reads the message contents to calculate the messages' correct virtual size, while tpop3d violates POP3 spec by returning physical message sizes. Also Dovecot 1.0's deliver doesn't help with this, because it doesn't write the virtual size to cache file.
Is this improved in 1.1 so virtual size is stored there?
v1.1 stores the virtual size to the maildir filename (,W=1234) and
for existing files it adds them to dovecot-uidlist. If only POP3 is
used, the cache file isn't created at all. If IMAP is used then
virtual size is stored also to the cache file.
On Thursday 12 of July 2007, Timo Sirainen wrote:
On 12.7.2007, at 10.22, Arkadiusz Miskiewicz wrote:
Although I'm guessing your "much more I/O" means that Dovecot reads the message contents to calculate the messages' correct virtual size, while tpop3d violates POP3 spec by returning physical message sizes. Also Dovecot 1.0's deliver doesn't help with this, because it doesn't write the virtual size to cache file.
Is this improved in 1.1 so virtual size is stored there?
v1.1 stores the virtual size to the maildir filename (,W=1234) and for existing files it adds them to dovecot-uidlist.
Great.
If only POP3 is used, the cache file isn't created at all. If IMAP is used then virtual size is stored also to the cache file.
Hm, http://wiki.dovecot.org/POP3Server doesn't mention anything about cache not being created. It even says that dovecot.index.cache is actually used and updated.
Is it used (including updates) when and only when if it's created earlier by imap?
-- Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/
On Thu, 2007-07-12 at 09:44 +0200, Arkadiusz Miskiewicz wrote:
If only POP3 is used, the cache file isn't created at all. If IMAP is used then virtual size is stored also to the cache file.
Hm, http://wiki.dovecot.org/POP3Server doesn't mention anything about cache not being created. It even says that dovecot.index.cache is actually used and updated.
I meant with v1.1 it's not being created/updated anymore with pop3-only users, because it would just waste disk I/O. But if the cache file already exists, it's used if needed.
Quoting Timo Sirainen <tss@iki.fi>:
Yes, Dovecot's hasn't been a very good POP3 server. With v1.1 there are several improvements that should make it a lot better, although maybe still not perfect.
It may not be as "good" compared to some (like tpop3d) but it certainly rocks compared to wu-imapd's pop3. Your milage may vary, and be related to what you are used to using.
-- Eric Rostetter The Department of Physics The University of Texas at Austin
Go Longhorns!
On 7/12/07, Timo Sirainen <tss@iki.fi> wrote:
v1.1 plans have changed a bit. I'll release v1.1.alpha1 soon and hope to have a stable v1.1 in a month or two. The rest of the features that didn't make it into v1.1 will go to v1.2. I'll write more about this when v1.1 alpha is released.
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
v1.0: Maildir, dovecot-1.0 hg + inotify dotlock wait patch, mmap_disable=yes v1.1: Maildir, dovecot hg, mmap_disable=no cydir: Cydir, dovecot hg, mmap_disable=no
is dovecot+cydir as fast as native Cyrus-IMAP ?
-- DINH Viêt Hoà
On Thu, 2007-07-12 at 09:37 +0200, DINH Viêt Hoà wrote:
On 7/12/07, Timo Sirainen <tss@iki.fi> wrote:
v1.1 plans have changed a bit. I'll release v1.1.alpha1 soon and hope to have a stable v1.1 in a month or two. The rest of the features that didn't make it into v1.1 will go to v1.2. I'll write more about this when v1.1 alpha is released.
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
v1.0: Maildir, dovecot-1.0 hg + inotify dotlock wait patch, mmap_disable=yes v1.1: Maildir, dovecot hg, mmap_disable=no cydir: Cydir, dovecot hg, mmap_disable=no
is dovecot+cydir as fast as native Cyrus-IMAP ?
It depends on what you benchmark, but I think it's faster in pretty much all of them. I did some Cyrus vs Cydir benchmarking a month or two ago, see mailing list archives.
Timo Sirainen wrote:
v1.1 plans have changed a bit. I'll release v1.1.alpha1 soon and hope to have a stable v1.1 in a month or two. The rest of the features that didn't make it into v1.1 will go to v1.2. I'll write more about this when v1.1 alpha is released.
I also did a bit of benchmarking. v1.1's performance improvements are looking pretty great, it seems to be twice as fast as v1.0.
v1.0: Maildir, dovecot-1.0 hg + inotify dotlock wait patch, mmap_disable=yes v1.1: Maildir, dovecot hg, mmap_disable=no cydir: Cydir, dovecot hg, mmap_disable=no
1 client
./imaptest logout=0 seed=1 secs=10 clients=1 Logi List Stat Sele Fetc Fet2 Stor Dele Expu Appe 100% 50% 50% 100% 100% 100% 50% 100% 100% 100% 30% 5% v1.0: 1 1221 1179 1 2420 3458 323 1934 2419 2552 v1.1: 1 2606 2597 1 5221 7352 688 4181 5221 5489 cydir: 1 4495 4534 1 8960 12786 1216 7224 8959 9434
10 clients
./imaptest logout=0 seed=1 secs=10 clients=10 Logi List Stat Sele Fetc Fet2 Stor Dele Expu Appe 100% 50% 50% 100% 100% 100% 50% 100% 100% 100% 30% 5% v1.0: 10 2058 2102 10 4157 6019 1426 3348 4157 4391 v1.1: 10 5029 5072 10 10064 14352 3176 8092 10064 10624 cydir: 10 6332 6393 10 12664 17965 3958 10154 12663 13336
what is cydir? dovecot suppurt cydir format or it's cyrus speed? if it's dovecot cydir support so fast will the v.x.y be ever so fast? or it'd be better to use/switch to cydir? is there any converter script?
-- Levente "Si vis pacem para bellum!"
On Thu, 2007-07-12 at 13:39 +0200, Farkas Levente wrote:
what is cydir? dovecot suppurt cydir format or it's cyrus speed? if it's dovecot cydir support so fast will the v.x.y be ever so fast? or it'd be better to use/switch to cydir?
It's a simple mailbox format that is somewhat similar to Cyrus mailbox format. It completely relies on having all the mailbox metadata in Dovecot's index files, and currently it can't even rebuild the indexes if they get lost/corrupted.
I was planning on keeping it mostly for testing/benchmarking purposes. I'm hoping that the upcoming dbox rewrite will have at least as good performance as Cydir.
participants (5)
-
Arkadiusz Miskiewicz
-
DINH Viêt Hoà
-
Eric Rostetter
-
Farkas Levente
-
Timo Sirainen