我有2个服务器设置在镜像高安全性。 一个是“镜子”中的校长和另一个。 目前,我有两个在主服务器上创build的生产数据库(100 GB大小)的快照(用于大量select进程的no_lock目的)和2个用于报告目的的镜像服务器上的同一数据库快照。
我知道快照会降低源数据库的性能,但我不确定来自镜像服务器的快照是否会对主体服务器的性能产生影响。
谢谢,
快照不会直接影响镜像会话。 为了让主体继续下去,镜像必须强化日志,而不是提交。 这只是表示从主体接收到的日志必须写入并保存到日志文件中。
正在恢复的过程中,将日志连续应用于镜像,必须处理维护快照所需的写入时复制,以便将日志中的更改应用到数据。 这个过程可以落后于委托人,不需要达到现在的主要的LSN的地位。
也就是说,维护快照确实会导致IO,内存和CPU开销,这将反映镜像托pipe实例的整体性能。 快照还将支持额外的查询工作负载。 显然,从这个意义上说,拥有一个快照会在镜像上引起开销,从而使资源从与主体(接收,处理和加固日志)的任务分离。 但是快照不是直接的开销。 委托人不必等待快照所需的写时复制发生。
我的猜测是肯定的,但除非我自己testing,否则我不能确定。 BOL看起来像它分享我的意见,但在隐喻的条款!
镜像上发生更改的任何页面都需要先复制到快照文件中。 不知道如何优化该过程,以及创build第二个快照时获得的性能下降程度。
从BOL:
根据镜像服务器和主体服务器的configuration,镜像数据库上的数据库快照数量过多可能会降低主体数据库的性能。