clinics是什么意思nics在线翻译读音例句-2012年诺贝尔文学奖得主


2023年4月7日发(作者:aust)

sybase性能诊断sp_sysmon

文章描述了通过sp_sysmon对AdaptiveServer系统运行情况有一个全面系统了解,有利于更好

地熟悉系统性能,更为有效地进行系统管理,合理地利用和配置系统资源,达到系统性能调优的目的。

从18个方面了解在用系统性能状况,并在适当的时候利用环境参数进行性能调优:

1、内核管理(kernal)

2、应用管理(appmgmt)

3、数据缓存管理(dcache)

4、ESP管理(esp)

5、索引管理(indexmgmt)

6、锁管理(locks)

7、内存管理(memory)

8、元数据高速缓存管理(mdcache)

9、任务管理(taskmgmt)

10、监视器访问SQL的执行(monaccess)

11、网络I/O管理(netio)

12、并行查询管理(parallel)

13、过程缓存管理(pcache)

14、恢复管理(recovery)

15、事务管理(xactmgmt)

16、事务概要(xactsum)

17、磁盘I/O管理(diskio)

18、工作进程管理(wpm)

括号后英文短词是该模块参数。

环境:

1、用户数据库中有练习所用数据表auths和article

2、数据表各有10万行数据

3、用户具有查询、修改、删除等基本的数据库表操作权限

步骤:执行sp_sysmon“00:10:00”(server级系统存贮过程,不需要打开某个数据库),或者执行如

下格式的过程,查看具体操作批命令对应系统性能情况:

sp_sysmonbegin_sample

SQL语句或者存贮过程

sp_sysmoncommit_sample

本实验采用sp_sysmon“hh:mm:ss”,性能模块名。

结论:通过此练习,可了解当前系统在各方面的系统运行状况,性能出现什么问题和不平衡不协调之处,

学会使用相应的参数和措施进行解决和调优,不断比较对照调整前后的性能状况,最终改善系统性能。

说明:1、该命令执行结果集的开头相同如下,各分块练习不再一一列示:

========================================================

==============

SybaseAdaptiveServerEnterpriseSystemPerformanceReport

========================================================

==============

ServerVersion:AdaptiveServerEnterprise/11.9.2/1031/P/NT(IX86)/OS3.

ServerName:ServerisUnnamed

RunDate:May28,2001

StatisticsClearedat:15:57:27

StatisticsSampledat:16:07:28

SampleInterval:00:10:00

2、执行结果集的每列信息提示:

persec:采样期间每秒的平均值

perxact:采样期间每提交一个事务的平均值

count:采样期间每秒的总计值

%oftotal:占总数的百分比,根据不同情况各有不同

3、结果集对应给出性能情况描述、分析以及可调性说明

4、本练习只给出部分模块的监视结果(可能有删节),用sp_sysmon“hh:mm:ss”可看全部详细情况。

单元一:监视内核利用情况

命令行:sp_sysmon“00:10:00”,kernal

结果:

KernelUtilization(内核利用)

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

EngineBusyUtilization

Engine01.8%

引擎繁忙程度应在80%-90%之间,如果长期在90%以上,应考虑增加引擎数来改善性能。因为此时内

部管理进程无法向磁盘写入,则检查点需要将许多页写回磁盘,而检查点进程很可能将CPU的利用率提高

到100%,导致响应时间明显增加。

CPUYieldsbyEnginepersecperxactcount%oftotal

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

Engine06.60.63949100.0%

引擎放弃CPU次数:%oftotal=1个引擎放弃次数/所有引擎放弃次数,如果显示引擎利用率较低,可

通过放弃数判断是否真实反映引擎的停止情况。增加“runnableprocesssearchcount”(引擎放弃CPU

给OS之前一个引擎循环查找可执行任务的次数)参数可增加CPU的驻留时间,而如果想减少引擎在空闲

时检查I/O的时间,可减少该参数的值。

NetworkChecks

TotalNetworkI/OChecks0.00.00n/a

引擎发送或接收网络包的次数。引擎空闲时频繁检查网络包,如果该值很低而“CPUYieldsbyEngine”

的值高,表明引擎可能被频繁放弃。

可能包括阻塞和非阻塞两种检查方式。非阻塞方式不管有无I/O等待都对网络进行I/O检查。如果引擎已

被放弃并正执行阻塞网络检查,则在网络包到达以后仍保持一段睡眠时间(潜伏期)。此时增加“runnable

processsearchcount”(缺省2000)参数可减少潜伏期,保持引擎有较长的循环检查时间,而不是过

早被放弃。

DiskI/OChecks磁盘I/O检查情况:

TotalDiskI/OChecks693.258.8415939n/a

ChecksReturningI/O469.939.928192167.8%

引擎对I/O情况的有效检查(I/O完成次数),如过高或过低,用“i/opollingprocesscount”(Server

的调度程序在检查磁盘I/O或网络I/O之前可执行的最大进程数)参数增加或减少检查频率。通常说增加

该值可增加有大量磁盘或网络I/O的应用的吞吐量,反之,减少该值有可改善其响应时间。

AvgDiskI/OsReturnedn/an/a0.03020n/a

增加引擎在检查期间的等待时间可改善吞吐量,因为减少引擎检查I/O时间相应增加执行进程的时间。

单元二:监视并行查询管理

命令行:sp_sysmon“00:10:00”,parallel

结果:报告并行查询次数、执行期间调整了多少工作进程,以及在merge和sort操作时加锁情况。

ParallelQueryManag牧童吕岩翻译 ement

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

ParallelQueryUsagepersecperxactcount%oftotal

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

TotalParallelQueries0.18.016n/a

优化器自动确定是否并行操作,以及为此使用多少工作进程。

WPAdjustmentsMade

DuetoWPLimit0.00.000.0%

会话级的限制受“setparallel_degree”or“setscan_parallel_degree”参数控制。

DuetoNoWPs0.00.000.0%

缺乏可用的工作进程导致申请工作进程数减少。可适当增加“numberofworkerprocesses”

MergeLockRequestspersecperxactcount%oftotal

报告并行merge操作的锁请求数,很快授予锁的数目,下面3种类型锁的等待情况:

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

NetworkBufferMergeLocks

Grantedwithnowait4.9438.587756.2%

Grantedafterwait3.7334.566942.9%

ResultBufferMergeLocks

Grantedwithnowait0.00.000.0%

Grantedafte春日偶成 古诗 rwait0.00.000.0%

WorkTableMergeLocks

Grantedwithnowait0.17.0140.9%

Grantedafterwait0.00.000.0%

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

Total#ofRequests8.7780.01560

SortBufferWaitspersecperxactcount%oftota关于祖国的诗歌朗诵稿 l

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

Total#ofWaits0.00.00n/a

并行排序所用“排序缓冲区等待”锁。如果等待数较高,可考虑加大“numberofsortbuffers”的值。

========================================================

==============

单元三:监视执行SQL的访问情况

命令行:sp_sysmon“00:10:00”,monaccess

结果:

MonitorAccesstoExecutingSQL(监视执行SQL的访问情况)

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

persecperxactcount%oftotal

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

WaitsonExecutionPlans0.00.00n/a

每个试图使用sp_showplan但必须等待获得访问查询计划的读资格,报告等待次数。

NumberofSQLTextOverflows0.00.00n/a

SQL批文本超过文本缓冲区大小的溢出次数。

MaximumSQLTextRequestedn/an/a0n/a

(sincebeginningofsample)

“maxSQLtextmonitored”(缺省为0)参数指定分配给每个连接用户的内存量,用以保存SQL文本

到内存,供sever监视器共享。推荐值为1024。

========================================================

==============

单元四:事务概要

命令行:sp_sysmon“00:10:00”,xactsum

结果:

TransactionProfile(事务概要)

报告提交的事务数,要尽量减少多数据库事务的提交(一个事务对多数据库的访问)

TransactionSummarypersecperxactcount%oftotal

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

CommittedXacts11.8n/a7073n/a

TransactionDetailpersecperxactcount%oftotal

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

Inserts

APLHeapTable13.61.28189100.0%

如果大量堆表数据插入,结合查看锁的堆表最后一页锁情况,是否引起严重的锁争夺,随之调整相应的数

据表,避免因为锁资源争夺引起性能降低。

APLClusteredTable0.00.000.0%

对全页锁的表插入数据行,注意可能引起的页分裂。

DataOnlyLockTable0.00.000.0%

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

TotalRowsInserted13.61.28189100.0%

单元五:事务管理

命令行:sp_sysmon“00:10:00”,xactmgmt

结果:

TransactionManagement(事务管理)

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

用户日志cache(每个用户对应一个)降低了写入事务日志的次数,如果是多处理器系统还减少了事

务日志当前页的争夺,因而提高了性能。可配置环境参数“userlogcachesize”(缺省最低2048字节),

太小导致用户日志常满并频繁写入事务日志,太大则每个连接用户都扩大,又造成内存浪费。原则是配置

不超过事务完成写入事务日志的长度。

ULCFlushestoXactLogpersecperxactcount%oftotal

各种类型导致写入事务日志的次数

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

byFullULC0.00.000.0%

如果%oftotal的值超过20%,考虑增加环境参数“userlogcachesize”的值。

byEndTransaction11.81.0709595.5%

以显式或隐式的rollback或commit标志事务结束。值大表示有很多短小事务。

byChangeofDatabase0.00.0120.2%

如果值大,考虑减低ULC中大于2K的缓冲池,降低或去除大块I/O池。

bySystemLogRecord0.50.03214.3%

其%oftotal值大于20%并且ULC长度大于2048,考虑降低ULC的长度。

byOther0.00.000.0%

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

TotalULCFlushes12.41.17428

单元六:索引管理

命令行:sp_sysmon“00:10:00”,indexmgmt

结果:

IndexManagement(索引管理)

索引可以加速数据检索,但同时又降低了更新的性能。

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

NonclusteredMaintenancepersecperxactcount%oftotal

非聚簇索引维护情况:报告因为插入、删除、修改、页分裂等造成的索引维护次数。

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

Ins/UpdRequiringMaint0.00.00n/a

影响索引的插入和修改的操作数,需要维护非聚簇索引。对于插入,有多少非聚簇索引,就需要增加多少

索引维护的开销;对于修改,则只对相关的索引进行维护。

#ofNCNdxMaint0.00.00n/a

因为插入和修改需要对多少非聚簇索引进行维护。

DeletesRequiringMaint0.00.00n/a

#ofNCNdxMaint0.00.00n/a

影响索引的删除操作次数,以及需要维护的非聚簇索引数。

RIDUpdfromClustSplit0.00.00n/a

在APL(全页锁)的聚簇索引表发生页分裂次数,相应需要进行索引维护。

#ofNCNdxMaint0.00.00n/a

页分裂后对应的索引维护次数。

Upd/DelDOLReqMaint0.00.00n/a

DOL表发生影响索引的修改删除操作次数。

#ofDOLNdxMaint0.00.00n/a

对应索引维护次数。

PageSplits0.00.00n/a

包括数据页、聚簇索引页和非聚簇索引页因为插入新行没有足够空间单元导致页分裂。页分裂造成修改索

引页、修改页指针、增加锁资源争夺等从而降低性能。

如果页分裂度高(次数多),而又是对全页加锁表进行插入操作,并且表有组合键的聚簇索引,这时可通

过改变那些索引的页分裂点来减少页分裂,即是说组合键的第一个键表中在用,第二个键列值按升序排列;

也可考虑用fillfactor的合适配置来降低在聚簇索引的APL表的数据页以及非聚簇索引的叶子数据页上的

页分裂。

建议对表插入行按照升序插入方式,这样发生页分裂点也是在插入行点而不是在页中间,这样能够提高性

能。通过dbcctune(ascinserts,1,\"表名\")设置插入方式,0反之。

如果索引维护量大,会因为维护需要额外的进程、额外的I/O、额外的索引页锁从而影响性能。可以通过

对比不同操作次数与导致的维护次数,如果维护次数很多,还发生页分裂、retries等现象,严重时可考虑

不用索引。

单元七:锁管理

命令行:sp_sysmon“00:10:00”,locks

结果:

LockManagement(锁管理)

报告锁、死锁、锁提升和锁争夺的情况

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

LockSummary(锁概述)persecperxactcount%oftotal

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

TotalLockRequests26.12.215676n/a

总共的锁请求

AvgLockContention0.00.000.0%

平均锁争夺

DeadlockPercentage0.00.000.0%

死锁出现的比例

LockHashtableLookups26.12.215677n/a

对hash表的表、页、行锁的查询次数。

AvgHashChainLengthn/an/a0.00038n/a

Hash链平均长度:采样期间每个矢志的意思 hash桶的平均加锁数目。如果每个hash链超过4个锁,可用参数“lock

hashtablesize”调整扩大加锁hash表的大小,尤其是大型bcp可配置更大。

LockDetailpersecperxactcount%oftotal

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

对于各种类型的锁细节,重点查看其立即授予和等待情况。

LastPageLocksonHeaps堆表最后页锁

Granted13.61.28189100.0%

Waited0.00.000.0%

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

TotalLastPgLocks13.61.28189100.0%

如果堆表最后一页锁的争夺激烈(尤其是热对象的等待时间过长),考虑建立聚簇索引,或者表分区来解

决锁资源争夺问题。

DeadlocksbyLockTypepersecperxactcount%oftotal

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

TotalDeadlocks0.00.00n/a

死锁出现次数。当很多事务同时访问同一个数据库时,会加剧锁资源争夺,严重时事务之间会发生死锁。

可用sp_object_stats查明死锁位置。该过程报告资源争夺最激烈的10张表、一个数据库中资源争夺的

表和单个表的争夺情况。语法为sp_object_statsinterval[,top_n

[,dbname[,objname[,rpt_option]]]],查看锁争夺情况只需设置interval为“hh:mm:ss”。如果

显示每种锁的争夺程度超过15%,应该改变加锁方式,比如表的全页锁改成数据页锁,数据页锁改成数据

行锁等。

DeadlockDetection死锁检测

DeadlockSearches0.00.00n/a

死锁检测次数。死锁检测将特花费时间,如果检测次数过多,用参数“deadlockcheckingperiod”(缺省

500ms)调节死锁检测周期。

LockPromotions锁提升

TotalLockPromotions0.00.00n/a

锁提升指排它页锁到排它表锁、共享页锁到共享表锁、排它行锁到排它表锁、共享行锁到共享表锁、共享

next_key锁到共享表锁。查看锁提升是否加剧了锁争夺或死锁发生,如果锁争夺激烈并且锁提升频繁,

考虑调整锁的隔离级别,对全页锁表,需要2级也可强制为3级。

LockTimeoutsbyLockTypepersecperxactcount%oftotal

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

TotalTimeouts0.00.00n/a

单元八:数据cache管理

命令行:sp_sysmon“00:10:00”,dcache

结果:

DataCacheManagement(数据cache管理)

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

报告数据cache的自旋锁争夺、cache应用、cache击中错失、配置缓冲池的翻转、清洗缓存(包括

脏页)、预取的请求与拒绝、读脏页请求等情况。

CacheStatisticsSummary(AllCaches)

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

persecperxactcount%oftotal

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

CacheSearchSummarycache的击中和错失次数

TotalCacheHits18.61.61117189.9%

TotalCacheMi自古英雄出少年下一句 sses2.10.2125110.1%

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

TotalCacheSearches20.71.812422

CacheTurnover

BuffersGrabbed0.20.0102n/a

缓存掠夺。Count表示cache缓存块链中从LRU末端取走的缓存块次数。

BuffersGrabbedDirty0.00.000.0%

脏页掠夺。在从LRU末端取走脏页时必须等待将脏页写回磁盘。如果其值非零,可找出是什么cache受

到影响,这事关cache的击中性能问题。

CacheStrategySummarycache策略(对所有的朱厚照 cache)

Cached(LRU)Buffers19.81.711880100.0%

报告有多少cache中的缓存块放置到MRU/LRU链的头部。

Discarded(MRU)Buffers0.00.000.0%

报告多少缓存块采用了获取-丢弃策略,缓存块用过以后被放到缓存块链的刷洗标记处。

LargeI/OUsage

0.00.00n/a

大块I/O请求使用次数,这里没有设置大块I/O,故均为0值,也没有其授权或拒绝使用情况。

LargeI/OEffectiveness

大块I/O的使用效果,百分比值低表示很少的页被带入cache供查询使用,可进一步查看单个cache的

使用情况。

PagesbyLrgI/OCached0.00.00n/a

通过涉及的页数衡量性能是否有益。低的百分比值意味着表的存贮结构很碎,或是不恰当的cache配置策

略。

AsynchronousPrefetchActivity

0.00.00n/a

异步预取情况可结合磁盘I/O管理查看。可看参数“globalasyncprefetchlimit”。

OtherAsynchronousPrefetchStatistics

APFsUsed0.00.00n/a

异步预取合格的页数。

APFWaitsforI/O0.00.00n/a

进程等待异步预取完成的次数。表示查询需要的页没有尽早地完成异步预取,这样进程处于等待状态。出

现一定的百分比是合理的:查询的首次异步预取请求通常需要等待;每次的顺序扫描移动到新的分配单元

时发出预取请求,查询必须等待第一次的I/O结束;每次非聚簇索引扫描找到合适的行集,也会发出对页

的预取请求,也要等待第一次的页返回。

APFDiscards0.00.00n/a

报告已经被异步预取读入但在使用之前就被放弃的页数。如果其值高,建议增加缓冲池的尺寸单位(比如

从2K增加4K、8K、16K的缓冲池)以改善性能,或者表示预取进入cache的很多页并不为查询所需要。

DirtyReadBehavior

PageRequests0.00.00n/a

隔离级为0的脏读请求的页数。

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

Cache:defaultdatacache缺省数据cache的情况:

persecperxactcount%oftotal

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

SpinlockContentionn/an/an/a0.0%

自旋锁只对SMP环境有用。当一个用户任务对cache的修改完成之前,其它任务将不能访问该cache而

只有等待。虽然自旋锁驻留时间短,但对于高事务率的多处理器系统的性能依然有不好影响,如果自旋锁

比例超过10%,应考虑建立命名cache或者是增加cache分片。

Utilizationn/an/an/a100.0%

下面是cache检查的具体情况:

CacheSearches

CacheHits18.61.61117189.9%

FoundinWash1.10.16776.1%

CacheMisses2.10.2125110.1%

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

TotalCacheSearches20.71.812422

PoolTurnover

2KbPool

LRUBufferGrab0.20.0102100.0%

GrabbedDirty0.00.000.0%

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

TotalCacheTurnover0.20.0102

BufferWashBehavior

StatisticsNotAvailable-NoBuffersEnteredWashSectionYet

CacheStrategy

Cached(LRU)Buffers19.81.711880100.0%

Discarded(MRU)Buffers0.00.000.0%

LargeI/OUsage

TotalLargeI/ORequests0.00.00n/a

LargeI/ODetail

NoLargePool(s)InThisCache

DirtyReadBehavior

PageRequests0.00.00n/a

单元九:内存管理

命令行:sp_sysmon“00:10:00”,memory

结果:

MemoryManagement(内存管理)

persecperxactcount%oftotal

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

PagesAllocated0.00.013n/a

PagesReleased0.00.013n/a

内存中分配一个新页的次数(相当于分配新页数),以及释放内存的页数。

单元十:磁盘I/O管理

命令行:sp_sysmon“00:10:00”,diskio

结果:

DiskI/OManagement(磁盘I/O管理)

-------------------报告server总体磁盘I/O行为,包括读、写和逻辑设备上的semaphore争夺。

MaxOutstandingI/Ospersecperxactcount%oftotal

最大显著I/O数:server总体开销的最大I/O数,分别通过server和引擎表示。

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

Servern/an/a10n/a

Engine0n/an/a10n/a

I/OsDelayedby

系统遇到I/O延迟问题,类似于I/O被server或操作系统限制阻塞一样。多数操作系统都有一个参数限

制异步I/O数。可用sp_configure查看参数“allowsqlserverasynci/o”。

DiskI/OStructuresn/an/a0n/a

达到磁盘I/O结构极限从而被延迟的I/O数。当server超过了可用磁盘I/O的控制块数,I/O就会被延

迟,因为server在开始一个I/O请求时需要通过任务来得到一个磁盘I/O控制块。如果其值非零,通过

设置增加参数值“diski/ostructures”(缺省256)来增加磁盘I/O控制块数,如果操作系统允许尽可能

设置大一些,以使用光磁盘I/O结构的机会降到最小。

ServerConfigLimitn/an/a0n/a

用参数“maxasynci/osperserver”(缺省2147483647)进行调整server一次所用异步磁盘I/O请

求数。

EngineConfigLimitn/an/a0n/a

引擎配置最大异步磁盘I/O请求数限制,用参数“maxasynci/osperengine”查看和调整。

OperatingSystemLimitn/an/a0n/a

操作系统的限制数查看操作系统文档。

DeviceActivityDetail

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

D诸葛诞 evice:

masterpersecperxactcount%oftotal

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

Reads

APF0.00.000.0%

Non-APF0.20.010278.5%

Writes0.00.02821.5%

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

TotalI/Os0.20.01301.5%

DeviceSemaphoreGranted0.20.0130100.0%

DeviceSemaphoreWaited0.00.000.0%

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

更多推荐

SYSMON是什么意思MON在线翻译读音例句