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.cfmaster.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)