热门标签 | 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

 

 

 

 

 

 

 


推荐阅读
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 深入解析三大范式与JDBC集成
    本文详细探讨了数据库设计中的三大范式,并结合Java数据库连接(JDBC)技术,讲解如何在实际开发中应用这些概念。通过实例和图表,帮助读者更好地理解范式理论及其在数据操作中的重要性。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
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社区 版权所有