SQL Server 2000服务器功能合并
2007-05-17 09:37:59 来源:WEB开发网核心提示: 图 2 表明,当单个 SQL Server 上的数据库数量(或客户端连接数量)增加时,SQL Server 2000服务器功能合并(4),每个数据库的工作负荷吞吐量将减少,如果每个实例的数据库保持在 500 个,然后进行重新编译,综上所述,则每个数据库的吞吐量在单个实例和在 8 个实例上是
图 2 表明,当单个 SQL Server 上的数据库数量(或客户端连接数量)增加时,每个数据库的工作负荷吞吐量将减少。如果每个实例的数据库保持在 500 个,则每个数据库的吞吐量在单个实例和在 8 个实例上是一样的,但是当增加至 16 个实例后,吞吐量会因为 CPU 的限制而减少。
图 1:系统上的总工作负荷吞吐量与系统上的 PACE 数据库总数
图 2:每个数据库上的工作负荷吞吐量与系统上的 PACE 数据库数量
为什么要在此方案中使用多个实例
在一个实例上使用上千个 PACE 数据库会造成性能下降
SQL Server 2000 最多可以为该过程高速缓存使用 2 GB 的虚拟内存(如果在 boot.ini 中设置了 /3 GB 开关,则为 3 GB)。当单个实例上的数据库数量从 500 增加至 1000 时,过程高速缓存中将没有足够的虚拟内存来保存内存中增加的所有查询执行计划。为了释放内存,以便为其他存储过程的计划腾出空间,系统会丢弃过程高速缓存中的某些执行计划,但是此操作要求在需要时重新编译这些被丢弃的存储过程计划。请注意,这样所造成的频繁的重新编译工作会影响工作负荷性能。
使用多个实例缓解内存压力
如图 3 所示,在具有 4 GB 以上物理内存的情况下,在多个实例上运行数据库可以留出更多的内存供过程高速缓存使用(每个实例具有自己的虚拟地址空间和过程高速缓存)。
当单个实例的 PACE 数据库数量增至数千后,这些数据库对象会占用太多供过程高速缓存使用的内存空间,从而导致性能下降。过程高速缓存将被丢弃,然后进行重新编译。综上所述,我们建议使用多个实例。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接