Performance and Tuning Tips for the SAP HANA Adapter

Tips for improving the performance of the SAP HANA Output adapter.

  • SAP recommends that you install Event Stream Processor on a different server than your SAP HANA server.
  • In HANA, use column-based tables instead of row-based tables.
  • Partitioning a column based table can improve the performance of multi threaded access to the table. Create partitions that your SAP HANA server can handle.
  • Using the threadCount property to adjust the number of threads used to load data in parallel, can affect the throughput of the adapter. SAP recommends that you start the value at the number of partitions on the table into which you are loading, and keep adjusting it, to approximately 5 times that number, until performance no longer improves. Keep in mind that there is a limit of 2 billion rows per partition in SAP HANA. See your SAP HANA documentation for more details.
  • If you are running on UNIX, use unixODBC 2.3.O, as SAP HANA supports this version only.
  • Test optimum performance by setting different values for the bulkBatchSize, bulkInsertArraySize, idleBufferWriteDelayMSec, and bufferAgeLimitMSec properties.
  • Increasing bulkBatchSize increases throughput but also increases latency. Increase this number as needed based on what you require for latency. If you increase bulkBatchSize, also increase bulkInsertArraySize accordingly, as bulkInsertArraySize is a divisor of bulkBatchSize.
  • If a batch contains a bad row, the individual bad row is discarded, the bad rows statistic is incremented, and an error message is logged to the Server log file.