none
SQL Server 2005 performance 问题。 RRS feed

  • 问题


  • 我们有一个服务器有4gb RAM,sql server内存是这样配置的: Minimum server memory: 2000MB, Maximum server memory: 3500MB.

    现在很多query都执行的非常慢,一些需要1分钟以上才能完成。在trace里面看到 很多selece的语句的reads非常高,比如 reads: 2098701

    我看了一下counter, 发现
    1)Disk Reads/sec 和Disk Writes/sec 很高
    2)sql server page life expectancy非常低,只有20到50之间。
    3)sql server total server memory(KB) is 1599168

    另外,activity monitor里面还有一些suspended processes, wait type是:“LCK_M_IX” and “PAGEIOLATCH_SH”.

    像这种情况,应该是sql server不能获得足够内存而导致的性能低吗?我想加上/3gb,因为目前server还没有加这个switch, 大家觉得这样能帮助提高一些性能吗? 我是否需要更改现有的sql server内存配置选项?

    非常感谢:-)

     

    2010年2月8日 7:42

答案

  • Can't use awe since your server has only 4gb memory. Several things can do to address performance issue:

    1. should put data files, log files and tempdb on their own disk (not different partition on same disk).
    2. better to add more memory.
    3. reindex/update statistics regularly. 
    4. check execution plan of big queries, ensure sql uses proper index.
    2010年2月9日 4:05

全部回复

  • Minimum server memory: 2000MB, Maximum server memory: 3500MB.
    这两个参数对内存小于2G的服务器有效,因为32位的OS单一进程最大只能分配2G内存,对SQLSERVER这个进程来说一般最大是1.7G左右,因为你的Server内存只有4G,开启/3GB参数时SQLserver进程最大可以使用2.7G左右的内存,这样会比较合适。
    如果你的Server有更多的内存可以在SQL服务器上开启AWE,最大可以获得32GB。
    当然最好是装64位的OS+64位的SQL Server 这样的性能才能最大化
    2010年2月8日 9:22
  • Looks like disk i/o is bottleneck too. What kind of disk does the server have? How many arrays? How do you place db files on disks? What's total db size on the server?
    2010年2月8日 15:22
  • 谢谢你啊!可能暂时不能升级到64位系统 也没有更多内存:-( 那现在的server只有4gb内存,如果开启/3gb的话,需要enable AWE么~?
    2010年2月9日 0:58
  • Hi rmiao, Thanks a lot for your reply.
    Yes the disk reads is very high. From the computer management console, I can see 2 disks, the first disk is devided with 2 partitions and for OS and sql server binaries. The second disk is devided with 4 partitions and for SQL data, log, tempdb, backup files.

    The db data files and log files are placed both on the second disk.
    The total db size on the server is 230GB, but only this problem database is for production usage, others are for QAS usage. The production database is 110GB.
    2010年2月9日 2:03
  • Can't use awe since your server has only 4gb memory. Several things can do to address performance issue:

    1. should put data files, log files and tempdb on their own disk (not different partition on same disk).
    2. better to add more memory.
    3. reindex/update statistics regularly. 
    4. check execution plan of big queries, ensure sql uses proper index.
    2010年2月9日 4:05