数据库性能调优的一些小方面:
1.1 性能指标
数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。响应越快,吞吐量越大,数据库性能越好。响应时间和吞吐量有些情况下不能一起得到改善。 1.2 调优级别
对Sybase数据库性能调优,可以从四个方面进行:
一) 操作系统级:对网络性能、操作系统参数、硬件性能等作改进。
二) SQL Server级:调整存取方法,改善内存管理和锁管理等。
三) 数据库设计级:采用降范式设计,合理设计索引,分布存放数据等。
四) 应用程序级:采用高效SQL语句,合理安排事务,应用游标,处理锁。
本文对第一、第三、第四方面的内容不做讨论,第二方面提到的概念只适用于Sybase数据库。
1.3 调优工具
在分析Sybase数据库的性能时,要用到一些数据库系统本身提供的性能调优工具,包括几个系统存储过程:
名称 功能简要介绍
sp_sysmon 企业级系统性能报告工具
sp_lock 查看锁的情况
sp_who 查看线程的活动情况
sp_procqmode 存储过程的查询处理模式
sp_configure 配置SQL Server系统级参数
sp_estspace 估计创建一个表需要的空间和时间
sp_spaceused 估计表的总行数及表和索引占用的空间
sp_monitor 监视CPU、I/O的统计活动情况
在利用isql等一些工具时,还可以设置查询会话中的几个选项,来显示SQL语句执行时的各种统计分析结果:
指令 On 的含义
set noexec on/off 分析SQL语句后,还要执行
set statistics io on/off 统计SQL执行所需I/O
set statistics time on/off 统计SQL语句执行耗时
set showplan on/off 显示查询计划
1.4 sp_sysmon 的使用
企业级性能报告工具、系统存储过程 sp_sysmon 的使用方法:
在isql 下,首先输入 sp_sysmon 'begin_sample' 启动一个报告采样过一段时间后,再输入 sp_sysmon 'end_sample' 结束上次报告采样
或者紧跟一参数 sp_sysmon 'end_sample', "dcache" 结束上次报告采样, 但只显示数据缓冲(Data Cache Management)这一部分的情况。
能替换dcache的可选参数如下表所示:
参数 参数全称,内容范围解释
Dcache Data Cache Management,数据缓冲
Kernel Kernel Utilization,有关引擎、网络和I/O等情况
Wpm Worker Process Management
Parallel Parallel Query Management
Taskmgmt Task Management
Appmgmt Application Management
Esp ESP Management
Housekeeper Housekeeper Task Activity
Monaccess Monitor Access to Executing SQL
Xactsum Transaction Profile
Xactmgmt Transaction Management
Indexmgmt Index Management,索引管理
Mdcache Metadata Cache Management
Locks Lock Management,锁管理
Pcache Procedure Cache Management
Memory Memory Management
Recovery Recovery Management
Diskio DiskI/OManagement,磁盘I/O管理
Netio NetworkI/OManagement
|