This page will help you solve problems related to Performance issues that occurs during the saving step. The saving step occurs at the end of the run analyzer step, when the analysis process compares and flush the results in the Knowledge database.
Release | Yes/No |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
7.3.x |
RDBMS | Yes/No |
---|---|
Oracle Server | |
Microsoft SQL Server | |
CSS2 | |
CSS3 |
- Identify whether the performance issue lies in the Comparing Step or in the Saving Step. You can verify this, by checking the dates of begin and end for each step in the analysis log file.
- Take a backup of the Management Base and Knowledge Base
- Activate the AMT Debug Mode by following the page : Activate AMT saving debug mode, disable all the tools after analysis, and then relaunch analysis.
Replay the AMT saving step-by-step and generate a stack trace
- Provide the call stack to CAST Technical Support, along with the below Relevant Input
Check if the performance issue is due to database server bad performance
- Run the PGBench tool that will run a set of SQL transaction on your CSS / postgresql Server. Follow the steps of the page RDBMS Information - PostgreSQL - Performance monitor with PGBENCH
- Open the output file
- Check the 3 last lines giving information about performance.
Replay the AMT Saving step-by-step
- Identify the number of the SAV_IN tables set.
- Open pgadmin and look for tables called SAV_IN_OBJECTS_X where X is a number. If after activating the IN tables, you analyzed the execution unit which has a performance issue only, then there should be only one. X is the number of the sav_in_tables set.
- Identify the session ID
Run the following query on the KB : <SET_NUMBER> should be replaced by the number of the SAV_IN tables set
Session IDSELECT DISTINCT session_id FROM sav_in_objects_<SET_NUMBER>;
- The result of the query will be the SESSION_ID
- Identify the project ID
Run the following query on the KB (objtyp 669 is the id type for User Projects):
Project IDSELECT idkey, keynam FROM keys WHERE objtyp = 669 AND keynam != 'KB Information Finalization';
Example of results :
Project ID results301;"My_User_Project"
The project ID is 301 in this example
Launch the initialization by running the following query on the KB
Launch InitializationSELECT cache_init(<SESSION_ID>);
Fill the IN tables. Run the following query on the KB :
Fill-in the IN tablesSELECT dbgamt_replayloadintable(<SET_NUMBER>, <SESSION_ID>);
- Launch the Comparing Step
Run the following query in KB :
Comparing Stepselect CACHE_PROCESSID(<SESSION_ID>, <PROJECT_ID>);
- Check if issue is reproduced (query is stuck) in Comparing step.
- If issue is reproduced in Comparing Step, then proceed to 'generate a stack trace' step
- If not, then launch the Merging Step
Run the following query in KB :
Merging StepSELECT cache_flushdata(<SESSION_ID>)
- If issue is reproduced(query is stuck), then proceed to 'generate a stack trace' step
- Generate a stack trace for the running query
- Using PGAdmin, connect to the CSS server. Click Tools, click Server Status like below :
- Check in the server status the function that is currently in progress
- If the issue was in the Comparing Step, then you should see "CACHE_PROCESSID" in orange color in the above screenshot.
- If the issue was in the Merging Step, then you should see "CACHE_FLUSHDATA" in orange color in the below screenshot.
- Click on the orange button to cancel the query. It will generate a stack trace in the Log View. If not open, open the Log View by selecting View → Application Logs in the Main Menu.
- Copy the whole stack trace and provide it to CAST Technical Support
- If the issue was in the Comparing Step, then you should see "CACHE_PROCESSID" in orange color in the above screenshot.
- Using PGAdmin, connect to the CSS server. Click Tools, click Server Status like below :
Relevant Input
- Sherlock (CAST Support Tool (CST) - alias Sherlock) with option Export databases (KB only), taken after you apply the Action Plan
- Stack trace generated during the Action Plan.