[Dovecot] dsync on large mailbox "fails"

Jeff Kletsky dovecot at allycomm.com
Mon Apr 23 22:56:13 EEST 2012


I've been trying to convert an existing set of mbox mail to maildir 
using dsync, but it seems to fail when it gets to the large boxes.

$ dsync -Dv mirror maildir:~/Maildir

Everything seems to work reasonably well until the first of the large 
boxes hits:

dsync(jeff): Warning: Maildir /home/jeff/Maildir/.cron.2010-07-10: 
Synchronization took 1210 seconds (102289 new msgs, 0 flag change 
attempts, 0 expunge attempts)
dsync(jeff): Warning: Transaction log file 
/home/jeff/Maildir/.cron.2010-07-10/dovecot.index.log was locked for 
1210 seconds

After this, the doveadm process goes from ~75% of the CPU core 
utilization to 100% and stays there, even overnight.

I've also tried

$ dsync -Dv backup maildir:~/Maildir

with similar results.

While I did see some threads on dsync speed, they seemed to be minutes 
for a few GB of data, not hours.

There is plenty of space on the drive, and, from what I understand, 
there is not a file-count limit on FreeBSD's ufs (at least not one that 
I'm anywhere near)

Any suggestions?

Thanks!

Jeff



[jeff at mail ~]$ du -h -d 0 ~/mail
3.9G    /home/jeff/mail

[jeff at mail ~]$ ls -lh /var/mail/jeff
-rw-------  1 jeff  jeff   554M Apr 23 11:27 /var/mail/jeff

[jeff at mail ~]$ df -h
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/ada0s2g     38G     18G     16G    53%    /




(Note that the hostname and the location of the ssl certificate has been 
manually edited for this message in the following output)

 From dmesg.boot:

Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-STABLE #0: Sat Apr 21 17:13:07 PDT 2012
     root at my.host.name:/usr/obj/usr/src/sys/GENERIC i386
CPU: Intel(R) Atom(TM) CPU  330   @ 1.60GHz (1600.03-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x106c2  Family = 6  Model = 1c  
Stepping = 2
   
Features=0xbfe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
   Features2=0x40e31d<SSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE>
   AMD Features=0x20100000<NX,LM>
   AMD Features2=0x1<LAHF>
   TSC: P-state invariant, performance statistics
real memory  = 2147483648 (2048 MB)
avail memory = 2077757440 (1981 MB)




[jeff at mail ~]$ doveconf -n
# 2.1.3: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 9.0-STABLE i386
auth_mechanisms = plain login
disable_plaintext_auth = no
first_valid_gid = 1000
first_valid_uid = 1000
listen = *
mail_location = mbox:~/mail/:INBOX=/var/mail/%u
mail_privileged_group = mail
namespace {
   inbox = yes
   location =
   prefix =
   separator = /
}
passdb {
   args = session=yes dovecot
   driver = pam
}
protocols = imap
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-master {
     mode = 0600
   }
   user = root
}
service imap-login {
   inet_listener imap {
     port = 0
   }
   process_limit = 200
}
ssl = required
ssl_cert = </path/to/certificate.pem
ssl_key = </path/to/certificate.pem
userdb {
   args = blocking=yes
   driver = passwd
}
verbose_proctitle = yes
protocol imap {
   imap_client_workarounds = tb-extra-mailbox-sep
}



More information about the dovecot mailing list