SQL Server 2005全文检索技术

本文针对企业级全文检索系统,特别是多数据中心、异构数据源环境下的SQLServer2005全文检索,提供了优化执行效率的方法。包括减少并发、优化检索语句、增加内存等措施。
    5. 优化SQL Server 2005的全文检索 

    对于一个企业级的全文检索系统,尤其是笔者上文所设计的多数据中心、异构数据源的全文检索系统,如何在运维过程不断优化系统的执行效率也是很有挑战的工作。由于全文检索过程中不仅涉及大量的IO操作,也存在执行过程中频繁的CPU计算工作,因此这里笔者提供几个关键指标,用于粗略判断系统的关键性能瓶颈。 

    5.1 CPU 

    如果由 MSFTESQL 服务和 SQL Server 所占用的 CPU 使用率接近百分之百,则 CPU 成为瓶颈。
 

CatalogCounter
Processor% Processor Time
% Privileged Time
SystemProcessor Queue Length
Context Switches/sec

表5:判断CPU瓶颈的主要指标


    下面对于一台单纯进行全文检索的服务器而言,是一个典型的内存瓶颈结果。

图10:CPU成为系统瓶颈

    根据全文检索的应用经验,处理上主要可以采取如下办法:

    (1)减少应用的并发。

    (2)对于大量用户频繁访问的固定内容的全文检索,可以通过Reporting Service把结果内容固定下来,减少用户普遍关心但是结果固定的全文检索查询。

    (3)通过SQL Server Cluster,借助Scale out或者Scale up分担负载。

    5.2 内存

    由于全文检索的过程需要在内容临时存放大量的中间结果,因此内存也很容易成为应用的瓶颈。
 

CatalogCounter
MemoryAvailable MBytes
Page Reads/sec
Pages/sec
Cache Bytes
Cache Faults/sec
ServerPool Nonpaged Failures
Pool Nonpaged Peak
CacheMDL Read Hits %

表6:判断内存瓶颈的主要指标

    下面对于一台单纯进行全文检索的服务器而言,是一个典型的内存瓶颈结果。

图11:内存成为系统瓶颈

    根据全文检索的应用经验,处理上主要可以采取如下办法: 

    (1)减少应用的并发。 

    (2)配置SQL Job,把长时间挂起或者工作时间没有必要的过大查询的session清理。 

    (3)优化检索语句。 

    (4)尽量精确限制条件,可能的话尽量在尺寸较小的列上定义全文检索索引。 

    (5)适当增加内存。 

    (6)根据用户需要,使用TOP_<N>_BY_RANK,而不是把所有符合条件的内容全部提取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值