Browse your product documentation including release notes and installers
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
Also reference How to interpret the results.txt output from CBPTest
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.
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.
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:
::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
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.
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.ps1Select a disk to test:0) E:\1) C:\2) D:\3) Y:\Please enter the number of the drive to test: 2Running 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/sRandom Reads: 426.82 MiB/sRandom Writes: 1219.26 MiB/sProgram 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.ps1is not digitally signed. You cannot run this script on the current system. For more information about running scriptsand 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"
Errors encountered when running this script.
Could not create the file (error code: 123)Error generating I/O requests (error code: 123)
Anyone else seeing this?