指定生成器设置

每个应用程序都有一个生成器,生成器通常由 NS$InstanceName Windows 服务承载。定义应用程序时,请指定运行应用程序的生成器的计算机及可用于应用程序的线程数。

生成器设置

生成器函数控制通知应用程序的规则处理。生成器的设置将确定运行生成器的计算机,以及处理应用程序规则时生成器可使用的线程数。为生成器设置指定值时应权衡应用程序性能改善与系统资源占用之间的关系。

指定生成器设置

如果通过 XML 定义应用程序,请在应用程序定义文件 (ADF) 中指定生成器设置。如果以编程方式定义应用程序,请使用 Notification Services 管理对象 (NMO) 指定生成器设置。

系统名称

系统名称属性指定运行生成器的系统的名称。此值通常是计算机名称。但是,如果生成器运行在故障转移群集上,则此值为虚拟服务器名称。

Notification Services 客户端组件必须安装在此计算机上,并且实例必须在此计算机上注册。

有关扩展应用程序的详细信息,请参阅扩展配置

指定生成器系统名称

线程池大小

使用线程池大小属性来平衡应用程序速度改善与系统资源占用。设置线程池大小是可选的。

线程池大小指定生成器执行处理时可使用的最大线程数。该值确定生成器可并行执行的工作项数,并且会影响 Notification Services 应用程序的整体性能。

对于 SQL Server 2005 Enterprise Edition、Developer Edition 和 Evaluation Edition,最大线程池大小为 25。如果未定义线程池大小,则 Notification Services 最多可分配 25 个线程进行并行规则执行。实际分配的线程数由某种优化算法确定。

ms172466.note(zh-cn,SQL.90).gif重要提示:
在 SQL Server 2005 Standard Edition 中,从不对规则进行并行处理;唯一有效的线程池大小是 1。

确定最佳线程池大小

生成器首先触发事件历史记录规则,然后是订阅事件规则,最后触发订阅预定规则。根据线程池的大小,Notification Services 将尝试并行触发所有事件历史记录规则,然后并行触发所有事件规则,最后并行触发所有预定规则。

默认生成器线程池大小为 1,表示一次只能触发一个规则。可增加线程池大小,以便并行处理可同时触发的所有规则。例如,如果应用程序有一个事件历史记录规则、三个事件规则和两个预定规则,则可将线程池大小定义为 3,以便所有事件规则并行触发。

定义过大的线程池大小不会改善性能,反而可能会因线程切换而占用额外的系统资源。

可指定较少的线程数以限制服务器上的处理器时间占用。如果减小了线程池大小,则生成器处理的并行度将降低,从而降低了生成器对资源的需求。

如果指定线程池大小为 0,Notification Services 将使用可从系统获取的最多线程(最多为 25 个)。

指定生成器线程池大小

请参阅

概念

Notification Services 版本
部署 Notification Services 实例
订阅处理体系结构

其他资源

定义 Notification Services 应用程序
安装 SQL Server Notification Services

帮助和信息

获取 SQL Server 2005 帮助