当前位置:三九宝宝网 → 宝宝百科 → 宝宝知识 → 正文

利用typeperf工具收集SQLServer性能数据

更新:11-09 整理:39baobao.com
字体:

[SQLServer在SQLServer数据库中加密数据]为了防止某些别有用心的人从外部访问数据库,盗取数据库中的用户姓名、密码、信用卡号等其他重要信息,在我们创建数据库驱动的解决方案时,我们首先需要考虑的的第一条设计决策就...+阅读

通常DBA在监控和优化SQL Server数据库DBA,都想利用命令行工具。其中经常要做的一件事情,就是收集服务器性能数据,包括CPU ,内存和磁盘利用率以及SQL Server特定数据。这时你就可以利用TypePerf.exe这个命令行工具来帮你捕获这些性能数据。

TypePerf.exe是一个命令行工具,包括把Windows操作系统的性能计数器数据输出到命令窗口或写入到支持该功能的日志文件格式中。

Windows操作系统以对象及其相关联的计数器的形式,提供了非常多的性能数据。例如, SQL Server提供了sqlserver统计对象的详细报告,包括了登录、注销、数据库连接等信息;有些对象摆脱了计数器方式,转化为特定的实例。还是以sqlserver为例:数据库对象详细提供了每一个数据库的数据文件和事务日志文件大小,已使用事务日志的百分比,活动事务等。您可以指定一个单一的数据库或所有数据库结合在一起,作为该实例。

需要提醒的是,在SQL Server实例有个特殊的含义,即命名实例。

作为是典型的命令行工具,typeperf也有许多参数供选择,考试大提示让您根据实际需要进行调整。打开一个命令提示符并输入以下命令:

typeperf -?

您会看到下面的输出:

用法:

typeperf {

-cf

-q [object]

-qx [object]

} [选项]

参数:

要监视的性能计数器。

选项:

-? 显示跟上下文相关的帮助。

-f 输出文件格式。默认值是 CSV。

-cf 含有监视的性能计数器的文件,一个计数器一行。

-si 示例间的时间。默认值是 1 秒。

-o 输出文件或 SQL 数据库的路径。默认值为 STDOUT。

-q [object] 列出已安装的计数器(无范例)。要列出某个对象的计数器,包括对象名,如 Processor。

-qx [object] 列出已安装的计数器(带范例)。要列出某个对象的计数器,包括对象名,如 Processor。

-sc 要收集的示例数量。默认值为,在 CTRL+C 之前都进行采样。

-config 含有命令选项的设置文件。

-s 在计数器路径中没有指定服务器的情况下要监视的服务器。

-y 不用提示对所有问题都回答 yes。

使用typeperf的最终目标,是采用一种可重复的方式来捕捉性能数据。考试大提示例如:指定您选择在一个批处理文件,执行特定操作; 默认情况下该命令执行后,性能数据将输出到命令窗口,您也可以使用- f选项指定一个CSV文件(逗号分隔值) , TSV文件(制表符分隔值)将性能数据输出到指定文件中。

使用typeperf捕捉性能数据之前,我们需要明确哪些性能对象时可用的。采用以下两个选项,您可以获得指定的机器上的性能对象列表:

-q [object] 列出已安装的计数器(无范例)。

-qx [object] 列出已安装的计数器(带范例)。

在上述两个选项中,[object]是可选的参数,如果指定了该参数,将对对象列表进行过滤。默认是显示当前机器上的性能对象,你可以用-s 来指定其他的机器。

输入以下命令可以获得SQL Server缓冲管理器对象的所有技术器列表:

TYPEPERF -q "SQLServer:Buffer Manager"

你可以看到类似以下的输出内容:

SQLServer:Buffer ManagerBuffer cache hit ratio

SQLServer:Buffer ManagerPage lookups/sec

SQLServer:Buffer ManagerFree list stalls/sec

SQLServer:Buffer ManagerFree pages

SQLServer:Buffer ManagerTotal pages

SQLServer:Buffer ManagerTarget pages

SQLServer:Buffer ManagerDatabase pages

SQLServer:Buffer ManagerReserved pages

SQLServer:Buffer ManagerStolen pages

SQLServer:Buffer ManagerLazy writes/sec

SQLServer:Buffer ManagerReadahead pages/sec

SQLServer:Buffer ManagerPage reads/sec

SQLServer:Buffer ManagerPage writes/sec

SQLServer:Buffer ManagerCheckpoint pages/sec

SQLServer:Buffer ManagerAWE lookup maps/sec

SQLServer:Buffer ManagerAWE stolen maps/sec

SQLServer:Buffer ManagerAWE write maps/sec

SQLServer:Buffer ManagerAWE unmap calls/sec

SQLServer:Buffer ManagerAWE unmap pages/sec

SQLServer:Buffer ManagerPage life expectancy 输入以下命令可以获得tempdb这个数据库实例所有的计数器列表:

TYPEPERF -qx "SQLServer:Databases"

FIND "tempdb"

你可以看到类似以下的输出内容:

SQLServer:Databases(tempdb)Data File(s) Size (KB)

SQLServer:Databases(tempdb)Log File(s) Size (KB)

SQLServer:Databases(tempdb)Log File(s) Used Size (KB)

SQLServer:Databases(tempdb)Percent Log Used

SQLServer:Databases(tempdb)Active Transactions

SQLServer:Databases(tempdb)Transactions/sec

SQLServer:Databases(tempdb)Repl. Pending Xacts

SQLServer:Databases(tempdb)Repl. Trans. Rate

SQLServer:Databases(tempdb)Log Cache Reads/sec

SQLServer:Databases(tempdb)Log Cache Hit Ratio

SQLServer:Databases(tempdb)Bulk Copy Rows/sec

SQLServer:Databases(tempdb)Bulk Copy Throughput/sec

SQLServer:Databases(tempdb)Backup/Restore Throughput/sec

SQLServer:Databases(tempdb)DBCC Logical Scan Bytes/sec

SQLServer:Databases(tempdb)Shrink Data Movement Bytes/sec

SQLServer:Databases(tempdb)Log Flushes/sec

SQLServer:Databases(tempdb)Log Bytes Flushed/sec

SQLServer:Databases(tempdb)Log Flush Waits/sec

SQLServer:Databases(tempdb)Log Flush Wait Time

SQLServer:Databases(tempdb)Log Truncations

SQLServer:Databases(tempdb)Log Growths

SQLServer:Databases(tempdb)Log Shrinks

上面这个实例( - x选项)报告了每个SQL Server数据库所包含的所有的SQLServer:Databases对象(所有与数据库相关联的所有实例)的性能计数器。

上面的输出结果,通过FIND管道命令对结果进行过滤,只包含了tempdb数据。

当您正在使用一个命名的SQL Server实例,性能对象将反映的SQL Server实例的名称。例如我的计算机运行的一个实例的SQL Server 2000 Enterprise Edition的是名为sql2000ee ; 则性能对象就被命名为mssql sql2000ee,而不是上面所示的sqlserver。

使用- Q或- qx选项,可以获得性能计数器列表,可以将该列表重定向到一个文本文件(如MyCounters.txt),如果你只想捕获其中几个性能计数器,可以编辑该文件。

TYPEPERF -qx "SQLServer:Databases"

FIND "tempdb" >>MyCounters.txt

本例中我们对MyCounters.txt 文件进行编辑,编辑后的计数器列表如下图所示:

SQLServer:Databases(_Total)DBCC Logical Scan Bytes/sec

SQLServer:Databases(tempdb)Percent Log Used

SQLServer:Buffer ManagerBuffer cache hit ratio

SQLServer:General StatisticsUser Connections

SQLServer:Locks(_Total)Lock Requests/sec

SQLServer:SQL StatisticsBatch Requests/sec

执行typeperf命令行时,带上- CF选项,这样该命令执行时,就将从制定的文本文件中读取计数器列表了。上面这个命令将从MyCounters.txt这个文本文件中读取计数器信息,并显示技术器数值,每隔一秒钟刷新一次。该命令将一直重复执行,直至用户按下了Ctrl+C快捷键。

TYPEPERF -f CSV -o MyCounters.csv -si 15 -cf MyCounters.txt -sc 60

上面这个例子,从MyCounters.txt这个文本文件中读取计数器信息,将技术器数值写入到MyCounter.csv文件中,每隔15秒钟执行一次,共执行60次(15分钟后执行完)。

本文地址:https://www.39baobao.com/show/39_39431.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

无法创建SqlServer数据库的问题最初安装Visual Studio 2008 时还好,不知道什么时候,应该是安装了SQL Server Management Studio Express 以后,Visual Studio 2008 不能连接 SQL Server 2005了。只好重装,可是...

用SqlServer2000的数据库备份来还原SqlServer2005中的数据库现在手中有Sql Server 2000中的数据库备份文件(如果此备份文件没有后缀名*.bak或*.trn,请追加相应的后缀名),欲将此文件还原到Sql Server 2005中,还原时突然报错,为此在网上搜索了...

SQLServersqlplus中host命令出现lsSQL-- 奇怪 sqlplus中 host命令出现lsSQLSQL>hostlsSQL>SQL>SQL>除了lsSQL>提示外,没有什么反应,为什么?当然,退出后重新进入,又可以正常使用HOST命令了.Examda提示产生...

SQLServerweblogic配置连接池问题在配置连接池的时候有时会出现“JDBC driver is not on the CLASSPATH”这是因为我们的创建连接池所需要的驱动相应数据库jar包没有找到比如拿sqlserver2000来举例:创建s...

SQLServer2005配置Windows即时初始化SQL Server 2005支持数据库即时文件初始化(Instant File Initialization),这种即时文件初始化可以跳过清零数据的页面,这样做可以在执行一些操作,比如创建数据库,增加文件到现有...

浅析SQLServer2008企业级新特性微软SQL Server 2008的开发代号是Katmai,这个名字来源于阿拉斯加半岛东端阿拉斯加州北部阿留申山区的一座活火山,对数据库而言,可能并不是个的比喻(嘿嘿,目前为止,Katmai火山还没...

微软SQLServer2008数据库中的新数据类型对于关系型数据库来说,表现树状的层次结构始终是一个问题。微软在SQL Server 2005中首次尝试了解决这个问题,那就是被称之为通用数据表表达式(mon Table Expressions,CTE)的实...

SQLServerSql内存不足探索sql2005 报告内存不足,我们的服务器 16G 内存,根据以往经验,这个够了,但是为什么还报告这个错误?这台服务器连接的Server 比较多,据推断可能与连接的Server 有关系;网上看到sql内...

SQLServer2000工具的中英文互换SQL Server 2000 扩展了 Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性,对于中国用户来说,这是Microsoft SQL Server的第一个全汉化产品,尤其是其强大的联机帮助,为...