Re: [Dovecot] Slow header fetching rate over nfs mailspool.
On Thu, 2008-01-24 at 00:18 +0800, Dino Ming wrote:
open("/dap/mstorage/example.com/dino/Maildir/cur", O_RDONLY| O_NONBLOCK|O_DIRECTORY) = 8 <0.000098> .. getdents64(8, /* 114 entries */, 8192) = 8128 <0.347680> getdents64(8, /* 113 entries */, 8192) = 8136 <1.385329> getdents64(8, /* 113 entries */, 8192) = 8144 <1.668419> getdents64(8, /* 113 entries */, 8192) = 8136 <2.942874> getdents64(8, /* 107 entries */, 8192) = 7712 <5.346971> getdents64(8, /* 0 entries */, 8192) = 0 <0.000046>
This means that a simple "ls" call on that cur directory would take about 11 seconds (when the directory entries aren't already cached). You could verify that this happens.
So I can't really say anything else than that the problem is somewhere outside Dovecot..
Hi Timo,
I did a test with manully perform ls a hunderd times on the /dap/mstorage/example.com/dino/Maildir/cur
but the response is very fast and without the strange delay like
inside dovecot.
With 558 emails inside the cur directory. The time to execute the ls
is just
real 0m0.061s user 0m0.008s sys 0m0.008s
Regards, Dino
On 24 Jan 2008, at 1:39 AM, Timo Sirainen wrote:
On Thu, 2008-01-24 at 00:18 +0800, Dino Ming wrote:
open("/dap/mstorage/example.com/dino/Maildir/cur", O_RDONLY| O_NONBLOCK|O_DIRECTORY) = 8 <0.000098> .. getdents64(8, /* 114 entries */, 8192) = 8128 <0.347680> getdents64(8, /* 113 entries */, 8192) = 8136 <1.385329> getdents64(8, /* 113 entries */, 8192) = 8144 <1.668419> getdents64(8, /* 113 entries */, 8192) = 8136 <2.942874> getdents64(8, /* 107 entries */, 8192) = 7712 <5.346971> getdents64(8, /* 0 entries */, 8192) = 0 <0.000046>
This means that a simple "ls" call on that cur directory would take about 11 seconds (when the directory entries aren't already cached).
You could verify that this happens.So I can't really say anything else than that the problem is somewhere outside Dovecot..
On Thu, 2008-01-24 at 13:05 +0800, Dino Ming wrote:
Hi Timo,
I did a test with manully perform ls a hunderd times on the /dap/mstorage/example.com/dino/Maildir/cur
but the response is very fast and without the strange delay like
inside dovecot.
They're the same syscalls. I've no idea why it would be slow inside Dovecot and not with ls. Although it's possible that it's slow only *sometimes*. Because Dovecot does so many commands at once maybe the problem happens only then.
One possibility to simulate this could be running "find ." for all users' maildirs and see if at some point it just stops for many seconds.
participants (2)
-
Dino Ming
-
Timo Sirainen