热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3.sybase笔记——监控

启动监控MonitorTables主要存储一些监控信息(当前运行的SQL,IO统计信息,当前进程情况)比如monDevic

 

 


  1. 启动监控

Monitor Tables主要存储一些监控信息(当前运行的SQL,I/O统计信息,当前进程情况)比如monDeviceIO表(select * from monDeviceIO),存储了DISK IO有关的信息。 Monitor表默认是不安装的,需要运行installmontables 脚本来安装。 installmontables 脚本可以在sybase_HOME/scripts目录下找到, C:\dbserver\sybase15\ASE-15_0\scripts.

几点说明

(1) 所有系统表都是只读的,因为他们都在内存中

(2)只有有mon_role角色的用户可以查询这些表
2. Sybase中有哪些Monitor talbes
可以用一下SQL查询出
>>>select * from master..monTables ORDER BY TableName

3. 修改monitoring相关配置
基于性能上的考虑,有些Monitor功能默认没有启用,需要另外执行命令启用, 用

sp_configure Monitoring可以找出所有Monitor相关的参数

用sp_configure Monitoring修改

比如要启用

>>>sp_configure 'enable monitoring',1

>>>sp_configure 'sql text pipe active',1

>>>sp_configure 'sql text pipe max messages',1

(2) 直接修改SYBASE_HOME目录下的 文件
找到Monitor段

[Monitoring]

enable monitoring = DEFAULT

sql text pipe active = DEFAULT

sql text pipe max messages = DEFAULT

plan text pipe active = DEFAULT

plan text pipe max messages = DEFAULT

statement pipe active = DEFAULT

statement pipe max messages = DEFAULT

errorlog pipe active = DEFAULT

errorlog pipe max messages = DEFAULT

deadlock pipe active = DEFAULT

deadlock pipe max messages = DEFAULT

wait event timing = DEFAULT

process wait events = DEFAULT

object lockwait timing = DEFAULT

SQL batch capture = DEFAULT

statement statistics active = DEFAULT

per object statistics active = DEFAULT

max SQL text monitored = DEFAULT

performance monitoring option = DEFAULT

enable stmt cache monitoring = DEFAULT


  1. sp_sysmon

sp_sysmon 报告包含大量独立的部分。您可以运行 sp_sysmon 来生成 完整报告或仅生成某个独立的部分。您还可以指定报告应运行的时 间间隔,或在所需时间段开始和结束时亲自执行存储过程。

sp_sysmon 仅报告采样周期内的监控数据。请确保根据有代表性的数 据做出调优决策。例如,为了对螺旋锁进行调优,应根据峰值利用 率报告中的数据做出决策。但是,应根据大量代表典型和峰值负载 的样本来做出减少引擎数的决策。

sp_sysmon "internal","model"

internal是监视时间。例如:"00:01:00"

model是模块的名称。包括'kernel','wpm','parallel','taskmgmt','appmgmt','esp','housekeeper','monaccess','xactsum','xactmgmt','indexmgmt','mdcache','locks','dcache','pcache','memory','recovery','diskio','netio'

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)

通过sp_sysmon对Adaptive Server系统运行情况有一个全面系统了解,有利于更好地熟悉系统性能,更为有效地进行系统管理,合理地利用和配置系统资源,达到系统性能调优的目的。

 

 

 

 


  1. sp_monitor

稍为详细一些的用法帮助见下:(极详细的用法帮助请再在后面加上",all")

 sp_monitor 'help'

 go

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

 

 

 

 

 

 


  1. sp_showoptstats 查看统计信息和直方图

Adaptive Server 包括 sp_showoptstats,其功能与 optdiag 独立实用程序类 似,用于提取和在 XML 文档中显示系统表(如 systabstats 和 sysstatistics) 中各种类型的数据对象的统计信息和直方图。语法为:

sp_showoptstats [dbname[.owner[.[table_name] ] ] ], [.column], [option]

请参见《Adaptive Server 参考手册:过程》中的 sp_showoptstats。


  1. sp_configure

查看或配置系统参数。

 


  1. sp_lock

 

 


  1. sp_who

 


  1. sp_procqmode

 


  1. sp_estspace

 

 


  1. sp_cacheconfig

 

 

 


  1. Sybase DBCC用法

DBCC是一个实用命令集,用来检查一个数据库的逻辑一致性及物理一致性。在开发和应用中,DBCC是我们经常要使用的命令。


  1. ISQL工具

指令

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. 输出状态报告

sp_reportstats

监视配置参数的运行情况

sp_monitorconfig "open objects"

 

 


  1. 所有可用监控表的列表

select TableName from master..monTables

查询其中一个

select * from master..monEngine

go

若要列出特定监控表中的列,请输入:

select ColumnName, TypeName, Length, Description from master..monTableColumns

where TableName=”monProcessSQLText”

通过在 where 子句中替代任一监控表的名称并运行查询,您可以确 定此监控表中存在哪些列。


  1. 最消耗 CPU

若要确定当前执行的查询中哪些最消耗 CPU 并列出这些查询的文 本,请输入:

select s.SPID, s.CpuTime, t.LineNumber, t.SQLText

from master..monProcessStatement s, master..monProcessSQLText t where s.SPID = t.SPID

order by s.CpuTime DESC


  1. 高速缓存的命中率

若要确定 Adaptive Server 生存周期内的过程高速缓存的命中率,请 输入:

select "Procedure Cache Hit Ratio" = (Requests-Loads)*100/Requests from master..monProcedureCache

以下查询还提供数据高速缓存的命中率。在此示例中,命中率是针 对 10 分钟的间隔计算的,而不是针对服务器的整个生存周期:

select * into #moncache_prev from master..monDataCache waitfor delay "00:10:00" select * into #moncache_cur from master..monDataCache select p.CacheName,

"Hit Ratio"=((c.LogicalReads-p.LogicalReads) - (c.PhysicalReads - p.PhysicalReads))*100 / (c.LogicalReads - p.LogicalReads)

from #moncache_prev p, #moncache_cur c where p.CacheName = c.CacheName

若要计算特定采样期间的性能指标,请创建一个基线表,用以存储 采样期间开始时的监控值。可以通过从采样期间结束时的值中减去 基线值,来计算采样期间监控值的更改。

使用以下示例中的查询可计算数据高速缓存的命中率、创建基线、 计算采样期间的活动量。

 

若要创建一个存储过程,用以输出已执行的 SQL 以及当前执行存储过程的所有进程的反馈,请输入:

create procedure sp_backtrace @spid int as begin

select SQLText

from master..monProcessSQLText where SPID=@spid

print "Stacktrace:"

select ContextID, DBName, OwnerName, ObjectName from master..monProcessProcedures

where SPID=@spid end

若要确定用于 dbid 5、对象 ID 1424005073 的数据库中的表的 任何索引,请输入:

select DBID, ObjectID, LastUsedDate, UsedCount from master..monOpenObjectActivity

where dbid=5 and ObjectID=1424005073 and IndexID > 1

若要确定可否删除不被在服务器上运行的应用程序使用的索引,请 执行以下操作:

a 在访问相关表的应用程序中运行所有查询。确保 Adaptive Server

运行足够长时间,以便所有应用程序都执行其 select

b 若要确定您的应用程序是否未在数据库中使用任何索引,请执行:

select DB = convert(char(20), db_name()),

TableName = convert(char(20), object_name(i.id, db_id())), IndexName = convert(char(20),i.name),

IndID = i.indid

from master..monOpenObjectActivity a, sysindexes i

where a.ObjectID =* i.id and a.IndexID =* i.indid

and (a.UsedCount = 0 or a.UsedCount is NULL) and i.indid > 0

and i.id > 99 -- No system tables order by 2, 4 asc

 

 

 

 

 

 

 


推荐阅读
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • iOS如何实现手势
    这篇文章主要为大家展示了“iOS如何实现手势”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本文介绍了如何在C# WinForms应用程序中通过自定义绘制实现圆形按钮的方法,适合初学者参考。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 本文探讨了在 APICloud 平台使用 execScript 方法时如何正确传递对象参数,并提供了详细的示例和解释。 ... [详细]
author-avatar
mobiledu2502872825
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有