Skip to content

Instantly share code, notes, and snippets.

@lisysolution
Last active October 15, 2016 08:25
Show Gist options
  • Save lisysolution/fbe1a26dd024998087693fda25e8b319 to your computer and use it in GitHub Desktop.
Save lisysolution/fbe1a26dd024998087693fda25e8b319 to your computer and use it in GitHub Desktop.
파워쉘 - Disk 성능 측정
# Win32_PerfRawData_PerfDisk_LogicalDisk member list
# $disk = Get-WmiObject -class Win32_PerfRawData_PerfDisk_LogicalDisk -filter "name='_total'"
# $disk | Get-Member
$numRep=20
$Sleep=2
for ($i=1; $i -le $numRep; $i++)
{
$Disk = Get-WmiObject -class Win32_PerfRawData_PerfDisk_LogicalDisk -filter "name= 'G:' "
[Double]$T1 = $Disk.TimeStamp_Sys100NS
[Double]$Idle1 = $Disk.PercentIdleTime
[Double]$DiskTime1 = $Disk.PercentDiskTime
[Double]$DiskTimeRead1 = $Disk.PercentDiskReadTime
[Double]$DiskTimeWrite1 = $Disk.PercentDiskWriteTime
[Double]$DiskSecPerTransfer1 = $Disk.AvgDisksecPerTransfer
[Double]$DiskSecPerRead1 = $Disk.AvgDisksecPerRead
[Double]$DiskSecPerWrite1 = $Disk.AvgDisksecPerWrite
start-Sleep $Sleep
$Disk = Get-WmiObject -class Win32_PerfRawData_PerfDisk_LogicalDisk -filter "name= 'G:' "
[Double]$T2 = $Disk.TimeStamp_Sys100NS
[Double]$Idle2 = $Disk.PercentIdleTime
[Double]$DiskTime2 = $Disk.PercentDiskTime
[Double]$DiskTimeRead2 = $Disk.PercentDiskReadTime
[Double]$DiskTimeWrite2 = $Disk.PercentDiskWriteTime
[Double]$DiskSecPerTransfer2 = $Disk.AvgDisksecPerTransfer
[Double]$DiskSecPerRead2 = $Disk.AvgDisksecPerRead
[Double]$DiskSecPerWrite2 = $Disk.AvgDisksecPerWrite
$DiffTime = $T2 - $T1
"$i"
$PercentIdleTime =(($Idle2 - $Idle1) / $DiffTime) * 100
$PercentDiskTime =(($DiskTime2 - $DiskTime1) / $DiffTime) * 100
$PercentDiskTimeRead =(($DiskTimeRead2 - $DiskTimeRead1) / $DiffTime) * 100
$PercentDiskTimeWrite =(($DiskTimeWrite2 - $DiskTimeWrite1) / $DiffTime) * 100
$DiskSecTransfer =($DiskSecPerTransfer2 - $DiskSecPerTransfer1) / $DiffTime
$DiskSecRead =($DiskSecPerRead2 - $DiskSecPerRead1) / $DiffTime
$DiskSecWrite =($DiskSecPerWrite2 - $DiskSecPerWrite1) / $DiffTime
"`t Idle Time = " + "{0:n2}" -f $PercentIdleTime
"`t Disk Time = " + "{0:n2}" -f $PercentDiskTime
"`t Disk Time Read = " + "{0:n2}" -f $PercentDiskTimeRead
"`t Disk Time Write = " + "{0:n2}" -f $PercentDiskTimeWrite
"`t AvgDisksecPerTransfer = " + "{0:n2}" -f $DiskSecTransfer
"`t AvgDisksecPerRead = " + "{0:n2}" -f $DiskSecRead
"`t AvgDisksecPerWrite = " + "{0:n2}" -f $DiskSecWrite
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment