I/O stack configuration for SAP HANA
Starting with SAP HANA 1.0 SPS10, SAP introduced parameters to adjust the I/O behavior and optimize the database for the file and storage systems used.
NetApp conducted performance tests to define the ideal values. The following table lists the optimal values inferred from the performance tests.
Parameter | Value |
---|---|
max_parallel_io_requests |
128 |
async_read_submit |
on |
async_write_submit_active |
on |
async_write_submit_blocks |
all |
For SAP HANA 1.0 versions up to SPS12, these parameters can be set during the installation of the SAP HANA database, as described in SAP note 2267798: Configuration of the SAP HANA Database During Installation Using hdbparam.
Alternatively, the parameters can be set after the SAP HANA database installation by using the hdbparam
framework.
nf2adm@sapcc-hana-tst-06:/usr/sap/NF2/HDB00> hdbparam --paramset fileio.max_parallel_io_requests=128 nf2adm@sapcc-hana-tst-06:/usr/sap/NF2/HDB00> hdbparam --paramset fileio.async_write_submit_active=on nf2adm@sapcc-hana-tst-06:/usr/sap/NF2/HDB00> hdbparam --paramset fileio.async_read_submit=on nf2adm@sapcc-hana-tst-06:/usr/sap/NF2/HDB00> hdbparam --paramset fileio.async_write_submit_blocks=all
Starting with SAP HANA 2.0, hdbparam
has been deprecated, and the parameters have been moved to global.ini
. The parameters can be set using SQL commands or SAP HANA Studio. For more details, see SAP note 2399079: Elimination of hdbparam in HANA 2. You can also set the parameters within global.ini as shown in the following text:
nf2adm@stlrx300s8-6: /usr/sap/NF2/SYS/global/hdb/custom/config> cat global.ini … [fileio] async_read_submit = on async_write_submit_active = on max_parallel_io_requests = 128 async_write_submit_blocks = all …
Since SAP HANA 2.0 SPS5, the setParameter.py
script can be used the set the correct parameters:
nf2adm@sapcc-hana-tst-06:/usr/sap/NF2/HDB00/exe/python_support> python setParameter.py -set=SYSTEM/global.ini/fileio/max_parallel_io_requests=128 python setParameter.py -set=SYSTEM/global.ini/fileio/async_read_submit=on python setParameter.py -set=SYSTEM/global.ini/fileio/async_write_submit_active=on python setParameter.py -set=SYSTEM/global.ini/fileio/async_write_submit_blocks=all