Problèmes de connexion IMAP
Depuis hier, nous rencontrons des problèmes avec notre serveur de messagerie, le service Cyrus en Imap nous boude. En effet, de temps en temps, nos clients de messagerie n'arrivent pas à se connecter au serveur en imap. On attend un peu, on retente et au bout d'un moment, on arrive à se connecter. C'est aléatoire.
Dans les logs je n'ai pas trouvé grand-chose sinon cette ligne :
Oct 12 09:15:48 serveur cyrus/imap[8701]: idle for too long, closing connection
Version :
postconf -d | grep mail_version
mail_version = 2.5.5
Pas de logs, pas de modification sur le serveur de messagerie, le processeur tourne rond, la mémoire ne turbine pas non plus. Quoi donc qu'il se passe pour que Cyrus fasse la tête ?
Eh bien, il se passe qu'il n'y a jamais eu autant de monde dans les bureaux que depuis hier. Parfois, pour comprendre Cyrus, il faut être attentif à son environnement également ! En faisant un :
ps aux | grep imap
On se rend compte qu'il y a beaucoup de process qui tournent. Beaucoup plus que d'habitude. Dans ce genre de cas, on ouvre le fichier /etc/cyrus.conf et on modifie la ligne suivante :
imap cmd="imapd -U 30" listen="imap" prefork=30 maxchild=170
ou, si l'on sécurise les flux :
imaps cmd="imapd -s -U 30" listen="imaps" prefork=20 maxchild=90
Il faut augmenter un peu le maxchild de ces entrées. Augmenter d'abord de 20 par rapport au nombre qui est indiqué. Ce n'est pas la peine d'indiquer un nombre improbable.
N'oubliez pas de redémarrer cyrus :
/etc/init.d/cyrus2.2 restart
Attendez quelques instants, le temps que tout ça monte bien en charge, pour voir si c'est suffisant ou s'il faut ajouter encore un peu de mou au maxchild !