Casually measuring disk throughput with antimalware enabled and disabled
I wanted to test the relative performance of two drives on a Windows 10 machine and get a feel for how much overhead my anti-virus products cost me. To that end, I created a program to copy in different combinations between the two drives. I ran that test with different Anti-Malware versions and configurations
From the README.md on GitHub
The Program
1. It takes the names of two directories
2. It creates the number of files that you specify of a size you specify in both of the directories passed in.
1. You want big numbers for both. The default is 10,000 files of 200,000B each.
3. It copies the large number of files in the 4 possible source/destination pair combinations.
4. It writes the timings to the console and deletes the test files.
In my case I ran a couple different variations to see what was happening
1. Drive A anti-malware enabled . Drive B anti-malware enabled
2. Drive A anti-malware enabled . Drive B anti-malware disabled
3. Drive A anti-malware disabled . Drive B anti-malware enabled
4. Drive A anti-malware disabled . Drive B anti-malware disabled
Sample Program
The Windows Powershell script is on GitHub
Antimalware Enabled Timing
This test was run with Microsoft AntiVirus enabled on both c:\tmp and d:\tmp
Antimalware Disabled Timing
This test was run with Microsoft AntiVirus disabled on both c:\tmp and d:\tmp.
Click to Expand |
Antimalware Enabled during Data Creation
Notice here that antimalware service is using 19% of the CPU.
Click to Expand |
Antimalware Disabled during Data Creation
Antimalware doesn't show up after we disable it on c:\tmp and d:\tmp
Antimalware Enabled during Copy
We can see here that we are CPU bound. We can be comfortable that the scanning is impacting throughput.
Click to Expand |
Antimalware Disabled during Copy
As expected, the CPU is now at 23% instead of 100%
Comments
Post a Comment