首页 运维 正文
为Postfix 设计LDAP ldif结构

 2022-10-23    391  

  在如何构筑Postfix(MTA)+Maildrop(MDA)+SqWebMail(web-MUA)+IMAP/POP3(MUA)+OpenLDAP

  组成的邮件系统时,想了不少东西。现在并没完成。

为Postfix 设计LDAP ldif结构

  良好的postfix 配置及优化+好的ldap结构设计能大幅提高性能。例如:

  (1)适当的进行压力测试(例如postal)可以估算出系统能承受的负载量,通过结果来适当

  调整smtp(output)/smtpd(input)的最大进程数来达到一个综合的最优化结果。同时注意系统的调节,Linux的注意打开文件数/用户进程上限及内存、资源分配,FreeBSD则注意对内核进行微调,如kern.maxprocperfiles等(详细看freebsd的tunning)

  (2)注意对Postfix里的一些小参数仔细设置,如一些timeout值,进程上限,lock_delay,

  queue的lifetime,refresh time,ipc等的timeout 和idle timeout值,这些可仔细看man

  (3)如果virtual_domains不多或者更新较少的话,强烈建议使用hash来保存,而不是ldap。

  因为至少每一封信,postfix都至少要查询3-5次ldap,如果对virtual_maps的查询改成

  了hash后,就减少了20%-25%的查询量,意义重大!!

  (4)尽量在SMTP会话过程中就reject掉垃圾信,可以减少很多无用工作。因此各种check及

  限制的手段就显必不可少了。

  (5)尽量向本地的ldap查询,并且严格注意查询的timeout设置,并安排多个ldap的server做

  冗余(提高可靠性)并使用快速的网络连接。最好能设计成并发的query就爽了!

  (6)注意使用高速的DB(例如最新的berkely db)而不是用老的缓慢的,不可增量插入记录的

  db。并且配置适当的slave ldap服务器提高分布能力。

  (7)对virtual_mailbox_maps及access_maps等分别指定不同的ldap服务器,可人为的进行分布

  查询,将负载分担。由于基本上每个mail都要同时查询这些maps,所以负载是相当均衡的。

  (8)对pipe改造。利用ldap查询时得到的用户目录(前提是本地的虚拟用户)直接传递给MDA

  (maildrop)进行直接投递,免除了maildrop再次查询ldap所带来的重复问题。

原文链接:https://77isp.com/post/8827.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。