如何改进SQL Server镜像

时间:2009-07-07 15:18:21

标签: sql-server performance mirroring endpoint

(如果问题更适合RackOverflow请告诉我)

我使用2个SQL Server 2005标准版本设置了SQL Server镜像。 当应用程序受到压力时,响应时间增加10倍。我已经把它指向了镜子,因为暂停镜子显示出可接受的响应时间。

有哪些选项可以实现更好的性能?请注意,我使用的是标准版,因此优秀的High Performance Mode不可用。

服务器位于同一机架中,连接到千兆交换机。

以下是用于创建端点的代码:

CREATE ENDPOINT [Mirroring] 
    AUTHORIZATION [sa]
    STATE=STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
    FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM RC4)

2 个答案:

答案 0 :(得分:1)

首先,您需要查看镜像上的redo queue,有多大。这是最可能的罪魁祸首,表明您的镜像机功能不足。更确切地说,它不能应用和写入日志,因为它从主要的脂肪中接收它足以跟上,导致流量控制传播回主体并延迟事务提交。实际上,您应该查看两台计算机上Mirroring Object中的所有计数器。

除非您发现测量结果以备份端点设置上的怀疑,否则请保持原样。镜像通信带宽很少是罪魁祸首。

答案 1 :(得分:0)

鉴于服务器位于同一机架中,您确实需要打开加密功能吗? RC4是一种相对较弱的算法,因此效益很低。大概1千兆网络在服务器之间是私有的吗?

ENCRYPTION = DISABLED

回应@Remus Rusanu的评论:说“RC4是一个强大的算法”是完全错误的。这就是MSDN page所说的:

  

虽然比AES快得多,   RC4是一个相对较弱的算法,   而AES则相对较强   算法。因此,我们建议   您使用AES算法。