UW-IMAP服务器,一个用户的高负载

我们遇到了一个非常奇怪的exception,有一个特定的用户使用我们的UW-IMAP服务器。 我们有大约75个用户使用服务器,并且一个特定的用户,就在使用的存储中间,一直存在速度缓慢的问题。

我们大多数用户都使用Thunderbird 2或Thunderbird 3.大多数情况下,2,由于性能问题我们有3。这个用户是3,我把他降级到2。性能已经变好,但根据在服务器上的imapd进程,他的用户名是使用最多的CPU%和CPU时间。

我已经完成了所有常见的T / S'ing:从头开始configuration文件,压缩文件夹,重新索引,更快的计算机等等。但是,这个用户的imapd进程总是使用服务器上最多的CPU。 为了排除故障,我们设置了另外一个有更多用法,文件夹等等的用户,但是我们没有看到用户进程占用了imapd进程的大部分CPU。

所以,这几乎听起来像一个特定的电子邮件可能是罪魁祸首,但我们怎么能find它,如果这是问题?

这已经持续了一段时间,他是一个pipe理人员,所以他的耐心即将结束。 有没有人有任何想法?

转换为MIX格式可轻松将负载降低10倍以上。 起初格式将邮件存储在空白的文件夹中(使用以点开头的文件名),这有点令人不安。 有一些文件与元数据和索引信息。 这些都非常小,访问了很多。 其余的是实际的邮件,它被分成一口大小的片断,只有当内容被读取时才被访问。 为了索引目的,系统只查看非常小的文件,并且检索任何特定的电子邮件需要更less的RAM和磁盘访问时间。

10GB的电子邮件存储开始速度与传统的10MB电子邮件存储一样快,邮件大小限制非常大。

UW-IMAP可以同时使用MIX,MBX和传统格式(我会跳过MBX,它具有2GB的限制,并且不像MIX那么快),所以你不需要一次完成所有的转换,你可以保留主如果你喜欢的话,使用MIX在〜/ INBOX中仍然可以获得99%的收益。 mailutil工具可以随意转换邮箱格式。

最好的部分之一是转换任何一个用户的速度显着为他们和一点点为所有人,直到最后每个人都快很多。 当邮件客户端停止添加越来越多的连接以加快速度时,会突然发生。 一个或两个连接变得足够,负载从根本上减less。

对于任何使用imap或pop进行访问的客户端,使用都是透明的(加速除外)。

真的只能直接访问邮件的旧邮件程序不能使用它,但松树用户(例如)可以使用imap或切换到高山,这是一个松树的直接后代。

这是我的理解,至less有一个其他IMAP / POP守护进程有类似的东西,但我是一个UW-IMAP的人。

由于这个开关,我不得不花很多钱在硬件上。

在过去,我发现如果个人邮件文件夹中存在大量的电子邮件,uw-imap可能会对系统性能非常残酷。 用户的邮件数量是多less? 邮箱大小呢? 你尝试过移动一些消息吗? 你有没有尝试过另一个imap客户端,以消除这是一个问题吗? 用户是否具有对邮件服务器的login访问权限? 也就是说,他们可以改变内容在$ HOME使用FTP或SSH? 我发现的另一个问题(至less很久以前)是uw-imap会扫描$ HOME中的所有文件寻找邮件文件夹。

如果您使用不同的客户端(如“mutt”)进行testing,问题可能会更容易被发现; 至less在协议的哪个阶段卡住了(但是我假设Thunderbird也有一个debugging开关)。 我试图find如何在wu-imap上切换debugging输出,但无法find它匆忙。

我对thunderbird不是很了解,但是我发现在UW-IMAP安装中,通过outlook进行的search索引可能是残酷的,thunderbird中是否有类似的东西?

所以,我们最终所做的就是将他降级到Thunderbird 2.性能要好得多,而且情况非常好。 有一件事我们注意到了,现在我必须研究这个问题,有时Thunderbird一旦运行了一段时间,就不会下载最新的消息。 你必须closures它,然后重新开始。 这已经被几个用户确认了,所以我没有把它缩小到服务器问题或Thunderbird问题。

另外还有一个关于Thunderbird 2与Thunderbird 3性能非常好的文章链接。 底线是雷鸟3是猪:

http://perfprotector.blogspot.com/2010/08/thunderbird-3-is-it-really-all-yours.html