Servidor imap rápido para pastas maiores

6

Estou procurando um servidor imap que seja rápido com pastas maiores. Diga 20'000 a 100.000 emails por pasta.

Atualmente estou usando o dovecot, e abrir uma pasta pode levar 10 segundos, e a luz HD no servidor imap está piscando como um louco.

Estou usando o alpine como cliente, e ele lista apenas os e-mails mais novos por padrão, portanto, não é meu cliente que está tentando transferir tudo ao abrir a caixa de correio. Isto pode ser visto em que quando eu rolar, tem que carregar as linhas de assunto para a próxima página (a primeira vez que eu rolar lá).

Estou usando o maildir no XFS.

Edit: Eu pergunto, uma vez que não há muitos dados, no grande esquema das coisas. Se isso estivesse em um banco de dados SQL, obter as linhas de assunto das 40 mensagens mais recentes não levaria 10 segundos para uma pasta de 40'000 e-mails. Os únicos dados necessários são:

SELECT date, from, subject FROM emails ORDER BY date DESC LIMIT 40;

Alguma idéia?

    
por Thomas 24.08.2009 / 10:53

4 respostas

4

O Dovecot é realmente muito bom, em termos de desempenho. A página de wiki Performance Tuning da Dovecot tem algumas dicas e truques para melhorar ainda mais o desempenho. Manter índices e maildirs em discos separados é uma boa coisa para começar, se for possível para você. Você também pode avaliar a mudança para o formato de armazenamento dbox da Dovecot.

    
por 24.08.2009 / 11:01
3

Talvez você possa tentar usar um mecanismo de banco de dados para armazenamento de mensagens, em vez de usar caixas de correio do Maildir / Maildir ++. Isso pode ser feito com o dbmail .

Não sei quão confiável o dbmail é para um ambiente de produção, mas como você já tem a virtualização funcionando, pode configurá-lo em outra VM para fins de teste e ver como ele se comporta em seu ambiente.

Aqui está uma visão geral da arquitetura do dbmail:

texto alternativo http://www.dbmail.org/dokuwiki/lib /exe/fetch.php/dbmail.bigpicture.png

    
por 24.08.2009 / 14:49
2

Você não menciona as especificações do servidor ... quanta memória você está usando, processador, placa de rede / switches são gigabit? E se você olhar para o servidor, você pode dizer o que está sendo maximizado? Se é a taxa de transferência da unidade, você não vai mudar muito o software do servidor

Eu tenho clonado sistemas em uma rede e fiquei intrigado em ter dois sistemas em um switch Gigabit puxando apenas cerca de 15 MB / s quando eu sabia que meu sistema era capaz de rajadas na faixa de 50 MB / s. Acontece que era o gargalo dos discos nos sistemas finais (coloquei uma unidade em um segundo canal IDE e fiz um DD direto, obtive as mesmas velocidades de transferência).

Você pode querer verificar o uso do processador / disco / rede, bem como o switch e ver se algum deles está causando problemas. Se não esses, você pode procurar formas de aumentar a taxa de transferência usando discos separados, separando caixas de correio de diferentes eixos, verifique se consegue obter uma taxa de transferência melhor usando o espelhamento RAID de hardware (não tenho certeza de quanto aumento nos tempos de leitura os discos que você pode obter) ou possivelmente migrar para discos rígidos de alto desempenho com menor latência e caches maiores.

    
por 24.08.2009 / 14:07
1

Como você está usando o dovecot, presumo que já esteja usando os recursos de indexação . Eu não estou ciente de nada (pelo menos, nada livre), que é mais rápido que o dovecot.

    
por 24.08.2009 / 10:56

Tags