How can the prerequisites for install/upgrade of the Data Repository by verified using Vertica validation utilities?
CAPM 21.x
CAPM 22.x
Before upgrading the data repository following steps need to be completed to check if the server meets the minimum requirements.
Note: The database performs best with the ext4 file system.
Verify Hardware and Network Performance
Vertica provides a set of utilities that test the performance of your hardware for the Data Repository. To verify that the environment is ideal for the database, run these tests before you upgrade the Data Repository
Note: If you have already installed the Data Repository, you can perform these tests at any time to verify performance. The utilities are available on each node in /opt/vertica/bin.
Run Data Repository Diagnostic Utilities
If the tests do not meet the recommendations, fix the issues before you continue the installation or upgrade.
vcpuperf
This utility measures the CPU processing speed of the host and compares the speed against benchmarks for common server CPUs. The utility measures how long the server requires to complete the test, and determines whether CPU throttling is enabled.
Follow these steps:
Execute the following command on each Data Repository node:
./vcpuperf > /tmp/vcpuperf.out
Verify that the performance meets the following requirements
The CPU time is consistent with the benchmark values in the output.
The low load time and high load time are within 10 microseconds. If the difference is grater than 50 microseconds, CPU throttling might be enabled on your system. Disable CPU throttling.
Example:
The following example shows the return from this utility:
$ /opt/vertica/bin/vcpuperf
Some machines automatically throttle the CPU to save power.
This test can be done in <100 microseconds (60-70 on Xeon 5670, 2.93GHz).
Low load times much larger than 100-200us or much larger than the corresponding high load time
indicate low-load throttling, which can adversely affect small query / concurrent performance.
This test was performed on a system with 2.67-GHz processors, so the real time is acceptable. The difference between the high load time and low load time is within the expected tolerance.
For more information about this utility, see the Vertica documentation.
vioperf
This utility tests the performance of the disk input and output (I/O). The utility performs a series of reads and writes.
Follow these steps:
Execute the following commands on each Data Repository node:
./vioperf /data > /tmp/vioperf.out --duration=60sec
/data is the full path of the data directory.
./vioperf /catalog > /tmp/vioperf.out --duration=60sec
/catalog is the full path of the catalog directory.
Verify the Write and Read counter values at least 40 MB/s per core.
The recommended I/O is 40 MB/s per physical core on each node. For example, the recommended I/O rate for a node with 2 hyper-threaded six-core CPUs (12 physical cores) is 480 MB/s.
--thread-count=CORES
Cores defines the number of cores in the system as a fixed integer.
Example:
The following example shows the return from this utility for the data directory:
The minimum required I/O is 20 MB/s read and write per physical processor core on each node, in full duplex i.e.
reading and writing at this rate simultaneously, concurrently on all nodes of the cluster. The recommended I/O
is 40 MB/s per physical core on each node. For example, the I/O rate for a server node with 2 hyper-threaded
six-core CPUs is 240 MB/s required minimum, 480 MB/s recommended.Using direct io (buffer size=1048576, alignment=512) for directory "/drdata"
test | directory | counter name |
counter value |
counter (value 10 sec avg) |
Counter value / core |
counter value/core |
thread count |
%CPU | %IO Wait | elapsed time (s) |
remaining time (s) |
Write | /drdata | MB/s | 873 | 873 | 54.5625 | 54.5625 | 16 | 29 | 40 | 10 | 5 |
Write | /drdata | MB/s | 868 | 868 | 54.25 | 54.0625 | 16 | 28 | 30 | 15 | 0 |
ReWrite | /drdata | (MB-read+MB-write)/s | 275+275 | 275+275 | 17.1875+17.1875 | 17.1875+17.1875 | 16 | 13 | 21 | 10 | 5 |
ReWrite | /drdata | (MB-read+MB-write)/s | 242+242 | 178+178 | 15.125+15.125 | 11.125+11.125 | 16 | 7 | 17 | 15 | 0 |
Read | /drdata | MB/s | 735 | 735 | 45.9375 | 45.9375 | 16 | 11 | 23 | 10 | 5 |
Read | /drdata | MB/s | 786 | 786 | 49.125 | 49.125 | 16 | 26 | 25 | 15 | 0 |
SkipRead | /drdata | seeks/s | 4511 | 4511 | 281.938 | 281.938 | 16 | 14 | 19 | 10 | 5 |
SkipRead | /drdata | seeks/s | 4477 | 4407 | 279.812 | 275.438 | 16 | 3 | 15 | 15 | 0 |
This server has 16 cores. The Read and Write counter values indicate the I/O is greater than 40 MB/s per core.
For more information about this utility, see the Vertica documentation.
vnetperf
This utility tests the network performance of the Data Repository hosts. The utility measures network latency and the throughput for the TCP and UDP protocols.
Important! This utility causes a high network load and affects database performance. Do not run this utility while the database is running.
Follow these steps:
./vnetperf --hosts DAhost,DRhost1,DRhost2,DRhost3 > /tmp/vnetperf.out
Specify the hostname or IP address of the Data Aggregator host and each Data Repository host.
Verify that the network performance meets the following requirements:
For more information about this utility, see the Vertica documentation.
Please refer to the following wiki link for more information
Run Data Repository Diagnostic Utilities
Note: We don't have any docs on cpu throttling disablement. It's a BIOS thing and all BIOS are different. Here is an example from googling for "disable cpu throttling in bios":
https://www.thomas-krenn.com/en/wiki/Disable_CPU_Power_Saving_Management_in_BIOS
Depending on the BIOS maker for your PC's running Vertica, setting options may change in BIOS.