I/O stack configuration for SAP HANA

Contributors Download PDF of this page

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 system used.

NetApp conducted performance tests to define the ideal values. The following table lists the optimal values as 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 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 using the hdbparam framework.

SS3adm@stlrx300s8-6:/usr/sap/SS3/HDB00> hdbparam --paramset fileio.max_parallel_io_requests=128
SS3adm@stlrx300s8-6:/usr/sap/SS3/HDB00> hdbparam --paramset fileio.async_write_submit_active=on
SS3adm@stlrx300s8-6:/usr/sap/SS3/HDB00> hdbparam --paramset fileio.async_read_submit=on
SS3adm@stlrx300s8-6:/usr/sap/SS3/HDB00> hdbparam --paramset fileio.async_write_submit_blocks=all

Starting with SAP HANA 2.0, hdbparam is deprecated and the parameters have been moved to the global.ini file. The parameters can be set by using SQL commands or SAP HANA Studio. For more information, see SAP Note 2399079 - Elimination of hdbparam in HANA 2. The parameters can be also set within the global.ini file.

SS3adm@stlrx300s8-6:/usr/sap/SS3/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
…

With SAP HANA 2.0 SPS5 and later, you can use the `setParameter.py `script to set the parameters mentioned above.

fc5adm@sapcc-hana-tst-03:/usr/sap/FC5/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