首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dovecot MySQL认证SlowDown

Dovecot MySQL认证SlowDown
EN

Server Fault用户
提问于 2014-07-04 09:53:37
回答 1查看 143关注 0票数 0

我有一个带有Dovecot1 2.2.10的IMAP/POP3 3/Webmail服务器,它的后端位于另一台服务器上。服务器以默认配置运行。

代码语言:javascript
复制
...
driver = mysql
default_pass_scheme = plain
...

我的问题是,有时当它超载时,它就开始拒绝客户端的身份验证(也就是错误的密码)。它用于所有不同类型的客户端(pop3、imap、webmail),因此这必须是与身份验证后端相关的问题。

我的第一个想法是,没有足够的dovecot身份验证进程运行。

我可以对什么进行调优,这个系统按照什么顺序能够处理更多的客户端身份验证请求?

我的MySQL服务器没有超载,它是一台四核计算机,白天平均使用25%的CPU。

在此期间,邮件服务器本身的CPU使用量急剧上升。内存使用保持正常。

http://i58.tinypic.com/2q9gfpf.jpg

这是一个生产系统,所以我所能做的就是调整一些变量,这肯定不会破坏它。

谢谢!

EN

回答 1

Server Fault用户

发布于 2014-07-04 10:08:23

我不知道赛勒斯IMAPd和德维科是否会发生同样的情况。让我们试一试。

Linux内核从多个来源和事件收集真实的随机性、熵。任何程序都可以从/dev/random读取这些数据。嗯,有时候如果没有足够的“真正的”随机性生成(例如,服务器不包含硬件加速随机数生成器),这个熵池可以是空的。当它是空的时候,任何等待/dev/随机数据的进程都会在熵池饥饿的时候停止。

无论何时在Dovecot服务器上发生这种情况,您都可以检查watch -n1 'cat /proc/sys/kernel/random/entropy_avail'并查看值是否保持在零或接近于零。如果是这样,您的Dovecot需要更快地生成随机性。

一种解决方案是安装rngd (例如,在Ubuntu/Debian中,它在rng-tools包中)并将其配置为使用/dev/urandomrngd从配置它使用的源中向/dev/random显示随机数据。是的,在/dev/urandom的情况下使用半随机性,但至少它有效。

在Cyrus IMAPd中,它是带有随机生成的字符串的POP3问候行,它消耗/dev/随机的速度非常快,并且有大量的连接,导致长达几分钟的完全失速。

完全另一种选择是,您的webmail应用程序不能很好地处理MySQL连接,因此MySQL中的max_connect_errors被超越,MySQL开始拒绝您的Dovecot服务器。在这种情况下,FLUSH HOSTS; at MySQL server MySQL命令行应该会有所帮助。

如果这是Dovecot问题的根本原因,那么您应该提高MySQL max_connect_errors限制。

我知道我的回答很牵强,在黑暗中是一个完整的镜头,但你永远不会知道!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/610139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档