{"id":142,"date":"2010-11-25T14:23:49","date_gmt":"2010-11-25T13:23:49","guid":{"rendered":"http:\/\/www.hoekstra.nu\/wordpress\/?p=142"},"modified":"2020-04-12T06:44:11","modified_gmt":"2020-04-12T04:44:11","slug":"cyrus-imapd-io-performance-100x-speedup","status":"publish","type":"post","link":"http:\/\/www.hoekstra.nu\/wordpress\/blog\/2010\/11\/25\/cyrus-imapd-io-performance-100x-speedup\/","title":{"rendered":"Cyrus-imapd i\/o performance (100x speedup)"},"content":{"rendered":"<p>Yesterday I experienced some serious performance problems with Cyrus-imapd.<\/p>\n<p>My INBOX contains about 2500 messages, and accessing it through Squirrelmail took my browser about ~120 seconds to display the overview page.<\/p>\n<p>I found out that performance problem was caused by the imapd process which was causing a lot of iowait. The iowait was caused by a lot of small write actions.<\/p>\n<p>Half a year earlier I also experienced this problem. I found out that imapd accesses al the emails (files) in my inbox, causing Ext3 to update the atime of each file and directory. This causes the filesystem to do a write action for every read action on the filesystem.<br \/>\nAs a solution I created a separate logical volume for my \/var\/spool\/imap, formatted it, rsynced the content to the new filesystem and changed the mount options to &#8220;rw, noatime, nodiratime&#8221; in \/etc\/fstab.<\/p>\n<p>This made imapd significantly faster. The loading of my INBOX changed from ~120 seconds to ~1.2 seconds. That&#8217;s about 100x faster!<\/p>\n<p>Yesterday I found out that the performance problem was back.<br \/>\nI found out that (for some unknown reason) the Ext4 filesystem was not using the noatime and nodiratime mount options in \/etc\/fstab.<\/p>\n<p>I migrated the \/var\/spool\/imap volume from Ext4 to Ext3, and updated the line in\u00a0 \/etc\/fstab to Ext3.<\/p>\n<p>This made my performance problem go away, and my INBOX is now loaded in ~1.2 seconds again!<\/p>\n<p>Technical info:<br \/>\nkernel: 2.6.34.7-61.fc13.x86_64<br \/>\ncyrus-imapd: 2.3.16-6.fc14.x86_64<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday I experienced some serious performance problems with Cyrus-imapd.<\/p>\n<p>My INBOX contains about 2500 messages, and accessing it through Squirrelmail took my browser about ~120 seconds to display the overview page.<\/p>\n<p>I found out that performance problem was caused by the imapd process which was causing a lot of iowait. The iowait was caused <span style=\"color:#777\"> . . . &rarr; Read More: <a href=\"http:\/\/www.hoekstra.nu\/wordpress\/blog\/2010\/11\/25\/cyrus-imapd-io-performance-100x-speedup\/\">Cyrus-imapd i\/o performance (100x speedup)<\/a><\/span><\/p>\n","protected":false},"author":96,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/posts\/142"}],"collection":[{"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/comments?post=142"}],"version-history":[{"count":3,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/posts\/142\/revisions"}],"predecessor-version":[{"id":145,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/posts\/142\/revisions\/145"}],"wp:attachment":[{"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/categories?post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.hoekstra.nu\/wordpress\/wp-json\/wp\/v2\/tags?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}