PowerShell 读取性能计数器二进制文件(.blg)记录并汇总计算
由于监控及报告需要,要统计性能计数器每天数值情况,确认数据库服务器的运行状况。若打开计数器填写,比较麻烦,现在统计用 powershell 来读取计数器的值。
第一阶段:Powershell 读取计数器文件并统计其中一个计数器的值
$startDate = (Get-Date).AddDays(-1).Date
$endDate = (Get-Date).Date
$perfPath = "D:\DataFiles\PERFMON\MSSQL_PERFMON_08240904.blg"#读取文件中的计数器名称
$counterList = Import-Counter -Path $perfPath
$countersNameList = $counterList[0].countersamples | % {$_.path}#筛选指定计数器和时间重新导入PS
$counter = $countersNameList -like '*Processor Time*'
$counterData = Import-Counter -Path $perfPath -Counter $counter | Where-Object -FilterScript {($_.Timestamp -ge $startDate) -and ($_.Timestamp -lt $endDate)} #计算日期范围内的数值统计
$counterInfo = $counterData | Foreach-Object {$_.CounterSamples} | Measure-Object -property CookedValue -Average -Maximum#哈希表存储结果数据
$resultTable=@{}
$resultTable."CPU 利用率——平均" = $counterInfo.Average
$resultTable."CPU 利用率——最大" = $counterInfo.Maximum$resultTable
第二阶段:批量统计文件中的所有计数器并导出到文件中
$startDate = (Get-Date).AddDays(-1).Date
$endDate = (Get-Date).Date
$perfPath = "D:\360Downloads\*.blg"#哈希表存储结果数据
$resultTable=@{}#导入指定时间的所有计数器信息
$counterData = Import-Counter -Path $perfPath | Where-Object -FilterScript {($_.Timestamp -ge $startDate) -and ($_.Timestamp -lt $endDate)}#所有的计数器名字
$countersNameList = $counterData[0].countersamples | % {$_.Path}#遍历每个计数器,将计算结果存储到哈希表中
foreach($counterName in $countersNameList)
{
#$counterName = "\\hzc\system\threads"
$counterDataOne = $counterData | Foreach-Object {$_.CounterSamples} | Where {$_.Path -like $counterName}
$counterInfo = $counterDataOne | Measure-Object CookedValue -Average -Minimum -Maximum
$resultTable.$($counterName+" :平均值") = $counterInfo.Average
$resultTable.$($counterName+" :最小值") = $counterInfo.Minimum
$resultTable.$($counterName+" :最大值") = $counterInfo.Maximum
}#$resultTable.GetEnumerator() | sort Name | Format-Table -Auto
#几种方法导出到文件
$resultTable.GetEnumerator() | sort Name | Format-Table -Auto | Out-File "D:\360Downloads\PerfmonCounter.txt"
$resultTable.GetEnumerator() | sort Name | Export-Csv -Path "D:\360Downloads\PerfmonCounter.txt" -Encoding "unicode" -Force
$resultTable.GetEnumerator() | sort Name | Format-List | Export-Csv -Path "D:\360Downloads\PerfmonCounter.xlsx" -Encoding "unicode" -Force
PowerShell 读取性能计数器二进制文件(.blg)记录并汇总计算相关推荐
- [20141121]无法通过powershell读取sql server性能计数器问题
[20141121]无法通过powershell读取sql server性能计数器问题 背景: 全新服务器,需要增加性能监控,发现无法通过powershell读取性能指标 解决方法: Open the ...
- Matlab的各种数据读取、文件读写等操作汇总
Matlab的各种数据读取.文件读写等操作汇总 MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至 ...
- python统计英文文章中单词出现的次数并排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
Python读取英文文件并记录每个单词出现次数后降序输出示例 发布时间:2020-09-19 23:07:12 来源:脚本之家 阅读:126 作者:菜鸟虫师 本文实例讲述了Python读取英文文件并记 ...
- python 英文字符频率统计 采用降序方式输出_Python读取英文文件并记录每个单词出现次数后降序输出示例...
本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...
- python英文单词及其出现次数-Python读取英文文件并记录每个单词出现次数后降序输出示例...
本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...
- mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录
一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢,下面我们来看mysql千万级数据库插入速度和读取速度的调整记录吧. (1)提高数据库插入性能中心思想:尽量将数据 ...
- python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...
- 使用PowerShell读取文件数据
We have some custom files that we receive from different providers and for these situations we are u ...
- QQ 正在尝试读取你的浏览记录?这是“火绒拦截腾讯产品,腾讯道歉”的历史重现吗?
QQ 正在尝试读取你的浏览记录 近日,一篇题目为<QQ 正在尝试读取你的浏览记录>引发了网友们广泛关注,内容是网友 @mengyx 在使用 QQ 时,为了防止一些流氓行为,特地去的 MS ...
最新文章
- 软文的作用真的有那么神奇吗?
- Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com
- [翻译] - Inside SQL Server 2000's Memory Management Facilities
- N叉树的深度 python实现
- 【收藏】Linux 运维必备的 40 个命令总结
- Java分析股票涨跌走势
- 《从单体迈向 Serverless 的避坑指南》
- Python二级笔记(9)
- 100以内偶数的个数_【数学杂谈】如何记住1000以内的所有质数?
- ASP.NET中调用Excel的问题
- 如何在GO语言中使用Kubernetes API?
- 软件实习周软件设计报告
- 详解native方法的使用
- jQuery print 去掉页眉页脚
- linux基本命令学习
- Conner Case
- 打造智能化的园区管理系统
- redis主从,哨兵模式配置
- 漏洞修复:Cookie Security: HTTPOnly not Set on Application Cookie
- scratch设计跑酷游戏_我如何使用Scratch设计游戏