Sybase数库性能调优Word文档格式.docx

上传人:b****3 文档编号:14980014 上传时间:2022-10-26 格式:DOCX 页数:16 大小:27.86KB
下载 相关 举报
Sybase数库性能调优Word文档格式.docx_第1页
第1页 / 共16页
Sybase数库性能调优Word文档格式.docx_第2页
第2页 / 共16页
Sybase数库性能调优Word文档格式.docx_第3页
第3页 / 共16页
Sybase数库性能调优Word文档格式.docx_第4页
第4页 / 共16页
Sybase数库性能调优Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Sybase数库性能调优Word文档格式.docx

《Sybase数库性能调优Word文档格式.docx》由会员分享,可在线阅读,更多相关《Sybase数库性能调优Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

Sybase数库性能调优Word文档格式.docx

本文对第一方面的内容不做讨论,第二方面提到的概念只适用于Sybase数据库,但第三、第四方面讨论的问题同样适用于Sybase外的其他数据库。

以上各个方面的措施是相互牵连的,具体到解决一个性能问题,有时候要综合应用。

1.3调优工具

在分析Sybase数据库的性能时,要用到一些数据库系统本身提供的性能调优工具,包括几个系统存储过程:

名称

功能简要介绍

sp_sysmon

企业级系统性能报告工具

sp_lock

查看锁的情况

sp_who

查看线程的活动情况

sp_procqmode

存储过程的查询处理模式

sp_configure

配置SQLServer系统级参数

sp_estspace

估计创建一个表需要的空间和时间

sp_spaceused

估计表的总行数及表和索引占用的空间

sp_monitor

监视CPU、I/O的统计活动情况

在利用isql等一些工具时,还可以设置查询会话中的几个选项,来显示SQL语句执行时的各种统计分析结果:

指令

On的含义

setnoexecon/off

分析SQL语句后,还要执行

setstatisticsioon/off

统计SQL执行所需I/O

setstatisticstimeon/off

统计SQL语句执行耗时

setshowplanon/off

显示查询计划

1.4sp_sysmon的使用

企业级性能报告工具、系统存储过程sp_sysmon的使用方法:

在isql下,首先输入 

 

sp_sysmon'

begin_sample'

启动一个报告采样

过一段时间后,再输入 

sp_sysmon'

end_sample'

结束上次报告采样

或者紧跟一参数 

"

dcache"

结束上次报告采样,但只显示数据缓冲(DataCacheManagement)这一部分的情况。

能替换dcache的可选参数如下表所示:

参数

参数全称,内容范围解释

Dcache

DataCacheManagement,数据缓冲

Kernel

KernelUtilization,有关引擎、网络和I/O等情况

Wpm

WorkerProcessManagement

Parallel

ParallelQueryManagement

Taskmgmt

TaskManagement

Appmgmt

ApplicationManagement

Esp

ESPManagement

Housekeeper

HousekeeperTaskActivity

Monaccess

MonitorAccesstoExecutingSQL

Xactsum

TransactionProfile

Xactmgmt

TransactionManagement

Indexmgmt

IndexManagement,索引管理

Mdcache

MetadataCacheManagement

Locks

LockManagement,锁管理

Pcache

ProcedureCacheManagement

Memory

MemoryManagement

Recovery

RecoveryManagement

Diskio

DiskI/OManagement,磁盘I/O管理

Netio

NetworkI/OManagement

1.5

用sp_sysmon可以得到数据库系统的性能基准报告,但要在比较稳定的状态下产生,方可作为参考和对照的依据。

1.6理解存储方法

只有清楚数据库存储数据的底层细节,如数据页、索引页的物理结构,每一行的大小计算,不同类型列占用的宽度等等问题,才能对各种调优措施有个深入领会。

关于这个问题,比较复杂和细致,请自行参阅有关书籍。

一般地,对于更改数据的操作,要尽量促进数据库进行直接更新(DirectUpdates),所以要遵守以下几条原则:

1)除非必要,避免使用允许null值的列和可变长度的列。

2)如果varchar和varbinary列填充得比较满,毫不犹豫转成char和binary列。

对于建表时指定的页填充率(pagefillfactor)参数,要权衡确定数值大小。

一般:

小值,适合于有许多随机插入的表,该表的数据经常被删除,又经常被增加;

大值,适合于大多数的数据被增加到表末尾,如客票系统的售票存根和退票存根表。

2SQLServer级的调优

2.1管理共享内存

数据库性能优化的首要方面是最优管理内存。

数据库占用的共享内存分成数据缓冲(datacache)、存储过程缓冲(Procedurecache)等几块。

在isql下使用sp_configure'

cache'

可以看到存储过程缓冲所占百分比(procedurecachepercent),整个数据缓冲大小(totaldatacachesize)等参数。

2.1.1存储过程缓冲(Procedurecache)

存储过程缓冲保持以下对象的查询计划:

Procedures 

存储过程

Triggers 

触发器

Views 

视图

Rules 

规则

Defaults 

缺省

Cursors 

游标

存储过程不可重入,意即每个并发用户调用都会在内存中产生一个拷贝。

Procedure,triggers,andviews当它们被装载到procedurecache中时,被查询优化器优化,建立查询计划。

如果存储过程在缓冲中,被调用时就不需要重新编译。

如果procedurecache太小,存储过程就会经常被其他调入内存的存储过程冲洗掉,当再次被调用时,存储过程又被调入内存,再重新编译,用户请求因此不得不等待。

最严重的情况,如果procedurecache不够,存储过程甚至都不能运行。

所以在内存足够的情况下,procedurecachepercent参数尽可能大一些。

2.1.2数据缓冲(DataCache)

数据缓冲用来缓存数据页和索引页,是除去存储过程缓冲,系统其他占用的缓冲外的剩余内存空间。

通过给服务器增加物理内存扩大数据缓冲,是最有效的方法。

当然,如果不能加内存,就只能通过减少存储过程缓冲的比例等方法来扩大数据缓冲了。

通过sp_configure"

extentI/Obuffers"

20(可调)命令,在DataCache中保留一些页专用于创建索引时使用,可以显著提高创建索引的性能。

但要注意每开辟一个缓冲占用16K字节的系统内存。

2.1.3命名缓冲

通过如下的命令:

1>

sp_helpcache

2>

go

查看某客票数据库中命名缓冲,得到的结果如下:

CacheName 

ConfigSize 

RunSize 

Overhead

------------------------------------- 

---------- 

----------

DS30_Tran_Log 

20.00Mb 

2.05Mb

Systemtable 

defaultdatacache 

0.00Mb 

4462.86Mb 

464.97Mb

left_base_center 

16.00Mb 

1.57Mb

price_cache 

8.00Mb 

0.85Mb

可以看出有4个命名缓冲,分别绑定客票系统的应用日志表、一些重要且常用的系统表、余票表、票价系列表,另外1个是缺省数据缓冲。

这种配置还不是最合理,应该进一步把Systemtable这个命名缓冲细分成很多个,每一个单独存放一张系统表。

2.1.4缓冲策略

缓冲策略是指把数据提前读入内存的机制,分预取策略(PrefetchStrategy,即大I/O策略)和取后马上丢弃策略(Fetch-and-Discard)、提示策略(Hints)等几种。

可以在三个级别上设置表数据的预取策略(PrefetchStrategy,即大I/O策略)于:

对象级,会话级,查询级。

如果三个级别上都有设置,它们发生作用的优先顺序是:

对象级>

会话级>

查询级。

对于如何在查询级利用指定的缓冲池,可以查看下面例子(使用4K缓冲池):

selectau_fname,au_lname

fromauthers(prefetch4)

whereau_idin(A372020631,...,A1887081515)

go

DSS应用往往得益于大的I/O,应该放开largeI/Ostrategy预取策略。

如果一个应用倾向于OLTP特征,用户能在会话级关掉Prefetch来提高性能。

对于OLTP应用,关闭largeI/Ostrategy预取策略。

对于所取到的页不会有重用的情况,放开fetch-and-discard策略。

客票系统对存根数据进行统计的应用,如财收日结账,营销分析数据整理模块和综合查询等,都可以利用这一结论。

查看几个操作频繁且较大的表上的缓冲策略,用如下命令:

sp_cachestrategycenter,seat_area

sp_cachestrategycenter,sale_record0505

2.2管理锁

2.2.1页锁升级阀限

优化锁的重要考虑是设置页级锁升级升级成表级锁的阀限。

要尽量避免页锁很快升级成表级锁。

在某客票数据库中,用sp_configure‘lock’可以看到如下结果:

deadlockcheckingperiod 

500 

1000 

1000

numberoflocks 

5000 

46875 

200000 

200000

pagelockpromotionHWM 

200 

10000 

10000

pagelockpromotionLWM 

200 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1