邮件存储在数据库中。用户在磁盘上的分布、用户邮箱大小以及磁盘要求都会影响存储性能。以下几个部分介绍了这些因素:
stored 可执行多种重要的任务,例如邮件数据库的死锁和处理操作、强制执行生存期策略以及擦除和删除磁盘上存储的邮件。如果 stored 停止运行,Messaging Server 终将出现问题。如果 start-msg 运行时 stored 未启动,则其他进程也不会启动。有关 stored 的更多信息,请参见《Sun Java System Messaging Server 6.3 Administration Reference》中的“stored”。
没有外部症状。
检查 stored 进程是否在运行。stored 进程会在 msg-svr-base/data/proc 中创建一个 pid 文件并对其更新,该文件的名称为 store。该 pid 文件在恢复时显示 init 状态,在就绪时显示 ready 状态。例如:
231: cat store 28250 ready |
第一行中的数字是 stored 的进程 ID。
232: ps -eaf | grep stored inetuser 28250 1 0 Jan 05 ? 8:44 /opt/SUNWmsgsr/lib/stored -d |
检查在 msg-svr-base/store/mboxlist 中生成的日志文件。请注意,并非每个生成的日志文件都是直接由 stored 问题造成的。imapd 中断或数据库问题也会生成日志文件。
检查 msg-svr-base/config 中以下文件上的时间戳:
stored.ckp—尝试进行检查点操作时改写该文件。应当每 1 分钟标记一次时间戳。 stored.lcu—每次清除数据库日志时改写该文件。应当每 5 分钟标记一次时间戳。 stored.per—每次按用户写出数据库时改写该文件。应当每 60 分钟标记一次时间戳
检查默认日志文件 msg-svr-base/log/default/default 中的 stored 邮件。
可以使用 watcher 和 msprobe 进行监视。请参见4.5 失败的服务或未响应服务的自动重新启动和27.8.9 使用 msprobe 和 watcher 功能进行监视。
数据库锁定的状态由不同的服务器进程保留。这些数据库锁定可以影响消息存储的性能。在死锁情况下,邮件将无法以正常的速度插入到存储中,最终将导致 ims-ms 通道队列增大。由于一些合理的理由,需要将队列备份;因此,为诊断问题而保留队列长度的历史记录是很有用的。
事务数目不断积累且没有得到解决。