我无法限制从同一客户端到 Postfix 服务器的并发连接数。限制来自同一或不同客户端的最大并发进程数很容易做到。
main.cf
以下是我用来执行此操作的两个参数:
default_process_limit = 50
smtpd_client_connection_count_limit = 25
测试时,我从同一个客户端运行 100 个并发连接(线程),但它限制为 50 个 smtpd 进程,而不是 25 个。下面是我smtpd
在服务器上计算进程的方法:
ps -C smtpd | wc -l
有人知道为什么会发生这种情况吗?
答案1
如果您想要更改正在运行的 smtpd 的最大数量,您应该在 中进行更改/etc/postfix/master.cf
。您将第 7 列更改-
为,然后使用(或特定于发行版的替代品) 重新启动 postfix。50
postfix restart
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
将其更改为
smtp inet n - - - 50 smtpd
smtpd_client_连接数限制限制 smtp 客户端可以建立的连接数。
它没有说明默认情况下将运行多少个 smtpd 服务器。(smtpd_client_connection_count_limit 默认是默认进程限制的一半。)