搜索优化准则

 

上一次修改主题: 2005-05-06

使用本主题中的信息可以提高搜索的效率,同时尽可能减少搜索的性能开销。本部分说明了搜索文件夹如何影响其所在的 Exchange Server 2003 服务器的运行,并说明了怎样可以减少所创建的搜索文件夹数,以及您在什么情况下可能希望更改控制搜索文件夹的默认限制。

搜索文件夹对性能的影响

搜索文件夹主要在以下两个方面影响 Exchange Server 2003 邮箱服务器或公用文件夹服务器的性能:可能增加服务器上的处理负载,以及可能增加服务器上的事务日志的大小(有时可能达到很大的增长幅度)。

创建搜索文件夹会在 Exchange 服务器上产生一定的处理开销。此外,Exchange Server 2003 将此操作作为一个必须记录的事务来处理。每次 Exchange Server 2003 处理新的搜索请求时,事务日志文件的大小就会增加。控制这种增长的一种最简单的途径是尽可能重新使用现有的搜索请求。

搜索文件夹创建后,Exchange Server 2003 对它进行维护,并在目标文件夹(搜索的文件夹)发生变化时对它进行更新。如果目标文件夹中添加或删除了邮件,或者有邮件被修改,Exchange Server 2003 将相应地更新搜索文件夹。此类更新增加了与每个受影响的搜索文件夹关联的处理负载,并且每个此类更新都记录在事务日志中。因此,修改频繁的搜索文件夹对服务器性能的影响比大部分情况下保持静态和不变的搜索文件夹对服务器性能的影响要大得多。

note注意:
如果用户将具有大型附件的邮件投递到目标文件夹中,则添加到事务日志文件中的数据量因附件大小而异。

将邮件的已读或未读状态用作搜索条件的搜索也会对服务器的性能产生特殊的影响。如果搜索跟踪每个用户的已读和未读信息的公用文件夹,则搜索不是产生一个搜索文件夹,而是为与目标文件夹中的邮件关联的每个用户都产生一个搜索文件夹。其中的每个搜索文件夹都会对性能和事务日志产生相应的影响。此外,引用此类文件夹中的未读邮件会将该邮件的状态更改为已读。Exchange Server 2003 将这视为文件夹更新,而相应地更新相关的搜索文件夹。

同时连接到搜索文件夹的多个用户也会增加 Exchange 服务器上的负载,从而导致响应时间显著增加。

完全相同的查询表达式

每个唯一的搜索请求都创建它自己的搜索文件夹。查询处理器将结果集和搜索表达式完全相同的两个搜索视为同一个搜索。如果新搜索与前一个搜索完全相同,并且该搜索存在搜索文件夹,则查询处理器可以重新使用现有的搜索文件夹,而不必新建一个文件夹。

如果许多用户反复运行同一个搜索,或者您运行许多类似的搜索,应尽可能使用完全相同的搜索表达式。减少搜索表达式的数量会减少服务器上的负载,并减少创建的搜索文件夹数。

搜索文件夹的数目

Exchange Server 2003 限制可以为一个目标文件夹维护的搜索文件夹数,并限制这些搜索文件夹在上一次使用后保留的时间。默认情况下,搜索文件夹的最大数目为 11,最长保留时间为 8 天。可以使用 msExchMaxCachedViewsmsExchAgingKeepTime 属性在存储级别更改这些默认值。还可以使用文件夹的 https://schemas.microsoft.com/mapi/proptag/0x680003 属性来限制特定目标文件夹的搜索文件夹数。

每个不同的搜索请求都创建一个不同的搜索文件夹,并且同时用于一个特定目标文件夹的搜索文件夹的数目受到限制。如果用户或自定义应用程序使用许多不同类型的搜索请求(而不是使用同一个搜索请求),则增大搜索文件夹的最大数目有助于提高搜索效率。但是,此方法存在一个重大的缺点。增加搜索文件夹数的同时也增加了更新这些文件夹所需的时间,并增加了当 Exchange Server 2003 查看搜索是否可以重新使用现有的文件夹时,每个搜索的处理开销。因此,通常,只有当在大部分情况下保持静态(很少更新)的文件夹上使用限定的搜索请求时,才适合增加搜索文件夹的数目。

通常,应尽可能减少不同类型的搜索请求的数目,并尽可能减少搜索文件夹的数目。

important重要提示:
尽管可以更改默认值,但除非对更改进行全面测试,否则不应更改默认值。应使用测试拓扑来模拟预计的负载,并确保更改不会对系统产生副面影响。

有关如何更改存储的每个目标文件夹的最大搜索文件夹数的详细步骤,请参阅如何更改存储的每个目标文件夹的最大搜索文件夹数

有关如何更改 Exchange Server 2003 为存储保留搜索文件夹的时间长度的详细步骤,请参阅如何更改 Exchange Server 2003 为存储保持搜索文件夹的时间