SCACHE(8) SCACHE(8)
名称
scache - Postfix 共享连接缓存服务器
概述
scache [通用 Postfix 守护进程选项]
描述
scache(8) 服务器用于维护共享的多连接缓存。这些信息可被
Postfix SMTP 客户端或其他 Postfix 投递代理使用。
连接缓存按以下结构组织:
- 逻辑目标名称
- 物理端点名称
- 实际连接
以 SMTP 为例:
- 逻辑 SMTP 目标由(传输协议、域名、端口)定义
- 物理 SMTP 端点由(传输协议、IP 地址、端口)定义
邮件事务成功后,可保存 SMTP 连接。
通用情况下:
- 一个逻辑目标可关联零个或多个物理端点
- 一个物理端点可被零个或多个逻辑目标引用
- 一个端点可包含零个或多个连接
逻辑目标或端点名称的具体语法由应用程序决定;
scache(8) 服务器并不关心其格式。连接会以文件描述符形式存储,
同时保存应用程序所需的连接属性信息,这些信息用于重新激活连接。
服务器完全不关心这些信息的具体内容。
所有信息都设有生存时间(TTL)。当超过 max_idle
设定的时间且无客户端连接时,连接缓存守护进程会自动终止。
本服务器支持以下请求:
save_endp ttl 端点 端点_属性 文件_描述符
保存指定文件描述符及其连接属性到指定端点名下。
端点属性用于客户端重新激活休眠的连接对象。
find_endp 端点
查询指定端点的缓存属性和文件描述符。
save_dest ttl 目标 目标_属性 端点
保存逻辑目标与端点之间的绑定关系,
以及目标特定的连接属性。目标属性用于
客户端重新激活休眠的连接对象。
find_dest 目标
查询指定逻辑目标的缓存属性、端点属性
和文件描述符。
安全性
scache(8) 服务器不涉及敏感安全操作。它既不与网络通信,
也不与本地用户交互。可以以低权限在 chroot 环境下运行。
注意:这不是可信进程,不得用于存储任何敏感安全信息。
诊断
问题与事务会记录到 syslogd(8) 或 postlogd(8)。
已知问题
1. 会话缓存无法在多个主机间共享
2. 当连接从缓存过期时,会直接关闭而不会执行
协议规定的握手流程
配置参数
修改 main.cf 会自动生效,因为 scache(8)
进程的生命周期有限。执行"postfix reload"命令可加速变更生效。
下文为参数摘要,详见 postconf(5) 获取完整说明及示例。
资源控制
connection_cache_ttl_limit (默认 2 秒)
scache(8) 服务器允许的最大连接生存时间
connection_cache_status_update_time (默认 600 秒)
服务器记录连接缓存统计信息的频率,
包括逻辑目标和物理端点的命中/未命中率
其他控制
config_directory (参见 postconf -d 输出)
Postfix main.cf 和 master.cf 的默认配置目录
daemon_timeout (默认 18000 秒)
Postfix 守护进程处理单个请求的最长时间
ipc_timeout (默认 3600 秒)
进程间通信通道的超时时间
max_idle (默认 100 秒)
空闲守护进程自动终止前的等待时间
process_id (只读)
进程 ID
process_name (只读)
进程名称
syslog_facility (默认 mail)
系统日志设施
syslog_name (参见 postconf -d 输出)
系统日志中进程名前缀,如将"smtpd"显示为"prefix/smtpd"
Postfix 3.3 及以上版本新增:
service_name (只读)
守护进程在 master.cf 中定义的服务名称
参见
smtp(8) SMTP 客户端
postconf(5) 配置参数
master(8) 进程管理器
postlogd(8) Postfix 日志系统
syslogd(8) 系统日志服务
自述文件
CONNECTION_CACHE_README Postfix 连接缓存说明
许可
必须随本软件分发 Secure Mailer 许可证。
历史
本服务随 Postfix 2.2 版本引入
作者
Wietse Venema
IBM T.J. Watson 研究院
邮政信箱 704 号
美国纽约州约克镇高地 10598
Wietse Venema
Google 公司
纽约第八大道 111 号
美国纽约 10011
SCACHE(8)