We’re migrating product documentation to docs.vmware.com, starting with Carbon Black Cloud. Learn more.

CBPTest Tool - Disk Performance Testing Tool

CBPTest Tool - Disk Performance Testing Tool

CBPTest Tool is a replacement for the BIT9 SQLIO tool used in the past.



1. Download CbPTest-v3.zip and unzip the on the Cb Protection server.


2. Folder Contents

     CbPTest-v3.ps1 (SHA256 - 3e6a31d1fd54167a7f718dbb2b1ae1fc10b83a87d404aa305469528acfac8fc1)

     diskspd.exe (SHA256 - e45f8f85fd7ab783251c987d763bbec42b0431fee633d5635f696aa0bc61baee)

NOTE: Both files must be in the same folder in order for the test to run correctly.


3. Running the Test

     To run the test, just type the path and filename for CbPTest-v3.ps1 in an Admin PowerShell window. The test requires 60GB of free space on the test drive.

          (The test takes 21 minutes 30 seconds to run and it will look like the output below)


4. The Results

     The results will appear at the end of the command in the PowerShell window. Please copy the results to your Carbon Black Technical Services Consultant for validation.


Version Notes for Version 3

  • Greatly simplified the interface
  • Greater reliability on SAN storage without running multiple test files
  • Support for testing new storage media
  • Removed the need to edit a config or batch file
  • Compiled schema into executable, reducing files to two
  • Used latest version of diskspd.exe from Microsoft (June 2018 release)
  • Improved accuracy on multiple mediums
  • Expanded Random tests to serve as qualifier for PCI-E flash (database index) validation
  • Added parser to display the critical results on screen, eliminating the need to review the entire output files (results1.txt, results2.txt, results3.txt)
Labels (1)

The new version up now has methods to ensure we are not getting caught in caching and should be much more accurate across a number of platforms.

Release notes for version 2.0.0195

-Data schema changed to closely reflect Protection v8

-Multiple flags changed

-Size of test files changed

-Number of test files changed

-Timing of tests changed

-Read test changed to truly random

-Settings changed to ensure caching does not interfere whether it be local disk, SAN, or iSCSI

-Test also works reliably on PCI-E flash and Intel Optane

-SAN results are much more reliable and accurate

How would I use this in a two tiered model? My SQL server is a shared cluster. Would I run this from the SQL node that is currently hosting the target instance?

Yes.  It is designed to test the throughput of the HDDs that will store the DB.

Hey dhutt and mlarsen,

Any chance the Cb Protection v8.0.0 Operating Environment Requirements and Cb Protection v8.0.0 SQL Server Configuration documents can be updated?

I did everything I could to prepare for our new server and stumbled upon this at the 11th hour.


Hey dhutt and mlarsen,

The Cb Protection v8.0.0 - Operating Environment Requirements​ says:

When PCIe Flash storage is used, the database should be partitioned so that indexes go to the flash storage partition, and all other files (data + log + temp) go to the single large DAS partition.

Should both locations be tested and meet the minimums from the requirements listed on Page 15 of Bit9 Security Platform v7.2.3 - SQL Server Configuration for Bit9SqlIo?


You are very timely in this request, I am staring at a draft of an updated version of the OER for 8.x and the CBPTest tool gets the proper air time it deserves.

Noted on the SQL Server Configuration document, tickets will be filed.

Sincere appreciation for this type of feedback, thank you.

Just the dB partition.

Thanks bjswope​, I was concerned because our server was built to spec (though originally without the Flash memory) and the test only indicated support for about 700 endpoints (we have 20k). The Flash tests out at over 40k.

Hey dhutt​ I just wanted to comment:

The Virident Flash that the Cb Protection v8.0.0 - Operating Environment Requirements recommends, is as best I can tell, IMPOSSIBLE to find.


Hi, dhutt

As shown in your screen shots above (should be updated to show current names but most will surely understand) I am using CBPTest-v2.bat. So from an elevated cmd prompt I type cbptest-v2 and hit enter. The test runs but usually much longer than stated.

Here are the contents of the batch file:

::Version v2.0.0195


::The following test is designed to test disk performance for Carbon Black Enterprise Protection.

::Do not change ANY of the parameters except the disk location. These parameters are set to

::emulate Carbon Black Enterprise Protection's normal operations.


::Note that 50GB of free space is required to run the test properly.


::The one field to modify on each line is the t:\CBP????.dat to determine the drive being tested



::Sequential Write Test - modify the drive letters if you are testing any drive other than t:

diskspd -W60 -c6G -d600 -D1000 -x -F1 -L -h -o1 -s40k -b40k -w100 -C2 t:\CBPSW1.dat t:\CBPSW2.dat>>.\Results.txt

::Random Read Test - Again, modify the driver letters if you are testing any drive other than t:

diskspd -W15 -c300b -d300 -D1000 -x -r -F1 -L -o4 -b8k -r -w25 -r75 -z -C2 t:\CBPRR1.dat t:\CBPRR2.dat t:\CBPRR3.dat t:\CBPRR4.dat >>.\Results.txt

::Random Write Test - Again, modify the driver letters if you are testing any drive other than t:

diskspd -W15 -c32k -d300 -D1000 -x -r -F1 -L -o16 -b8k -r -w75 -r25 -z -C2 t:\CBPRR1.dat t:\CBPRR2.dat t:\CBPRR3.dat t:\CBPRR4.dat >>.\Results.txt


Hey cool_breeze​,

Thanks for calling this out, the testing should take less 30 minutes complete. Once we introduce v3 (out soon, once I have a date I will update the thread) I will get that instruction updated with a more accurate estimate.


It looks like the CbTestfile.bin was not included in the download? Please see attached screenshot of the error that was produced when trying to run cbptest-v3.ps1 . The script was directly downloaded from the community download link here

Found the typo. Problem is resolved. 
CbTest Error.PNG

cbptest-v3.ps has fixed file size 59GB for CbTestFile.bin. How can we run this benchmark on smaller environment? <=100EP require only 20GB DB storage for SQL Express edition according to your OER.

Going on 45 minutes and script does not exit.  I appear to have data in result1,2, and 3.  Not sure how long it will run but I don't want it to hammer IOs over night if possible.  Decided to Ctrl-C and received following:

PS C:\users\b9admin\Desktop\CbPTest-v3> .\cbptest-v3.ps1
Select a disk to test:
0) E:\
1) C:\
2) D:\
3) Y:\
Please enter the number of the drive to test: 2
Running Tests - this will take 21 minutes and 30 seconds. Ctrl-C to abort.
Processing files result1.txt, result2.txt, result3.txt generated by the diskspd command...
Sequential Writes: 95.29 MiB/s
Random Reads: 426.82 MiB/s
Random Writes: 1219.26 MiB/s
Program terminated.
PS C:\users\b9admin\Desktop\CbPTest-v3>

Considering we only have 350 endpoints we are doing ok.  Was running on Svr2016 with CU07-19 installed.  SQL installed and IIS configured but CBP 8 not yet installed.  No other security tools enabled on the system.

I had the below error when running from my server, and worked around it with this:

Set-ExecutionPolicy -ExecutionPolicy Bypass

PS V:\tmp\CbPTest-v3> .\cbptest-v3.ps1
.\cbptest-v3.ps1 : File V:\tmp\CbPTest-v3\cbptest-v3.ps1 cannot be loaded. The file V:\tmp\CbPTest-v3\cbptest-v3.ps1
is not digitally signed. You cannot run this script on the current system. For more information about running scripts
and setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\cbptest-v3.ps1
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

@tfunaki - For smaller environments, please review line 50 of the PowerShell script:

$cmd1= ".\diskspd -W5 -c59G -d900 -D1000 -t1 -O1 -x -F1 -L -h -o1 -s40k -w100 -C2 $disk\CbTestFile.bin >>.\result1.txt"

Please amend the script to read:

  $cmd1= ".\diskspd -W5 -c20G -d900 -D1000 -t1 -O1 -x -F1 -L -h -o1 -s40k -w100 -C2 $disk\CbTestFile.bin >>.\result1.txt"
Article Information
Creation Date: