由于监控及报告需要,要统计性能计数器每天数值情况,确认数据库服务器的运行状况。若打开计数器填写,比较麻烦,现在统计用 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)记录并汇总计算相关推荐

  1. [20141121]无法通过powershell读取sql server性能计数器问题

    [20141121]无法通过powershell读取sql server性能计数器问题 背景: 全新服务器,需要增加性能监控,发现无法通过powershell读取性能指标 解决方法: Open the ...

  2. Matlab的各种数据读取、文件读写等操作汇总

    Matlab的各种数据读取.文件读写等操作汇总 MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至 ...

  3. python统计英文文章中单词出现的次数并排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...

    Python读取英文文件并记录每个单词出现次数后降序输出示例 发布时间:2020-09-19 23:07:12 来源:脚本之家 阅读:126 作者:菜鸟虫师 本文实例讲述了Python读取英文文件并记 ...

  4. python 英文字符频率统计 采用降序方式输出_Python读取英文文件并记录每个单词出现次数后降序输出示例...

    本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...

  5. python英文单词及其出现次数-Python读取英文文件并记录每个单词出现次数后降序输出示例...

    本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...

  6. mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录

    一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢,下面我们来看mysql千万级数据库插入速度和读取速度的调整记录吧. (1)提高数据库插入性能中心思想:尽量将数据 ...

  7. python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...

    本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...

  8. 使用PowerShell读取文件数据

    We have some custom files that we receive from different providers and for these situations we are u ...

  9. QQ 正在尝试读取你的浏览记录?这是“火绒拦截腾讯产品,腾讯道歉”的历史重现吗?

    QQ 正在尝试读取你的浏览记录 近日,一篇题目为<QQ 正在尝试读取你的浏览记录>引发了网友们广泛关注,内容是网友 @mengyx 在使用 QQ 时,为了防止一些流氓行为,特地去的 MS ...

最新文章

  1. 软文的作用真的有那么神奇吗?
  2. Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com
  3. [翻译] - Inside SQL Server 2000's Memory Management Facilities
  4. N叉树的深度 python实现
  5. 【收藏】Linux 运维必备的 40 个命令总结
  6. Java分析股票涨跌走势
  7. 《从单体迈向 Serverless 的避坑指南》
  8. Python二级笔记(9)
  9. 100以内偶数的个数_【数学杂谈】如何记住1000以内的所有质数?
  10. ASP.NET中调用Excel的问题
  11. 如何在GO语言中使用Kubernetes API?
  12. 软件实习周软件设计报告
  13. 详解native方法的使用
  14. jQuery print 去掉页眉页脚
  15. linux基本命令学习
  16. Conner Case
  17. 打造智能化的园区管理系统
  18. redis主从,哨兵模式配置
  19. 漏洞修复:Cookie Security: HTTPOnly not Set on Application Cookie
  20. scratch设计跑酷游戏_我如何使用Scratch设计游戏

热门文章

  1. 关键路径例题图表_详解关键路径法,这可能是你能找到的最详尽的了
  2. python 根据TIN查询点云坐标
  3. 为什么很多年轻人说不清楚自己的堂号郡望?家谱修编做好这一点,提高家族凝聚力!
  4. 关于数据仓库、数据湖、数据平台和数据中台的概念和区别
  5. 加强立法规制个人信息滥用
  6. 计算机图形基础学答案,计算机图形学基础答案全.pdf
  7. 【数据结构】红黑树入门知识
  8. 基于Java解惑(站长百科)阅读笔记
  9. 无绿幕实景抠图、AI抠图
  10. 广西大学考计算机可以拿创新学分吗,广西大学创新实践学分实施办法