Exchange 磁盘 I/O 的原因
每次从 Exchange 读取数据或将数据写入 Exchange 时,都将生成磁盘 I/O。了解 Exchange 磁盘 I/O 的来源,可以帮助您在规划和配置磁盘子系统时采用性能非常好的的方式。考虑 Exchange 磁盘 I/O 来源时,请主要集中于访问日志文件和数据库文件期间所生成的 I/O 行为。
数据组件
所有 Exchange 数据都存储在 Exchange 存储中,Exchange 存储由三个主要组件构成。表 2 列出了 Exchange 存储的三个主要组件以及它们对磁盘 I/O 的影响。
表 2 Exchange 存储组件及其对磁盘 I/O 的相应影响
|
组件
|
为什么它会影响磁盘 I/O
|
|
Jet 数据库(.edb 文件)
|
Jet 数据库用来存储从 MAPI 客户端提交的所有数据。由 MAPI 客户端生成的所有客户端活动都会导致 Jet 数据库的更新。
|
|
流式数据库(.stm 文件)
|
存储从 IMAP4、NNTP、Microsoft Outlook® Web Access 或 SMTP 提交的附件和数据。指针将保存在 Jet 数据库中,以便可以将数据根据请求传递到 MAPI 客户端。
存储传入的 SMTP 邮件。如果数据包含 MAPI 信息,那么 SMTP 邮件然后会传输到 Jet 数据库。
所有 Internet 协议客户端活动都会导致流式数据库的更新。
|
|
事务日志文件(.log 文件)
|
对数据库进行的所有更改都将首先提交到事务日志文件。这意味着,任何时候只要用户发送或读取邮件,以及修改其邮箱中存储的数据,该更改就将写入事务日志文件。更改将立即提交到位于 RAM 中的数据库缓存,然后在系统负载允许的时候复制回磁盘。装入数据库时也会读取事务。
|
因为写入每个 Exchange 存储组件的方式不同,所以,如果将一个存储组的 .edb 文件和相应的 .stm 文件放在一个卷上,并将事务日志文件放在独立的卷上,您将体验到更好的性能。表 3 列出了每个 Exchange 存储组件的磁盘读/写是如何执行的。
表 3 每个 Exchange 存储组件的磁盘读/写
|
组件
|
I/O 模式
|
|
Jet 数据库(.edb 文件)
|
· 随机读取和写入
· 4 KB 页大小
|
|
流式数据库(.stm 文件)
|
· 按顺序正常读取和写入
· 可变页大小
注意 由于有大量的寻道操作,所以,该 I/O 模式既不是完全随机的,也不是完全有序的。
|
|
事务日志文件(.log 文件)
|
· 正常操作期间,100% 按顺序写入
· 恢复操作期间,100% 按顺序读取
· 写入的大小各不相同 - 从 512 字节到日志缓冲区大小
|