## Description /actions endpoint has very high response latency, The leading factor for this latency is the DB calls to collections which have high volume of data. i.e `actions` and `applications`. This Pr tries to address this by optimising the flow to reduce db calls wherever possible. The following strategies have been used to reduce the latency as much as possible - Reduced DB calls for fetching application and related permission - Added Criteria for removing JS function from the repository call - Added a in memory cache to hold default plugins. (this would be used for filling missing details in action from plugin) resulted in 25-28% performance advantage. - **A good next step would have been adding index on all query parameters, however have held on to that for some data.** In the PR we have added Micrometer observability for /actions endpoint as for more data. > This PR addresses tries to improve the performance of the above endpoints by means of reducing redundant calls to DB, and caching wherever possible. Fixes #21850 ## Type of change - Chore (housekeeping or task changes that don't impact user perception) ## This has been tested: - Manual ## Progress: The DP created with this PR was tested, however the results were not consistent. waiting for testing dashboard to be ready to verify the median/p95 timings from the data ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag |
||
|---|---|---|
| .. | ||
| .run | ||
| appsmith-git | ||
| appsmith-interfaces | ||
| appsmith-plugins | ||
| appsmith-server | ||
| envs | ||
| mongo-seed | ||
| reactive-caching | ||
| scripts | ||
| .gitignore | ||
| build.sh | ||
| buildpack-run.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| entrypoint.sh | ||
| pom.xml | ||
| Procfile | ||
| README.md | ||
| system.properties | ||
Appsmith Server
This is the server-side repository for the Appsmith framework.
For details on setting up your development machine, please refer to this Setup Guide.