Before Upgrade on old 2.5.x cyrus we have about 250k mailboxes with
about 500k folders.
We made upgrade with imapsync , because of problem with path
compatibility with unixhierarchysep set on yes.
After upgrade to 3.4.2 we have problem that fcntl locks on mailboxes.db
are very long. For tests we have made copy of one production servers,
and run without load, reconstruct for empty mailbox lasts 4-5 seconds,
and strace shows us:
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
stat("/store/usermailboxes//config/mailboxes.db", {st_mode=S_IFREG|0600,
st_size=104625064, ...}) = 0
fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fcntl(3, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0,
l_len=0}) = 0
fstat(3, {st_mode=S_IFREG|0600, st_size=104625064, ...}) = 0
For reconstruct single mailbox there is sometimes 27k operation for RDLCK.
One of our server have database with only 50k folders, and there is
everythink ok.We also made dump, restore mailboxes.db, conversion to
skipstamp and back for twoskip.
Without progress. With zeroskip is much worse.
We also test on XFS,EXT4. Mailboxes.db on ramdisk for removing disk
performance issue..
Any idea ?
Regards
AK
------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T61dd54ebdc77fdc5-Mf02e8d0ad71ef6d7ac900a1f
Delivery options: https://cyrus.topicbox.com/groups/info/subscription