(从stackoverflow转贴)
我已经设置了 SQL server 镜像,使用 2 个 SQL server 2005 标准版。当应用程序受到压力时,响应时间会增加 10 倍。我已将其指向镜像,因为暂停镜像显示可接受的响应时间。
有哪些选项可用于实现更好的性能?请注意,我使用的是标准版,因此无法使用出色的高性能模式。
服务器在同一个机架中,连接到千兆交换机。
这是用于创建端点的代码:
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)
虽然暂停镜子会有所帮助,但它可能不是造成麻烦的真正原因。根据我的经验,使用同步镜像只会使响应时间加倍。如果您发现响应时间随着负载的增加而变差,则可能会出现其他情况。
需要考虑和尝试的一些事情:
原则和镜像之间的链接是否有足够的带宽来应对原则上的事务日志生成?
您的日志文件是否已优化?请参阅以下链接:
http://www.sqlskills.com/BLOGS/KIMBERLY/post/8-Steps-to-better-Transaction-Log-throughput.aspx
http://sqlblog.com/blogs/linchi_shea/archive/2009/02/09/performance-impact-a-large-number-of-virtual-log-files-part-i.aspx