apigee / apigee-devportal-kickstart-drupal

A fast demo and starting point for Apigee Developer Portals for Drupal
https://www.drupal.org/project/apigee_devportal_kickstart
GNU General Public License v2.0
26 stars 34 forks source link

Apigee devportal kickstart performance issue #683

Open Vikram9888 opened 3 months ago

Vikram9888 commented 3 months ago

[Uploading Multiple APIs call .docx…]() This is regarding To Performance issue,we are using the original Drupal APIGEE Kickstart distribution and it is a new implementation, the performance is being poor from the start .

We've encountered performance issues with the original Drupal Apigee kickstart distribution. This distribution manages APIs between Drupal and Apigee. Our investigation revealed that the root cause is the excessive and unwanted APIs call and slow-response calls from Google APIs, impacting the performance.

Despite debugging we can't alter the in-built functionality of contributed modules(Apigee edge, Apigee monetization) provided by original Drupal Apigee kickstart distribution for communicating with Google APIs, Our goal is to reduce the page load times to below 3 seconds, Currently actions like Creating an APP, Unsubscribing, and product purchase take over 16 seconds for per user, which is un acceptable.

Attached the debug results in this mail and we found the calls being happening at the particular action and we had also tested the same APIs in the postman and got to know that the minimum response time taken for the results for each API is approximately more than 1 second.

Our Team did whatever on their end related to code optimization, css and js aggregation and required module optimization

please find the attached each doc for the API time consumption , Multiple APIs call justification . [Uploading Drupal_portal_PerformanceTestingReportPostChanges_2 (3).xlsx…]()

kedarkhaire commented 3 months ago

Hi @Vikram9888

Thanks for the inputs shared. Can you also let us know, which version of Apigee developer kickstart portal you are using ? Do let us know, we will look into it.

Thanks!

Vikram9888 commented 3 months ago

We are using Apigee developer kickstart version(drupal version) 10.1.8 , we have used this command to install the drupal package composer create-project apigee/devportal-kickstart-project:10.x-dev MY_PROJECT --no-interaction

kedarkhaire commented 3 months ago

Hi @Vikram9888 Thanks for bringing this to us. We will look into it. Thanks!

Vikram9888 commented 3 months ago

@kedarkhaire As per our findings, there is a flaw in this module where data is coming from the API on the first hit, and on the next hit, the data is being picked from the cache along with another API call, which is significantly increasing the response time during app creation ,product purchase total time taking 25 sec which is very high . Ideally, only data should be retrieved from the cache on the next hit, not another API call.

Vikram9888 commented 3 months ago

[Multiple APIs call .docx] Removing the docx as it has sensitive information. Drupal_portal_PerformanceTestingReportPostChanges_2 (3).xlsx

kedarkhaire commented 3 months ago

Hi @Vikram9888

Please enable the Apigee Edge Debug module, it will show you how much time each Api is consuming.

Also be aware before sharing the documents publicly which has your org name, email address and etc.

Thanks!

Vikram9888 commented 3 months ago

Hi @Vikram9888

Please enable the Apigee Edge Debug module, it will show you how much time each Api is consuming.

Also be aware before sharing the documents publicly which has your org name, email address and etc.

Thanks! Hi @kedarkhaire, I am sharing the api consumpion report ,Is there any way reduce the time ? [APIs Time Consumption (1).docx]

Removing doc from here as it contains PII data as well as sensitive data.

kedarkhaire commented 3 months ago

Hi @Vikram9888 As stated earlier, please don't share any documents consisting the PII information & sensitive information like organization name and all.

You can check all the hits associated to each flow by enabling the Apigee Edge Debug module. Enable the module and track your Api hits on the Recent Logs page. All required details will be seen over there. Thanks!