Technical Articles
SAP HANA Hardware and Cloud Measurement Tools (HCMT) – Replacement of HWCCT Tool
Recently before installing SAP HANA on certified server, I thought of running SAP HANA Hardware Configuration Check Tool on the provisioned server. The latest available HWCCT version in service marketplace is 244 and I have used the same to perform the check.
NOTE: I have also used version 242 and the details provided below are encountered in both the version.
First error you will encounter on running hwcct command for version 242 and 244 will be –
./hwcct: error while loading shared libraries: libhdbtmcachebase.so: cannot open shared object file: No such file or directory
I was able to get this file from the existing HANA database and copied this file to the lib directory of hardwareConfigurationTool folder
NOTE: This file is only available in HANA 2.0 SPS 04. You won’t be able to find this file in lower HANA database version.
After that, above error got resolved. But now during landscape evaluation I encountered below error –
Failed to parse system information in readMemoryDistributionInfo, size=34754 Failed to parse system information in readNetworkInfo, size=34754 Error while running HWCCT:exception 1: no.1000010 (ltt/impl/strtod.cpp:707) TID: 24197 Invalid argument exception throw location: 1: 0x00007fff9305d610 in ltt::throwInvalidArgument(char const*, int)+0x30 at new.cpp:296 (libhdblttbase.so) 2: 0x0000000126eb0d80 in int lttStoi32<char>(char const*, unsigned long*, int) [clone .constprop.46]+0x180 at iterator_base.hpp:1060 (hwcct) 3: 0x0000000126eb290c in ValidateSystemInfo::checkFSConfig4DataLog(ltt::map<ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >, ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >, ltt::less<ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> > >, ltt::rb_tree_balancier>&) [clone .constprop.14]+0x1ec at string.hpp:603 (hwcct) 4: 0x0000000126ecab50 in ValidateSystemInfo::checkFileSystemList(ltt::vector<ltt::map<ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >, ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >, ltt::less<ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> > >, ltt::rb_tree_balancier> >&, ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >&)+0x980 at ValidateSystemInfo.cpp:1428 (hwcct) 5: 0x0000000126ecbb84 in ValidateSystemInfo::validateFilesystemConfig()+0x3e4 at memory.hpp:1258 (hwcct) 6: 0x0000000126ebd798 in ValidateSystemInfo::validate(ltt::basic_string_retval<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> > (ValidateSystemInfo::**)(), int&, ltt::basic_string<char, ltt::char_traits<char>, ltt::integral_constant<int, 64> >&)+0x1e8 at ValidateSystemInfo.cpp:1909 (hwcct) 7: 0x0000000126f007a8 in hwcctTests::EvalOS::runTest()+0x1698 at LandscapeTest.cpp:197 (hwcct) 8: 0x0000000126ead3f8 in main+0xf58 at HwcctHelper.cpp:112 (hwcct) 9: 0x00007fff93452140 in System::mainWrapper(int, char**, char**, void*)+0x50 at SystemMutex.cpp:203 (libhdbbasis.so) 10: 0x00007fff926a3920 in generic_start_main.isra.0+0x140 (libc.so.6) 11: 0x00007fff926a3b1c in __libc_start_main+0xac (libc.so.6) 12: 0x00007fff93445544 in __libc_start_main+0xa4 at IsInMain.cpp:78 (libhdbbasis.so) exception type information: - 0: public ltt::invalid_argument@0x7fff930de780 SI - 0: public ltt::logic_error@0x7fff930deac0 SI - 0: public ltt::exception@0x7fff930dec40
There is no SAP Note which addresses above issue. At first I thought there might be some additional pre-requisites as I’m using recently certified SUSE version (SLES 15 SP 1) but I could not find any. I raised message to SAP and found that – Its a programming error which is reported since HWCCT 242 and 244 version.
Also SAP HANA Hardware Configuration Check Tool (HWCCT) has been end of life-cycle (EOL) on Aug 1st, 2019. So now no further releases or patches will be provided to accommodate its fix. (As per SAP)
What’s NEXT?
A new SAP HANA hardware and cloud measurement tools (HCMT) is or will be introduced as a replacement of HWCCT. I could not find any official announcement of this tool but as per SAP, HCMT will be an official tool to check server before deploying HANA system in future.
HCMT is available for download in Service Market Place, so thought of giving it a try. Below is the official SAP Note for this tool –
2493172 – SAP HANA Hardware and Cloud Measurement Tools
Download the pdf attached in above SAP Note as it gives details on the usage of HCMT tool.
HCMT Overview
The SAP HANA hardware and cloud measurement tool (HCMT) allows customers and partners to collect information on the infrastructure intended for SAP HANA deployment. The tool measures whether the planned hardware or cloud system complies with the requirements defined by SAP.
Furthermore, it gauges whether the system planned for SAP HANA deployment can achieve satisfactory base performance by meeting the minimum requirements defined as well as satisfactory overall performance given the intended SAP HANA usage.
The measurement results are saved into a single file, which can be uploaded to the SAP HANA hardware and cloud measurement analysis for further analysis and reporting.
NOTE: SAP HANA hardware and cloud measurement tools are based on the requirements of SAP HANA Platform 2.0 or newer. For older SAP HANA versions, refer to the SAP HANA Hardware Configuration Check Tool
Download
You can download the tool from the SAP Support Portal at https://launchpad.support.sap.com/#/softwarecenter –> SUPPORT PACKAGES & PATCHES –> Search for: “hana optim”
Unlike HWCCT, which is ready to use just by extracting SAR file. Here, with HCMT we need to install the tool on the server.
First extract the tool using SAPCAR
It will have setup folder, navigate into the folder and install the tool using hcmtsetup command
After setup, the following folder structure is available:
The SAP HANA hardware and cloud measurement tool performs a series of automated tests, for example network tests, file system consistency tests, system management BIOS tests, and CPU benchmark tests.
The duration and repeat rate of the tests depends on the type of execution plan that you intend to run.
The following execution plans are available:
executionplan.json – Default execution plan that helps you to check if the KPIs for SAP HANA certification are met.
full_executionplan.json – Performs the same tests as the default execution plan, but has a higher test repeat rate and thus a longer test duration. This test is used for SAP HANA certification.
So for people who wants to validate HANA server before installing should use executionplan.json plan to test their HANA servers
NOTE: I have executed this tool for Scale-up System
Prerequisites
- You have installed the latest version of the SAP HANA hardware and cloud measurement tool on the system.
- You have at least 20 GB of free storage space in the location where SAP HANA data can be placed during the test.
- When using nonvolatile memory, mounts for all hosts or an alias of the same name must be available.
- Port 50001 must be open for communication.
NOTE: This tool will run for a while, so make sure you run this tool in one of your jump server.
# ./hcmt -v -p <path>/setup/config/executionplan.json
Once the execution is completed it will create a file named hcmtresult-<dateandtime>.zip inside the same folder. Transfer that zip file into you desktop
We need to upload the measurement results file and analyze the results to see whether the systems meet the configuration and performance requirements.
https://hotui-supportportal.dispatcher.hana.ondemand.com/index.html
Click on “Manage Your Systems”
Click on (+) Add System
Provide details based on your usage and click Save
Click on “Upload Your Measurement Results”
If you have multiple system configured, make sure you upload measurement result to appropriate system.
Review and Submit
Analyzing the Measurement Results
SAP HANA hardware and cloud measurement analysis provides a graphical and textual representation of your measurement results. It allows you to see which parts of your system are doing well and which parts may need some changes or improvements to achieve the required performance.
You can read the pdf attached to SAP Note 2493172 on how to analyze the result..
Pro’s
- Nice centralized repository for all of our HANA Server checks
- Graphical insight but tedious to interpret result.
Con’s
- Difficult to read or get insight from the uploaded measurement as the result is not provided in the form of dashboard which can be drilled down to get more insight (like S/4HANA Readiness Check)
- Currently there is no option to share the result to other S-User
- I would rather prefer a quick summary in one file like below from HWCCT tool over individual selection
But as SAP suggested that this tool is still in development. So probably we can expect to get more holistic insight from this tool in future.
Regards,
Dennis Padia
Thank you Dennis Padia for sharing
Thank you Sandeep.
Hmm, I’ve just spent some time doing HWCCT for a load of HANA systems. Looks like I need to do it all again.
Also, I see your Kernel passed. I appear to have a string comparison issue:
Hello Declan,
Yes HWCCT perform kernel comparison. For new servers, I usually prefer to update kernel to the latest version.
Regards,
Dennis Padia
Well done Dennis!
Thanks for the update.
Thanks John
Thanks Dennis for putting this together as concise info !
Thank you Vijay. Hope it can be useful to others.
Hello Dennis, thanks for this blog!
This is not clear for me:
full_executionplan.json – Performs the same tests as the default execution plan, but has a higher test repeat rate and thus a longer test duration. This test is used for SAP HANA certification.
So for people who wants to validate HANA server before installing should use executionplan.json plan to test their HANA servers
So, for HANA certification like HWCCT, should I use executionplan.json or full_executionplan.json ?
Thanks!
In order for any server to be certified for HANA by any vendors, they also need to run this HCMT tool.
Out of two execution plan that are available (executionplan.json and full_executionplan.json), hardware/cloud vendor usually run HCMT tool with full_executionplan.json which has higher test repeat rate, which means when HCMT is executed using full_executionplan.json each test will repeat 5 times instead of 2 times in executionplan.json which result in longer test duration. Both execution plan covers all the test but the only difference is that full_executionplan.json has higher repeat cycle for each test.
In below screenshot, you can see repeat count is 2 which means excutionplan.json is used. If repeat count is 5, then full_executionplan.json is used. So each test here will be repeated 5 times instead of 2.
For business or end user to validate server, they can run executionplan.json.
Regards,
Dennis Padia.
Very informative and detailed information. Thanks.
Hi Dennis,
Thanks for your sharing.
Hi Dennis.
I'm running the executionplan.json but It has 15 hours running, is there a way to stop it? or should I wait?
Kindly advice.
Regards.
https://tecseteletronica.loja2.com.br/
Tecset Eletrônica
Hi Dennis,
Great Work.. Just my one Query . I have follow same step and its taking too much time. Its running from last 48 Hr. but still running. Might be will take another 24 Hr.
I have run this script executionplan.json
I have 512 GB RAM and 32 CPU server and 3.5 TB Storage with different different partition.
Is it take generally much time ? or Something going wrong on my server.
Please help.
Thanks,
Amit
Hi Dennis
Thanks for your sharing. I’m running the executionplan.json and got this result:
what can be done about it?
Many Thanks
Best Regards
Hi Tatjana,
HCMT or HWCCT perform high level checks against the predefined KPIs. The results help you to understand if the server is properly configured for HANA installation.
In your case, it seems you have already installed your database ( as it shows you have set the logmode 'overwrite'). If so, you must execute SQL: "HANA_IO_DiskDetails" from 1969700.
The result of the query will give you details on disks including queue length, latency, throughput and request rate.
Sumit
Hi Sumit,
Many thanks for your support.
I uninstalled my HANA DB, but still got the following result:
How can you improve that?
What could be the reason for this ?
Could I get performance problems if I install on this hardware?
Many Thanks
Best Regards
Hi Tatjana,
I didn't mean you to uninstall the database, rather I suggested you to execute the SQL for a better understanding of the disks throughput and latency for the operational database :). However, it's ok if you did.
What could be the reason for this ?
Different kind of disks have their upper limitations in terms of IOPS and throughput (for the way they are build) to read and write the data within them. The disk allocated to your log volume falls a little short to the KPI that SAP has defined for smooth operations.
Could I get performance problems if I install on this hardware?
You haven't mentioned the hardware type. If it's intel's Westmere , even the worst value can be accepted.
For other hardware : The throughput of the volume is just a little short (~ 235-240 MBps) which is fine as long as you are not going to run the system for a productive environment. If a high load productive environment, the logs have to be written at faster pace into the disk and if this does not happen, the transactions go slow down for end users. if it's not a highly used production or is going to be a non production system, you should not worry much.
How can you improve that?
Hi Sumit,
Many thanks for your response.
Our file systems look like this.
Can this be due to the settings that should be made after the OS installation after the note (after the note note 2684254 - SAP HANA DB: Recommended OS settings for SLES 15 / SLES for SAP Applications 15). Or is it really just the hardware.
Many Thanks
Hi Sumit,
Many thanks for your response.
The filesystems have different mount points.
/dev/sda -> /hana/shared
/dev/sdb -> /hana/data
/dev/sdc -> /hana/log
Can this be due to the settings that should be made after the OS installation after the note (after the note note 2684254 - SAP HANA DB: Recommended OS settings for SLES 15 / SLES for SAP Applications 15).
Or is it really just the hardware ?
Many Thanks
Hi Tatjana,
I see your log volume is on normal physical mount. You can consider my above suggestions based on your requirements and environment.
The suggestions in note 2684254 are related to OS and Linux kernels. The improper settings can impact memory ( e.g. OS doesn't allocate or release memory) or issues related to frequent disconnections and OS reboots because of old/incompatible linux kernel ( I actually have faced these issues).
However, they have nothing to do with throughput of a volume ( i.e. log volume in your case). This is more of the hardware thing.
Hi,
is the tool able to tell me if my vendor applied the correct core-to-ram ratio or if the VMware settings for CPU are correct?
How may i check if all relevant checks are succeded and my system is certified or correctly setup?
Thanks, Markus
Nice blog Dennis. Most of us don't read the complete instructions, as the default execution runs 5 times.
We can change that in the executionplan.json file from 5 to >or=1.
Thanks,
JC
Very good blog. I ran this on a 2566GB HANA DB using the executionplan.json. After 9 hours it completed and returned a 14Kb zip file. I uploaded that and after clicking submit, I get an error: Archive not valid: missing or inconsistent manifest.json.
I opened the zip on my desktop and don't see a manifest.json. I only see the files shown in this screen shot. It's possible my jump box session was timed out, but I noticed that the HCM tool does keep the RHEL console screen actifve with a cursor spinning.
Hi All,
Is there any way to check for the multiple volumes at the same time.
like for example, I have two data volumes & two log volumes. How can we check for those at the same time.
DataVolumes
/hana/data/SID/mnt00001
/hana/data/SID/mnt00002
LogVolumes
/hana/log/SID/mnt00001
/hana/log/SID/mnt00002
Also if IO throughput failed for read/write, from where we need to check for recommendations. Can anyone please help on this?
Hello Dennis,
Nice Blog and informative!!
Thanks !!
i am facing typical scenario where i am not getting bar at all in the Analysis.
Is this something wrong ? i am looking for BAr analysis which clearly indiactes where i can focus and correct.
Please suggest
Regards,
Sreekumar N
Hi,
running HCMT as SIDadm or root user on every server?
Thanks and best regards
Christian
Nice blog Dennis. Appreciate it.
Do we have any reference listing the current limitations of the HCMT tool?
Basically I observed that HCMT tool does not consider additional data files on a node . Even though we have 4 data files on 2 nodes of Hana instance it tests 1 data file on each node. This impacts the write throughput results.
Also can this tool be considered for predicting SAP performance testing assessment?