搜索|收藏|地图|订阅|图片|论坛|商城

Sybase SQL Server 11的内存缓冲区管理和性能调整

来源:赛迪网 编辑:若水 时间:2008-04-29
  Sybase SQL Server 11的内存缓冲区管理和性能调整  2@Gn[(9bR3  
   k{'4@xDX_  
   由于64位编址的实现和对称式多处理大组装盒的生产,计算机硬件具有越来越大的内存和日趋增长的强大计算处理能力,这为高性能数据库系统提供了令人鼓舞的新机遇。Sybase SQL Server 11能在这种环境下,帮助广大用户充分发挥现有系统的潜力和为将来创建开放的架构。其最显著的特性是支持多用户内存缓冲区结构,使用大块I/O的顺序预存取,和它们同查询优化器的紧密集成,新内存缓冲区管理能极大的改善系统性能。它提供许多工具和手段分析和配置内存缓冲区,以便能获得优良的应用性能。根据用户提供的系统配置,查询优化器能选择最佳的访问计划。这篇文章将介绍这些特性和如何使用它们来提高服务器性能。 lVT9Rr#Gf$  
U U-X7  
一、 引言 :lZ p >`  
)yvVmmj L  
  32位编址障碍被突破,带来计算机采用超大内存的发展趋势。现在,把大的关键表存放在内存,已经是很现实的事。另外,使用大对称式多处理器计算机,将多个应用运行在同一系统上,可能更经济,合算。而这些应用的要求是各种各样,从可能修改一条记录的联机事务到读取整张表的报表生成,千变万化。SQL Server 11提供新功能,用于配置和优化这些应用,以便充分利用系统资源。 c(Meg  
Sbb}aY 4FQ  
  一个典型的数据库系统由存储在磁盘上的永久性数据构成,什么时候要处理这些数据,必须首先将它读到主存,也就是通常所说的数据缓冲区。通常是调用底层操作系统的块I/O 来实现。数据库管理系统需要组织好这些读到内存缓冲区的数据页面,以备将来使用。以后,假如服务器在内存能找到所需页面,就不必做物理I/O,只是进行逻辑I/O,我们称它为命中缓冲区。数据缓冲区就是用于服务器为用户进行数据库各种数据操作。我们知道这两种I/O在访问速度方面有很大的差距,所以,内存缓冲区的性能是影响数据库应用系统的关键因素之一。 /mSTkK7yy  
CL9j7N2  
  数据库系统的内存管理由缓冲区管理程序实现。对于一个用户查询,它通常需要访问一定数量的逻辑页面,页面多少和使用的索引有关。而优化器的主要任务是选择涉及逻辑页面数量最小的访问路径。缓冲区管理程序的目标是为实现所需的逻辑I/O尽可能地减少物理I/O。有些访问路径可能有很多的逻辑I/O,但是物理I/O很少。SQL Server 11的优化器与缓冲区管理程序配合,能识别这种情况,挑选能最佳利用数据缓冲区的索引。 a`-z`<V'?  
`+MGS.  
  缓冲区管理程序的效率是用“缓冲区命中率”来衡量,它是申请访问的页面在内存缓 冲区中的比例。另一个衡量手段是访问竞争。因为缓冲区管理程序是共享资源,对它的并发访问是由“螺旋锁”(spinlock)机制来控制。在多对称式多处理器结构中,要取得最优的性能,那么减少多处理器为了访问这些区享资源而带来的竞争就特别重要。SQL Server 11 就能减少这种竞争,提高系统的可伸缩性。 :W V-IDU"  
ePxEA7  
  SQL Server 11增加了许多新特性,它们能极大地帮助数据库管理员支持决策支持和混合负载应用。他们面临的挑战是如何使运行在服务器上的各种应用能获得预料的性能。增加内存通常能提高系统的性能,但是对它们进行有效地管理可以产生最佳效果。SQL Server 11 的缓冲区管理程序,与查询优化器一道,提供新的缓冲区管理策略。这些策略有助于联机事务处理,决策支持和混合负载型应用。 o yvye )  
\_VPJ L,nL  
  在内存管理方面,SQL Server 11现在提供以下新特点:多数据缓冲区,顺序预取数据页面(使用大块I/O),新添的即取即弃数据缓冲策略,用户对每个缓冲配置的完全控制,和全自动的查询优化器支持,下面我们来详解它们。 + ,5x#   
C$e)$VFy'  
二、 多数据缓冲区 T[]vN0q~b  
%IV_IYxB  
  SQL Server 11允许用户在内存建立多个缓冲区,换句话说,用于数据缓冲区的内存能被分成许多个命名缓冲区。每个命令缓冲区可以服务于特定的应用(即数据库或者对象),而且每个缓冲区可以按有利于特定应用独立配置,例如,I/O的块大小,缓冲区大小,和涮新标识等等。被捆绑到缓冲区应用或者对象的所有I/O将在该缓冲区里进行。因此如果只配置一个数据缓冲区,将会有下图所示的“螺旋锁”竞争热点: tfSv{Z6-&  
yke$d!  
7-pJo%_  
d|}3,9yRC  
图1:单MRU-LRU缓冲区 wP|.}!D'&n  
t Q}@[_6Pe  
  每个缓冲区功能上是完备的,类似于SQL Server 10的数据缓冲区。被捆绑到不同缓冲区的两个应用彼此之间没有对内存的竞争或者是SMP的同步,例如没有螺旋锁竞争。因此计算机处理能力增加,应用处理效率相应增长。 'D Y p 7n  
\Fb5r_  
iX1dTN.'  
vp^~;_@
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?