search cancel

Poor performance in api portal/gateway 3.5

book

Article ID: 110983

calendar_today

Updated On:

Products

CA API Developer Portal CA API Gateway

Issue/Introduction

Under load testing api gateway fails with OutOfMemoryExecpetion when handling api portal requests.

Environment

API Portal 3.5 CR2 + 
API Gateway 9.3 

Cause

Gettng list of the API's was a slow process, so to optimize a more direct JDBC connection to query the API's can be used in the API Gateway from API Portal 3.5 CR2 onwards. 
 

Resolution



1. Login to your API Gateway via Policy Manager 

2. Create a JDBC connection with the following details: 

Connection Name: Local 
Driver Class: com.l7tech.jdbc.mysql.MySQLDriver 
JDBC URL: jdbc:mysql://<Primary DB Server Hostname-OR-IPaddy>,<Secondary DB Server Hostname-OR-IPaddy>:3306/ssg 
Username: gateway 
Password: <gateway user password set during initial setup> 

3. Click “Test” button to ensure your configuration is valid 

4. Open line 355 of the portalman policy (Perform JDBC Query Assertion) and set the drop down to: 
JDBC Connection = Local 

5. Save and Activate the policy. 

6. Go to "Manage Cluster-Wide Properties" and create a new cluster-wide property named: 
portal.useJDBCToQueryAPIs 
and set the value to: true 

***Note: make sure there isn't any white space in the cluster-wide property name or value*** 

7. Test the API Portal by going to Dashboard > APIs and ensure that you're getting a list of APIs returned. 

If it returns a list of APIs, you should be seeing a noticeable performance improvement when retrieving the list of APIs. Let me know if you have any questions.