我们有一个基于 Gluster 分布式文件系统构建的邮件服务器。虽然事实证明,这很容易设置,而且非常稳定,但我们的网络邮件性能一直很慢。所以现在我要调整底层文件系统的性能(这几乎肯定是导致速度缓慢的原因 - 当我们将邮件存储在本地文件系统上时,它的速度非常快)。
问题始于这样一个事实:我不知道如何真正衡量 IMAP 检索单个消息的速度。没有这个指标,我无法确定哪些调整变量对我们有帮助。此外,缓存似乎不适用于 IMAP。如果我尝试再次检索同一条消息,它至少需要与第一次一样长的时间。在文件系统本身上使用ls
或du
命令确实会缓存结果,并且后续请求比第一个请求快得多。因此,对这些结果进行计时对我没什么帮助。
任何帮助,将不胜感激。
答案1
如果您想测量 IMAP 服务器的性能,那么最好的办法是找到或构建一个 IMAP 基准测试工具。加载一堆消息,然后针对一个或多个用户帐户运行一套测试。例如:
- 登录 IMAP 服务器
- 选择邮箱
- 获取邮件标题
- 获取一定数量的消息
- 将一些消息附加到邮箱
- 将其中一些标记为删除或已读、已转发、已回答等
- 清除邮箱
- 登出
对每个单独的操作进行计时,以便您可以识别热点。并且,您运行的测试模型越接近用户的操作,效果就越好。例如,如果您的工作负载主要集中在消息获取上,而不是存储新消息,那么您的测试套件应该反映这一点。
您可能能够找到现有的工具,但如果找不到,也有许多不错的 IMAP API。选择您喜欢的语言、挑选 API,然后构建自己的工具。
-里克