Sybase数据库性能调优
广铁集团电算信息中心王奇成,张南飞
引言
铁路客票系统经过多次的技术改进,,现已能够比较全面充分地满足和适应客票发售和预订的需求,是铁路运输管理信息系统中的重点。客票系统结构上分成铁道部、地区中心和车站三级,技术上采用Sybase数据库,Unix操作系统,前台应用采用PB和BO等开发,是典型的Client-Server应用,但又采用了自行开发的中间件作连接交易处理和数据库通信,具有较强的复杂性。对于遍及全路大小车站,统管全路客票发售的这样一个庞大生产系统,影响举足轻重。尤其是节假日铁路售票高峰期里,大到地区中心,小到车站,只要客票主机一有故障,造成停机,便会直接影响售票,极大地减少铁路运输收入。
在多年的客票系统建设和维护中,深深体会到客票系统对Sybase数据库资源的方方面面的要求,Sybase数据库性能对客票系统至关重要的影响。现在,全路的客票系统出现一种数据集中的趋势,大站带小站,多站合并,票额集中到地区中心,这样,数据库的规模便越来越大,可用性要求越来越强。
如何深入调整Sybase数据库的性能,保证数据库的高可用性,来满足日益增长的客票网络的需求,尤其在过年过节等客运高峰期之需要,是每一个地区中心和每一个车站的数据库管理员的重要课题。本文结合客票系统,对如何调整优化Sybase数据库的性能做个较深入的论述。
1 概述
性能指标
数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。响应越快,吞吐量越大,数据库性能越好。响应时间和吞吐量有些情况下不能一起得到改善。
调优级别
对Sybase数据库性能调优,可以从四个方面进行:
操作系统级:对网络性能、操作系统参数、硬件性能等作改进。
SQL Server级:调整存取方法,改善内存管理和锁管理等。
数据库设计级:采用降范式设计,合理设计索引,分布存放数据等。
应用程序级:采用高效SQL语句,合理安排事务,应用游标,处理锁。
本文对第一方面的内容不做讨论,第二方面提到的概念只适用于Sybase数据库,但第三、第四方面讨论的问题同样适用于Sybase外的其他数据库。以上各个方面的措施是相互牵连的,具体到解决一个性能问题,有时候要综合应用。
调优工具
在分析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
显示查询计划
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 Ac
Sybase数据库性能调优 来自淘豆网m.daumloan.com转载请标明出处.