释放用于 DB2 工作负载的固态硬盘的价值
2010-09-16 00:00:00 来源:WEB开发网冷、暖、热:识别所需数据
那么,确定将哪些 DB2 表或索引放在 SSD 上的最佳方式是什么?先前基于数据模型的应用程序知识便是很好的起点。但是,我们想开发一种更客观的方式来评价哪些文件和数据放到 SSD 上将带来最大的性能收益。不断地确定哪些数据是热的或冷的,然后据此将数据放到不同的存储层,这样做会给 DBA 带来额外的负担。但是,可以使用一些操作系统监视工具,例如 AIX filemon 和 iostat 实用程序,来确定哪些逻辑卷、文件系统和/或磁盘卷是热的,从而获得更多的 IOPS 和更短的访问延时。
DB2 提供了快照监视功能,可以用于在不同级别上对所有连接的应用程序数据库、缓冲池、表空间、表、应用程序、锁等进行性能监视。该信息可以在命令行处理器(CLP)中使用快照命令、借助 SQL 表函数或者在 C/C++ 程序中使用快照监视应用程序编程接口(API)进行收集。此外,还可以使用具有 Extended Insight 特性的 IBM DB2 Performance Expert,根据当前和历史监视数据获得丰富的洞察力。通过分析这些监视结果,可以对数据库应用程序的 I/O 特征形成有价值的洞察力。
通过将来自 filemon、iostat 和 DB2 快照监视的数据与缓冲池监视开关相结合,可以得到以下信息:
表空间页宽(4 KB、8 KB、16 KB 或 32 KB)
使用页数(以表空间页宽为单位定义)
缓冲池数据物理读数(以表空间页宽为单位定义)
缓冲池索引物理读数(以表空间页宽为单位定义)
缓冲池 xda 物理读数(以表空间页宽为单位定义)
缓冲池读取时间(以秒为单位)
根据该数据,可以使用图 3 中的公式计算 4 个指标,这些指标将帮助确定哪些表空间更适合放在 SSD 上:
访问密度(Access density):物理 I/O 数除于表空间中的使用页数
访问延时(Access latency):那些物理 I/O 的延时
相对表空间权重(Relative tablespace weight):访问密度和访问延时的函数
连续率(Sequentiality ratio):对给定表空间的 I/O 访问的随机或连续程度
对于所有表空间,综合上述指标,按权重因子降序排列,那些具有较高权重因子的表空间更适合放在 SSD 上。具有较低连续率的表空间也比较适合放在 SSD 上。
更多性能选项
图 3 中计算的权重因子和连续率将帮助您发现最适合放在 SSD 上的表空间。但是,取决于您的环境和可用 SSD 资源,还有两种选项也应该知道一下。
首先,如果容量允许,考虑将 DB2 临时表空间放在 SSD 上。这样可以帮助缩短复杂的 “group by” 或 “order by” 查询所需的排序时间。这对于经常需要对大量数据进行排序,然后统统装入磁盘的数据仓库工作负载来说,特别有用。最后,活动日志文件不太需要放在 SSD 上,因为这些操作通常导致连续 I/O,通常在存储器写缓存上出现。但是,如果应用程序受累于大量的提交时间和较长的日志 I/O 延时,那么将活动日志放在 SSD 将有所帮助。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接