Workload collector: Reducing the size of aggregates
[aggregates] [reducing] [reducing valve] [RSCOLL00] [SAP_COLLECTOR_FOR_PERFMONITOR] [SWNCCOLL] [SWNCTOTAL] [TSV_TNEW_PAGE_ALLOC_FAILED] [workload]
Symptom
The workload statistics collector terminates with a runtime error (for example, because of a memory shortage). Individual aggregates exceed the maximum size of 2 GB.
Other terms
SWNCCOLL, SWNCTOTAL, RSCOLL00, TSV_TNEW_PAGE_ALLOC_FAILED, SAP_COLLECTOR_FOR_PERFMONITOR
Reason and Prerequisites
From the statistic records, the workload collector SWNCCOLL calculates various aggregates that are displayed in transaction ST03N. In large systems, some aggregates rapidly increase in size (depending on the system usage). In particular, when you calculate the TOTAL aggregate for months, this results in very large data records that may exceed the maximum size of 2 GB. This results in a termination (TSV_TNEW_PAGE_ALLOC_FAILED).
Solution
The only solution is to decrease the size of the aggregate by not using single fields. We are providing the programs SWNC_COLLECTOR_COMPRESSION and SWNC_COLLECTOR_RECOMPRESS for this. These (and the relevant adjustments in the collector program) are delivered with the Basis Release Support Package 15, 7.0 EhP1 (7.01) and 7.1 EhP1 (7.11).
Notes about using the new program
To activate the increased aggregation of the aggregate, start the program SWNC_COLLECTOR_COMPRESSION (for example, using transaction SA38). For each of the thirteen profiles, this program offers four setting options (switches) that have the technical name of the fields as a label. In addition, the information below contains the descriptions that belong to the technical names in transaction ST03N.
[WD] Database procedure profile
Technical nameDescription in ST03NENTRY_IDTransaction/Report/Background JobACCOUNTUserDBPROCNAMEName of the DB procedureDBPCONNECTDB connection
[WF] External systems
Technical nameDescription in ST03NI_SYSTEMIDSystem ID of the triggering systemI_SERVTYP-I_USERIDUser IDI_ACTION,I_ACTTYPEAction in the triggering system
[WJ] Memory consumption profile
Technical nameDescription in ST03NENTRY_IDReport name, transaction name or job nameACCOUNTUserMANDT-TASKTYPETask type
[WM] User profile, transaction profile
Technical nameDescription in ST03NACCOUNTUserMANDTClientENTRY_IDReport name, transaction name or name of the background jobTASKTYPETask type
[WO] RFC client profile
Technical nameDescription in ST03NACCOUNT, MANDT, USERIDAccount, client, userLOCAL_DEST, PROG_NAMELocal server, RFC programTARGET, REMOT_DEST (*)RFC destination, remote serverENTRY_ID, FUNC_NAME (*)Report name, transaction name or name of the background job
[WP] RFC client destination profile
Technical nameDescription in ST03NACCOUNT, MANDT, USERIDAccount, client, userLOCAL_DESTLocal serverTARGET, REMOT_DEST (*)RFC destination, remote serverENTRY_ID (*)Report name, transaction name or name of the background job
[WQ] RFC server profile
Technical nameDescription in ST03NACCOUNT, MANDT, USERIDAccount, client, userPROG_NAME, RFC_CALLERRFC program, RFC callerTARGET, LOCAL_DEST, REMOT_DEST (*)RFC destination, local server, RFC destinationENTRY_ID, FUNC_NAME (*)Report name, transaction name or name of the background job
[WP] RFC server destination profile
Technical nameDescription in ST03NACCOUNT, MANDT, USERIDAccount, client, userRFC_CALLERRFC callerTARGET, LOCAL_DEST, REMOT_DEST (*)RFC destination, local server, RFC destinationENTRY_ID (*)Report name, transaction name or name of the background job
[VA] WEB client profile
Technical nameDescription in ST03NACCOUNT, MANDTAccount, clientHOST, PORTHost name, portDESTINATION, PATH (*)Destination, Path/URLENTRY_ID (*)Report name, transaction name or name of the background job
[VB] WEB client destination profile
Technical nameDescription in ST03NACCOUNT, MANDTAccount, clientHOST, PORTHost name, portDESTINATION, PATH (*)Destination, Path/URLENTRY_ID (*)Report name, transaction name or name of the background job
[VC] WEB server
Technical nameDescription in ST03NACCOUNT, MANDTAccount, clientHOST, PORTHost name, portDESTINATION, PATH (*)Destination, Path/URLENTRY_ID (*)Report name, transaction name or name of the background job
[VD] WEB server dest.
Technical nameDescription in ST03NACCOUNT, MANDTAccount, clientHOST, PORTHost name, portDESTINATION, PATH (*)Destination, Path/URLENTRY_ID (*)Report name, transaction name or name of the background job
[VE] ESI individual records
Technical nameDescription in ST03NACCOUNT, MANDTNot displayed in ST03NBO_NAMENot displayed in ST03NBO_NODE, BO_CORE_OPERATIONNot displayed in ST03NBO_ACTIONNot displayed in ST03N
Important
In the fields that are marked with (*), you must note that if you avoid using these fields, it may hinder the services of the Active Global Support (for example, EarlyWatch or GoingLive) since the services are based on the data of these fields.
Activating the switches
Select the switches that are before the fields whose contents you can avoid in the workload statistics.
Then select whether or not you want to reaggregate the data that already exists in the database. If the collector terminates with a short dump due to a memory shortage and you require the relevant aggregate, you must activate the reaggregation.
Note that a background program is scheduled for the reaggregation (the name of the job and the program that has started is SWNC_COLLECTOR_RECOMPRESS). Depending on the size of the data records to be reaggregated, this will require between several minutes and a few hours and will allocate, if required, larger quantities of memory (this may reach a gigabyte or more since the aggregates must be loaded and processed).
Execute the program (F8) to save the switch settings and, if required, to schedule the background program.
In the job log of the background program, you can track the progress of the reaggregation (transaction SM37).
More notes
The settings in the program SWNC_COLLECTOR_COMPRESSION are immediately valid for the workload collector. This means that the next collector run considers the settings and removes the data that corresponds to the switches that are set before the new data for the existing profiles is added.You can use the background program SWNC_COLLECTOR_RECOMPRESS to process profiles that already exist in the database. Note that if you empty the columns in the aggregates, you cannot undo this process. In particular, various settings that you make (one after another) accumulate.
For example:The switch “ACCOUNT” is set in “[WM] User profile, transaction profile” and the background program for reaggregating the existing program starts. When this occurs, the system empties the column “ACCOUNT” for the profiles that exist in the database. In transaction ST03N, the column “Account” contains only a pictogram.Deactivate the switch “ACCOUNT” again. However, you must activate the switch “MANDT” instead and restart the background program.As a result, the database contains profiles for which the columns “Account” and “Client” are empty.Any future collector runs remove only the clients from the profile (the account remains) and then add this data to the user profile and transaction profile. This produces a “mixed” profile that contains the pictogram for the removed account name and the real account name.Conclusion: You must carefully consider which switch you want to activate. If you change the setting, this does not restore data that you already removed.The background program SWNC_COLLECTOR_RECOMPRESS will not process all of the existing aggregates in the database. It processes only thosefor which at least one switch is setthat are not “complete”.
This is particularly important for the weekly and monthly aggregates. If the period is completeandyou do not have to reaggregate these aggregates. Therefore, the syste, ignores these.