Exchange 2010 拥有多个角色,主要适用的角色有CAS\HUB\Mailbox 角色。
其中HUB角色的比较大的优化在于它的队列数据库所在的磁盘必须足够的快速,他对于磁盘容量的要求则没有很大的要求,因为他的数据库方式和邮箱数据库一样,但是他的数据库在容量上会比MAILBOX小太多。
而在CAS这个角色上,一般所有的用户连接都是连接CAS ,这对于CAS服务器来说,连接数的压力将很大程度上会影响到我们客户端的可用性连接,我们建议CAS的服务器与Mailbox服务器比例是 4:3的比例。
接下来就是调优的重中之重,就是Mailbox 角色,就我们目前观察的状况来说,多数Exchange 出现的性能问题都是处在Mailbox服务器。
看性能我们不能看表面现象,我们要实际的看数值,这个数值在哪里体现呢?首先第一个我们要看的磁盘IO压力,这个我们必须先开启性能计数器,这个我们在管理工具先打开相应的窗口:
我们需要监控磁盘的IO,主要监控的是读的队列和写的队列,主要是以下两个指标Phisical disk /read queue lenght:
如果队列值超过你的(磁盘盘-1)的IO值,这说明了你目前磁盘出现了非常严重的瓶颈,那作为优化的方式有哪几种呢?
优化第一步骤:将数据库和日志分离,因为数据库采用的是散列存储,而日志采用的持续性存储。而且数据库总体来说对于邮件的读超过了数据库的写,但是日志基本上写的速度会很严重的影响磁盘的IO。因此我们最好把数据库置于一个LUN,而把日志置于另外一个LUN。针对日志的LUN 需要快速的存储,因此他的写性能要求比较好我们建议采用RAID1的阵列,但是对于数据盘来说,对于读的要求很高。我们需要把数据库置于RAID 5阵列。
优化第二步骤:如果用的是本地磁盘,请使用告诉的阵列卡,一般来说,Exchange 对于磁盘要求还比较高,我们需要动态监控下磁盘的读IO和写IO是否需要动态的进行优化。一般来说我们建议用户的读写比例采用25% 75%来进行配置,如果您的阵列卡不能开启类似的配置,需要咨询您的硬件厂商是否有这个功能抑或是阵列卡不带有电池。阵列卡缓存配置越大,咋对于Exchange 服务性能就越好,这对于数据库其实也是一样,这个是我们特别需要关注的一个点,曾经我们在帮客户监控IO的时候,开启了阵列卡缓存优化后的IO 竟然比没有开启前要好100倍。
优化第三步骤:磁盘簇的大小,我们知道Exchange 2010 数据库页面空间大小其实是32K,对于磁盘簇来说,如果能够与页面空间对应的话,我们对于磁盘读写的依赖度将会降低,所以呢,我们针对数据库的格式化的磁盘簇大小请格式化为32K,对比下你以系统默认的4K,你会发现你的磁盘会好很多。而对于日志来说,因为他占用的空间本身不是很大,我们需要快速连续的空间,因此我们格式化为4K的簇即可。
另外一个问题是。。我们最好禁用掉阵列卡后台的校验功能,这个功能对于机器性能会带来很严重的影响,因为在做校验\迁移的过程中,他会禁用掉阵列卡的缓存,结果你就会发现,很多的数据库都会处于离线,你的磁盘的队列就会剧增。前几天我们就发现客户的这么一个问题,在进行校验的时候数据库会出现IO忙而无法挂载的情况,原因就是阵列卡的缓存被禁用,如果您的机器是HP的机器,请参考以下图咨询下HP 如何禁用掉这个功能: