Tuesday 15 November 2016

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

With the Introduction of smart data access (SDA) especially between SAP HANA and IQ, the data provisioning process can be optimized. Never the less, some additional Parameters have to be introduced on the ABAP and HANA Backend as well.

Check the SAP IQ database settings (based on SAP IQ 16.0 SP10)
  • SQL Anywhere Server 17.0 – DB start options
  • IQ PAGE SIZE Parameter Guidelines
  • Catalog Page Size Option
  • Performance Options
  • additional settings for the SQL anywhere interface:
    • -gss: This parameter sets the catalog (Sql Anywhere) stack size for catalog threads. For all 64-bit UNIX platforms: Default=Min = 1 MB. Max = 8MB. Considering some large or complex queries ,please set this value to 8MB
    • -iqtss: Specifies the stack size, in KB, for server execution threads running either in the background or as part of a thread team assisting the main server connection thread. The default value is 512KB on 64-bit platforms. However, some very complex queries may return an error indicating that the depth of the stack exceeded this limit, so you may need increase this value to 2048.
    • SAP IQ calculates the stack size of server threads using the formula: ( -gss + -iqtss)
Increasing the SAP-NLS Performance

A good starting point is also the following document which affects the settings for SAP-NLS in the SAP HANA database

Please Note the selections and navigational attributes are considered with the automatic usage of semi-joins or joint relocations for the execution of queries based on SDA together with HANA and IQ. 

Special Features of InfoCubes with Non-Cumulative Key Figures

Archiving data from InfoCubes with non-cumulative key figures is only supported if you are using an SAP HANA database and have connected SAP IQ as a near-line solution using the adapter delivered with the BW system. The InfoCubes must be SAP HANA-optimized. You can convert standard InfoCubes if required. More information:

Converting Standard InfoCubes to SAP HANA-Optimized InfoCubes

The mode for non-cumulative processing for this InfoCube must be Y. If your InfoCube is above a certain age, you might have to perform the non-cumulative conversion using report RSDD_SWITCH_NCUM_HANDLING. The data in the InfoCube with non-cumulative key figures that you want to archive must be compressed before an archiving run is started. During compression, the reference point is updated. This ensures that a query on an InfoCube with non-cumulative key figures, whose data has been archived in part, will return consistent results with satisfactory performance.

Optimizing the F4 Help access to SAP-NLS

It is suitable to change the settings for the affected Dimension tables to a more optimized setting. This can be done via the “Provider-Specific” settings for the Dimensions within the InfoCube. By default these options are empty, which means the default settings of the individual InfoObjects for query definition and execution are take place.

Furthermore any reorganization of the dimension tables e.g. via transaction RSRV should be avoided, due to no benefit at all for the application rather to corrupt the F4 access to the SAP-NLS solution and this will result in wrong F4 values and much less performance.

As an example see the following screens for an optimized setting. 

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

Note 2128579 – Data Load into SAP IQ during Copy Phase utilizes only one server-side Thread (7.40 SP11)

With this SAP Notes two additional parameters were introduced to significantly increase the LOAD statement for writing data into SAP-NLS.

Parameter LOAD_STRIPE_SIZE setting this parameter to a value n > 1 parallelizes the load.

Parameter LOAD_STRIPE_WITH is the parallel degree multiplied with SYBASE_IQ_BUFFER_SIZE

Parameter SYBASE_IQ_LOAD_DIR could be changed at the database connection level (DBCO) and is by default the data directory of the SAP Instance. If you plan to load a large amount of data, please make sure that you have enough space left, or specify another directory/device.

LOAD_STRIPE_SIZE=4; LOAD_STRIPE_WIDTH=4

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

The following SAP Corrections are recommended (SAP BW 7.40/7.50):

You can use the SAP Launchpad – https://launchpad.support.sap.com/#/mynotes?tab=Search to select the necessary SAP Notes for your SAP System SP Level:

Component:     BW-WHM-DST-ARC

SP Level:         SAPKW74015 (Stack +1 è corrections after 7.40 SP14)

SP Level:         SAPK-75006INSAPBW (Stack +1 è corrections after 7.45 SP05)

Search Term:    aDSO (optional)

Increasing the SAP-NLS Performance

Note 2202052 – BW Near-Line Storage with HANA Smart Data Access: Poor Query Performance with InfoCubes

Queries on InfoCubes show poor performance since filter conditions are pushed as “SID-based” filters to the HANA database instead of using the “key-values” for filtering. With “SID-based” filters, the SID-table needs to be joined to the Virtual Table in order to execute the filter. This join adds complexity to the SQL-Statement which makes it more difficult to optimize the query in a federated database environment.

Currently the following parameters should be changed on the SAP HANA server (included in SP09):
  • semi_join_virtual_table_threshold
  • virtual_table_format
  • join_relocation
  • fda_enabled
Note 2100962 – FAQ: BW Near-Line Storage with HANA Smart Data Access: Query Performance


Increasing the SAP-NLS Performance

In Addition you can also set the remote connection timeout as follows in the HANA Studio with the SQL interface: ALTER SYSTEM ALTER CONFIGURATION (‘indexserver.ini’, ‘system’) set (‘smart_data_access’, ‘remote_conn_idle_timeout’) = ‘180’ with reconfigure;

With HANA 1.0 SP10 (Rev. 10x.x) you should also set the DML Mode to “readonly”

Increasing the SAP-NLS Performance

Currently the following parameters should be changed on the SAP ABAP server:
  • rsdb/supports_fda_prot = 0
  • rsdb/max_blocking_factor = 50
  • rsdb/max_in_blocking_factor = 1024
  • rsdb/prefer_union_all = 0
  • rsdb/prefer_in_itab_opt = 1
  • rsdb/prefer_join_with_fda = 1

Note 1987132 – SAP HANA: Parameter setting for SELECT FOR ALL ENTRIES

With these actions you can optimize the SAP-NLS solution via SDA:

Note 2231332 – Control of Query Optimization on Near-line Storage on InfoProvider Level (7.40 SP14/7.50 SP02).

This note adds a checkbox to the “Near-line Storage” tab of the Data Archiving Process (DAP) maintenance to switch query optimization on (this is the default) or off. You must activate the DAP in order to make your setting effective. If optimization is switched on, but query optimization is not configured or not available for the Near-line Connection query access will use the non-optimized implementation via the Virtual Provider interface utilizing the Near-line Provider implementation via the standard Near-line Interface. In case Smart Data Access is configured for the Near-line Connection also the name of the HANA Virtual Table is shown.

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

Note 2198386 – BW HANA SDA: Performance Improvement for Creation of Database Statistics for Virtual Tables of Open ODS Views or NLS-Archives (7.40 SP13/7.50 SP01)

Note 2288710 – BW HANA SDA: Create Database Statistics for Virtual Tables of Open ODS Views

The Report RSSDA_CREATE_TABLE_STAT can be used to create database statistics for HANA Virtual Tables. HANA Virtual Tables are used in the context of HANA Smart Data Access. The execution time can be quite time consuming. As of HANA SP10, a new statistics type RECORD COUNT is available for virtual tables. RECORD COUNT specifies that only the number of records is computed. This type of statistics should take much less time to compute compared to the other types SIMPLE or HISTOGRAM. From query execution point of view, the HANA Query Optimizer however have less information which could lead to less optimized query execution. This type should therefore only be used in case it’s too expensive to create SIMPLE or HISTOGRAM statistics.

Increasing the SAP-NLS Performance

Increasing the SAP-NLS Performance

Source: go.sap.com

No comments:

Post a Comment