当前位置:首页 > 09 SYBASE数据库的安装实例和调优(HP-UX)
SYBASE数据库的安装实例/调优 内部公开▲
4.2.3 某些参数确定的具体方案
4.2.3.1 确定number of open database
1. 使用sp_countmetadata可以数据库元数据描述符的总数。该进程最好在系统几乎没有
活动的时候,负责会和其他的进程参数竞争
2. 重新根据sp_countmetadata的输出值的基础上增加10%,设置number of open database 3. 在高峰其查找活动的元数据描述符
sp_monitorconfig “open database”,观察其中的Max_Used,在此基础上增加10%,就是number of open database数量。
4.2.3.2 确定number of open indexes
1. 使用sp_countmetadata可以数据库元数据描述符的总数,sp_countmetadata “open
indexes” 该进程最好在系统几乎没有活动的时候,负责会和其他的进程参数竞争 2. 重新设置number of open indexes 3. 在高峰其查找活动的元数据描述符
sp_monitorconfig “open indexes”,观察其中的Max_Used,在此基础上增加10%,就是number of open indexese数量。
4.2.3.3 确定number of open objects
1. 使用sp_countmetadata可以数据库元数据描述符的总数,sp_countmetadata “open
objects” 该进程最好在系统几乎没有活动的时候,负责会和其他的进程参数竞争 2. 重新设置number of open objects 3. 在高峰其查找活动的元数据描述符
sp_monitorconfig “open objects”,观察其中的Max_Used,在此基础上增加10%,就是number of open objects数量。
4.3 其他需要考虑的优化方案
4.3.1 设备文件的优化
1. Master设备
Master设备最好不要存放用户数据库 2. 设备文件的安排
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -25-
SYBASE数据库的安装实例/调优 内部公开▲
仔细安排数据库、表和索引的物理存放位置可以提高系统的性能,尤其对于需要执行大量I/O的多用户系统和多CPU系统。基本原则:把数据分散到多个磁盘上避免I/O竞争;对于经常做修改的数据库把数据和日志分别存储;把镜象设备放到分离的物理磁盘上;把tempdb放到独立的设备上。
注意:
数据和日志设备如果不分开存放,将不能做数据库的增量备份。
3. 设备的创建
针对我们的系统,在创建UNIX下的文件系统设备时,最好把dsync 置为false 4. 默认设备的处理
安装完数据库服务后,最好把系统的默认设备修改为非master设备,防止用户误操作导致master设备满。
4.3.2 tempdb的性能优化
tempdb它是一系统级资源,主要用于排序、创建工作表等的内部处理和由用户创建的临时表或索引。许多应用使用的存储过程需要执行复杂的连接或其它复杂的数据分析可能会在tempdb数据库中创建工作表,例如SQL语句中包含DISTINCT,NOT EXISTS,GOURP BY和ORDER BY等。
配置tempdb主要考虑下面四个方面:大小、存放位置、锁和内存的使用。 4.3.2.1 tempdb大小
一些应用(例如多个表的连接操作)使用临时表,则执行速度会加快。多个用户并发地进行下面的处理,tempdb的空间就应该大一些:
1. 内部排序
2. 查询语句中有distinct,group by,order by或做重新格式化等创建临时表或OR策略 3. 在临时表上有索引 4. tempdb中有常驻的临时表 4.3.2.2 tempdb的存放位置:
1. 把tempdb数据库从master设备中分离出来
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -26-
SYBASE数据库的安装实例/调优 内部公开▲
2. 把tempdb与关键应用的数据库放到不同的设备上 3. 它的数据页应该尽可能连续
4. 如果把tempdb扩展到一独立的物理设备上时,应防止临时表跨多个设备 4.3.2.3 tempdb与加锁
当用户在Tempdb中创建表和索引时,有关表的信息必须存储到系统表sysobjects,syscolumns和sysindexes中,对这些表的修改就需要表级锁,如果多个用户进程在tempdb中创建和删除表,则就会在系统表上发生封锁竞争。 4.3.2.4 封锁竞争解决办法
1. 把tempdb的system segment从master设备移开,以避免封锁冲突 2. 使用RAM设备和速度快的磁盘提高tempdb的I/O速度 3. 使对常驻临时表的修改事务尽可能地短
4.4 sybase数据库提供的性能优化的工具
Sybase系统提供的性能调优工具包括:系统表、系统过程、set命令、sp_sysmon、SQL Server Monitor和showplan,下面有重点地介绍比较常用的工具。
4.4.1 系统过程
系统过程通常用来获得数据库对象信息、报告资源分配情况和监控SQL Server的活动。常用的系统过程包括:
1. 进程信息查看:sp_who、sp_lock 2. 磁盘使用情况:sp_spaceused、sp_helpartition、sp_estspace
3. 系统和Cache配置:sp_helpconfig、sp_configure、sp_cacheconfig、sp_poolconfig 4. 系统监视和统计:sp_sysmon、sp_monitor
4.4.2 Set命令
Set命令建立了用户在工作对话期间SQL Server的查询处理选项,在系统优化过程中常用的命令有以下几种:
1. set statistics io on|off
该命令是设置是否显示逻辑或物理读写次数。
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -27-
SYBASE数据库的安装实例/调优 内部公开▲
2. set statistics time on|off
该命令是设置是否显示对每一命令进行语法分析和编译的时间。 3. set statistics subquerycache on|off
该命令设置是否显示缓冲区碰撞的数目和每一子查询在缓冲区的数据行数。
4.4.3 系统过程sp_sysmon
sp_sysmon是系统调优过程中经常使用的系统过程,它产生关于SQL Server活动的报表和对SQL Server的性能给出总体描述。在下面的情况下,sp_sysmon通常可以提供有用的信息:
1. 修改缓冲区或缓冲池配置的前后 2. 使用sp_config修改系统配置的前后 3. 给应用增加新的查询的前后
4. 增加或减少SQL Server引擎数目的前后 5. 增加新的磁盘设备并给它分配对象时 6. 系统运行高峰阶段寻找竞争热点 7. 系统性能不好或运行不正常时 8. 在对SQL Server的配置进行测试时 4.4.4 showplan的使用
showplan用来显示查询优化计划,包括灾辅数据的存取、存取方法和优化策略。如:语句信息、系统资源的分配和使用。查询使用的关键字、表的连接顺序等,它可用来检查优化设计是否达到预期的效果。
4.4.5 用isql检查运行时间
isql –p可以算出运行时间,在速度方面检查优化的效果。
4.4.6 ASE Monitor ASE Monitor是Sybase的一个用来监测系统性能的产品。系统管理员利用它提供的信息来发现和标识资源瓶颈、检查当前存在的问题、对系统进行调优(SQL Server配置、数据库设计、存储过程、应用中的SQL语句等)。
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -28-
共分享92篇相关文档