SQL Server 2014缓存池扩展 (Buffer Pool Extension)功能可以将缓存池扩展到较快的SSD存储上。为内存比较紧张的系统提供了新的扩展途径。

Buffer Pool 扩展可以带来以下好处:

  1. 提高随机I/O的吞吐量
  2. 降低I/O延迟
  3. 提高单位时间内处理事务的吞吐量
  4. 显著地提高读性能
  5. 以软件方式为客户实现了类似于混合硬盘的效果。

缓存池扩展支持以下两种模式:

  • CW:只向SSD写入干净页。
  • DW:双重写,即同时向SSD和硬盘写入脏页。

下面2张图里,C: 干净页  D:脏页  R:随机  S:顺序

  1. 顺序写总是直接写入硬盘,不会写入SSD
  2. 干净页的随机写是写入SSD,因为既然是干净页,硬盘上已经有一份拷贝。
  3. 当缓存池尚有空间时,缓存池扩展采用CW模式的,只对SSD只写入干净页。
  4. 当缓存池空间已满,需要将一部分脏页刷到硬盘上的时候,它是DW模式的,脏页将同时写入SSD和硬盘。

总的来说缓存池扩展对于读远远高于写的OLTP系统比较有帮助,对于以下环境,则帮助不大:

  1. 数据仓库。您应该考虑列存储而不是缓存池扩展
  2. 写入比较多的OLTP。
  3. 拥有大于64GB内存的服务器

以下是如何使用缓存池扩展的具体步骤:

首先检查SQL server最大内存的设置。建议将缓存池扩展的大小设为最大内存的16倍或以下。请先做好充分测试再实施到生产环境。

 USE master
GO EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO EXEC sp_configure 'max server memory (MB)'
GO /* EXEC sp_configure 'max server memory (MB)', [VALUE (MB)]
RECONFIGURE WITH OVERRIDE
GO
*/

以下脚本启用了缓存池扩展到10GB:

 USE master
GO ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION OFF;
GO ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'F:\SSDCACHE\Example.BPE', SIZE = 20 GB);
GO

以下为缓存池扩展相关的DMV和perfmon counter,可用于检查设置和监控:

 --DMV:
select * from sys.dm_os_buffer_pool_extension_configuration
select * from sys.dm_os_buffer_descriptors where is_in_bpool_extension = 1 --Perfmon counter:
SQL Server:Buffer Manager:Extension page reads/sec
SQL Server:Buffer Manager:Extension page writes/sec
SQL Server:Buffer Manager:Page reads/sec
SQL Server:Buffer Manager:Page writes/sec
SQL Server:Readahead pages/sec

原文链接:http://blogs.msdn.com/b/apgcdsd/archive/2014/12/18/sql-2014-6-buffer-pool-extension.aspx

缓存池扩展 (Buffer Pool Extension)实践的更多相关文章

  1. SQL Server 2014里的缓存池扩展

    在今天的文章里我想谈下SQL Server 2014里引入的缓存池扩展(Buffer Pool Extensions).我们都知道,在SQL Server里,缓存池是主要的内存消耗者.当你从你存储里读 ...

  2. SQL Server 2014新特性探秘(2)-SSD Buffer Pool Extension

    简介     SQL Server 2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQL Server数据页缓冲区使用.通过使用SSD来扩展Buffer-Pool,可以使得大量随 ...

  3. SSD Buffer Pool Extension

    SSD Buffer Pool Extension 简介 SQL Server 2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQL Server数据页缓冲区使用.通过使用SSD ...

  4. InnoDB存储引擎--Innodb Buffer Pool(缓存池)

    InnoDB存储引擎--Innodb Buffer Pool(缓存池) Innodb Buffer Pool的概念 InnoDB的Buffer Pool主要用于缓存用户表和索引数据的数据页面.它是一块 ...

  5. SQL Server 2014新特性——Buffer Pool扩展

    Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,S ...

  6. SQL SERVER Buffer Pool扩展

    Buffer Pool扩展简介 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 在Buffer Pool 扩展之前,SQL Ser ...

  7. InnoDB缓存---InnoDB Buffer Pool

    InnoDB Buffer Pool 定义 对于InnoDB存储引擎,不管用户数据还是系统数据都是以页的形式存储在表空间进行管理的,其实都是存储在磁盘上的. 当InnoDB处理客户端请求,需要读取某页 ...

  8. MySQL · 引擎特性 · InnoDB Buffer Pool

    前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...

  9. 【大白话系统】MySQL 学习总结 之 缓冲池(Buffer Pool) 的设计原理和管理机制

    一.缓冲池(Buffer Pool)的地位 在<MySQL 学习总结 之 InnoDB 存储引擎的架构设计>中,我们就讲到,缓冲池是 InnoDB 存储引擎中最重要的组件.因为为了提高 M ...

随机推荐

  1. redolog文件头简单探究

    先切换: SQL> select group#,status from v$log; GROUP# STATUS---------- ----------------         1 INA ...

  2. windows7文件共享

    工作组模式下: 参考:http://support.microsoft.com/kb/2533010/zh-cn 1.首先区分网络类型配置文件:家庭网络,工作网络还是公用网络 2.每种类型区分两种文件 ...

  3. [Aaronyang] 写给自己的WPF4.5 笔记19[Visual类图文并茂讲解]

    文章虽小,内容还好,且看且珍惜. aaronyang版权所有,不许转载,违者必究 当界面上使用数千个矢量图形,例如实时统计图,粒子碰撞,比如超级玛丽游戏,图像一直在绘,过量的使用WPF的元素系统和Sh ...

  4. gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org

    在安装了rvm来管理多版本的ruby之后,想在不同环境下安装一些gems,结果gem install puma 之后,发现一次又一次失败. gem install 出现Errno::ECONNRESE ...

  5. mysql数据库导入和导出

    Mysql数据中,使用时,总是会碰见导入和导出情况,所以如何正确的导入导出,非常重要!下面根据工作中用到的方法,会不管补充: 导入: 直接在Mysql中导入: mysql>use databas ...

  6. Hadoop jar配置使用JMX进行远程JVM监控

    背景:  编写了一个MapReduce程序,发现该程序内存占用非常多,需要有一种方法来分析内存详细的占用情况. 可以使用linux上的pmap –d <PID>来看进程逻辑地址空间使用情况 ...

  7. ecshop利用.htaccess实现301重定向的方法

    实现方法如下(空间必须支持对目录中的.htaccess文件解析) 打开 .htaccess 找到 RewriteEngine on 它的下方添加 RewriteCond %{HTTP_HOST} ^需 ...

  8. Gson 和 FastJson 性能测试

    使用版本: compile 'com.google.code.gson:gson:2.7' compile 'com.alibaba:fastjson:1.2.17' 评测样板为一个People数组, ...

  9. 【转】sql里面的split

    CREATE function [dbo].[SplitString]( @Input nvarchar(max), @Separator nvarchar(max)=',', @RemoveEmpt ...

  10. ORA-00119: invalid specification for system parameter LOCAL_LISTENER - 转

    错误分析 listener 可以正常启动: [oracle@o_target admin]$ cat listener.ora# listener.ora Network Configuration ...