目前服务器配置的内存是8g,8核的2003系统
数据库下有6个数据库,访问比较大的有2个
我想再新建一个实例,单独放其中的1个访问比较大的数据库,别的都扔在原来的实例里面目前有几个配置选项不是很明白,忘高手解答
1. 8个处理器,该怎么分配
2. 在处理器的选项下有2个选项
【A】自动设置所有处理器的处理器关联掩码
【B】自动设置所有处理器的I/O关联掩码
这2个什么意思,打钩后有什么效果?3.如果分处理器后最大工作线程数还是应该没有限制吗?4.【提升SQL Server的优先级】这个选项是否应该选上,因为这台服务器是专门放数据库的

解决方案 »

  1.   

    忘了说了,数据库是SQL2005+sp2
      

  2.   

    要是2005提供Resource Governor 就好了。建议:1). 访问量比较大的实例,CPU数分配多一些2). 分实例後就不要使用自动关联了。分别指定哪些cpu可用在当前实例中3.. 64位下,分实例後,Max worker threads可以设定为 512+((CPU-4)*16), 32位好像是256+((CPU-4)*8).  都是CPU>=4的情况下。4). 勾上.
      

  3.   

    1.访问量比较大的实例,CPU数分配多一些 
    2.不懂
    3.同楼上KG哥
    4.勾上
    BTW:建议打上SP3补丁
      

  4.   

    个人觉得分配好内存就好了(Max & Min).至于CPU可以让机器自己调节.
      

  5.   

    对于 SMP(对称多处理器)架构的服务器,系统会将所有的 CPU 时间平均分配给各个线程/纤程,并且时常会将线程/纤程从计算量大的 CPU 上移动到其他 CPU 上(切换线程或纤程)。但是,在某些情况下可能需要指定数据库实例运行于某一个或几个 CPU 上,例如,数据库服务器同时也作为域控制器,为了让域控制器保持一定性能,可以只将除第一个 CPU 外的其他 CPU 分配给数据库实例,因为操作系统通常使用第一个 CPU;此时可以通过 affinity mask 服务器选项设置。
    默认情况下,在 Windows 系统中线程都是以相同的优先级运行的,即系统会将 CPU 时间平均分配给其上的每一个线程。如果需要将 CPU 时间优先分配给数据库任务,则可以通过启用 priority boost 服务器选项提高数据库线程的优先级;但是这样可能会阻止其他服务和任务获得 CPU 资源而无法运行。
    affinity i/o mask 服务器选项设置用于将磁盘 i/o 处理操作绑定到特定的一个或几个 cpu 上。
      

  6.   

    具体是否需要设置这些选项。首先需要使用“性能分析器”对 cpu、内存、磁盘、sql server 的性能计数器进行跟踪/分析后才可以确定。lz 在开始时可以将这些选项都保持默认设置。再根据实际使用情况,对性能作跟踪/分析,决定是否进行调整。这个只能在实践中不断调整,也是 dba 的职责所在。
      

  7.   

    问下,8G内存楼主计划怎么分配呢?分配之后就不能共享了吧?如果这些数据库之间繁忙时间不同,不能共享等于直接减少了缓存。
    至于CPU,我觉得还是不要指定比较好。印象中同一台服务器上的不同实例其实是同一个核心,在资源不是非常充裕的情况下这样强行分配,对性能有影响吧?