小弟对数据库不是很熟悉,请各位大侠帮忙~服务器信息
Windows server 2003 enterprise edition sp2  X86
内存 4G  虚拟内存4G
SQL server 2000 设置为动态分配内存,最小1024M,最大4094M数据库约3g大小
现在数据库查询和写入速度都超级慢,用事件探查器查看的话,很多操作时间都要超过10秒,性能监视器监视情况如下
1、Memory:Available MBytes    2G
           Pages/Sec   52左右  Pages Input/Sec大致和Pages/sec相同
           
2、SQLServer缓冲管理器:缓存命中率 平均99.7%
3、SQLServer高速缓冲管理器:高速缓存命中率 平均98.6% 
4、process:process  平均5.7左右
5、PysicalDisk:DiskTime 平均800左右
                Ave. Disk Queue Length 也比较大,具体数值忘记了sqlserver.exe占内存1.4G左右,最高到过1.7G
w3wp.exe占用内存 300-500M,一直比较稳定没有超过500M。 iis未设置限制内存使用我理解是:
1、CPU性能足够,内存大小也够用
2、sqlserver进程没有到达32位的上限1.7G左右,且缓存命中率正常,鉴于系统会自动调节sqlserver的内存,却并没有调到最大,说明sqlserver内存足够用
3、Pages/sec 较大说明内存和硬盘页交换较多
4、貌似I/O性能不佳疑问:1、内存足够用的,为什么还会出现内存和硬盘之间的页交换
2、我的应用读取和写入数据库数据量比较大,在这种情况下会有什么其他情况影响到sqlserver的速度。另外,刚发现数据库是sql server 个人版。这个会对上边的情况有多大影响呢?请高手帮忙。还需要提供什么参数,也请帮忙提示一下~

解决方案 »

  1.   

    元芳,CSDN新论坛上线!你怎么看?
      

  2.   

    你有没有看过那些执行语句的执行计划具体是哪里慢?BLCOKING?missing index or something else?
      

  3.   

    个人版在资源利用上会有限制,具体不记得了。你的内存其实有点紧了,不能说充足。特别是内存大量存有执行计划等东西,所以内存不够也算正常。不够的话切换硬盘内存的话是可能的。如果你的磁盘本身I/O不够好,然后mdf、ldf存放又不好、且代码也不行的话,会造成I/O负载大。然后进一步造成阻塞,甚至死锁。对性能也不好。
      

  4.   

    os的企业版,sql好像没提个人版还是企业版
    sql2000倒是太老了一点