Hp Vertica comes with a set of utility validation scripts that can help you encounter performance issues before you install a Vertica database or after you install it.
The location of the validation scripts is : /opt/vertica/bin
We have three scripts:
Vcpuperf - a CPU performance test used to verify your CPU performance.
Vioperf - an Input/Output test used to verify the speed and consistency of your hard drives.
Vnetperf - a Network test used to test the latency and throughput of your network between hosts.
Let's go and see how we can use this script so we can identify possible performance degradation.
Vcpuperf
The script will test the speed of your CPU, the script will provide you with a set of values that should apply as per each CPU model.
the returned values are in seconds and the lower the returned value the better is the performance of your CPU's.
Use syntax:
this utility comes with only one option and that is the -q which enable the command to run in quite mode.
Example of test run
As we can see in my test the expected CPU speed for my type of CPU is 8.0 seconds and my real CPU speed is bellow this values 13.+ seconds(Is not that bad).
What can we do to make this better?
well as HP recommends you should disable CPU frequency scaling thou this might cost you in terms of energy.
To disable use the method viaCPU scaling in BIOS follow this link.
Vioperf
next tool we have is going to measure the input and output of your Vertica nodes.
Vioperf utility will perform the following tests:
sequential write
sequential rewrite
sequential read
skip read (read non-contiguous data blocks)
Syntax :
Example :
i chose to run the script using the option duration that the test will run, by default if you don't use any option the script will run for 5 minutes.
you also can use the DIR option where you point to a specific directory otherwise the current working directory will used.
The output result can be read as follows:
We will describe the columns that are outputted:
test - this represents the type of test done.
directory - what directory is used for the test.
counter name - can be MB/s or seeks/s
counter value - the value of the counter
counter value average - avg value for the counter
thread count - number of threads used for the test
%CPU - the available CPU % during the test
%IO wait - time that the process is locked waiting for I/O operation to complete
elapsed time - duration of the test
Note:
The script will offer you some baseline values that you can use to benchmark your system. Such as minimum required I/O value and recommended I/O value per physical core on each node.