指定通知批次大小

当您定义通知类时,可以指定通知批次大小的值。指定通知批次大小可以为每个规则触发生成更多的通知批次。通过创建更多的通知批次从而生成更多工作项,分发服务器线程可以并行处理工作项。

指定通知批次大小是可选操作,可以产生不同的效果,具体取决于您是否使用摘要传递。

未使用摘要传递的批次大小

如果通知类未使用摘要传递,则通知批次大小将配置每个通知批次中的最大通知数。如果规则触发生成的通知数多于指定的最大批次大小,则 Notification Services 会创建多个通知批次。

在格式化和传递之前,Notification Services 会将每个通知批次分为多个工作项,为每个传递通道创建一个工作项。任何具有可用资源的分发服务器都可以处理一个工作项,而且可以并行处理不同的工作项。

如果应用程序具有多个分发服务器,或者分发服务器使用多个线程,则具有更多的工作项可使得更好地使用分发资源。通过创建更多的工作项,分发服务器线程可以并行处理工作项。

例如,如果订阅规则通常针对两个传递通道创建大约 5000 个通知,则 Notification Services 在默认情况下为每个规则触发创建两个工作项。这样将只提供两个工作单元,分发服务器线程将连续处理每个工作项中的所有通知。但是,如果将通知批次大小限制为 1000 个通知,则 Notification Services 会针对同样 5000 个通知创建五个批次。对于两个传递通道而言,这将为每个规则触发生成 10 个工作项。其他工作项允许应用程序利用多个分发服务器以及多线程分发服务器。

如果未指定通知批次大小,或者指定通知批次大小的值为 0,则 Notification Services 将通过每个生成通知的规则触发生成一个通知批次。

如果使用的是多播传递,则只考虑多播传递单个批次内的通知。较小的批次大小可能意味着通过多播传递进行的优化较少。

使用摘要传递的批次大小

如果要定义的通知类使用摘要传递,则通知批次大小设置将配置为每个规则触发生成的通知批次数,而不是配置每个批次内的通知数。

对于每个规则触发,生成器都会创建指定的通知批次数。然后,生成器采用循环的方式将通知添加到各批次中。去往同一个订阅方的通知会聚集在同一个批次中,这样,摘要传递便可将这些通知组合为一个摘要消息。

ms171072.note(zh-cn,SQL.90).gif注意:
这个用于摘要传递的批次大小是近似值。如果生成的通知数很小,则 Notification Services 将创建较少的批次。

默认通知批次大小的值为 0,该值对于摘要传递则意味着每个规则触发具有 1 个通知批次。

指定通知批次大小

如果您使用 XML 定义应用程序,则请在该应用程序定义文件 (ADF) 中定义通知批次大小。如果您通过编程方式定义应用程序,则请使用 Notification Services 管理对象 (NMO) 定义通知批次大小。

指定通知批次大小

请参阅

概念

定义通知架构
配置内容格式化程序
指定摘要或多播传递
指定通知到期时间
订阅处理体系结构
通知的格式化和传递体系结构

其他资源

定义通知类
定义 Notification Services 应用程序
定义通知类
配置传递协议

帮助和信息

获取 SQL Server 2005 帮助