Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load Testing of Passport Application and API #2409

Closed
2 tasks
erichfi opened this issue Apr 19, 2024 · 3 comments · Fixed by #2448 or passportxyz/passport-scorer#584
Closed
2 tasks

Load Testing of Passport Application and API #2409

erichfi opened this issue Apr 19, 2024 · 3 comments · Fixed by #2448 or passportxyz/passport-scorer#584

Comments

@erichfi
Copy link
Collaborator

erichfi commented Apr 19, 2024

User Story:

As a developer,
I want to conduct thorough load testing on both the Passport application and its APIs,
so that I can verify the system's ability to handle increased traffic and ensure a seamless user experience under various load conditions.

Acceptance Criteria

GIVEN the Passport application or API has been updated or is expected to face increased traffic,
WHEN I perform load testing,
THEN the system should perform without significant slowdowns or failures,
AND any performance bottlenecks or scalability issues should be identified and remedied.

Product & Design Links:

Tech Details:

  • Focus Areas:
    • Conduct tests on both the Passport application's user interface and backend APIs to assess the entire system's performance.
    • Test under scenarios mimicking real user behaviors and high-traffic conditions to identify performance limits.
  • Performance Metrics:
    • Monitor critical metrics such as response time, throughput, error rates, and system resource utilization during the tests.
    • Evaluate the system's scalability by gradually increasing the load until the performance threshold is reached.
  • Infrastructure and Setup:
    • Ensure the test environment closely replicates the production setting to gather accurate insights.
    • Use automated scripts to simulate load and stress on the system.
  • Collaboration and Reporting:
    • Work closely with the infrastructure and operations teams to prepare and review test setups.
    • Document test results and share findings with all relevant stakeholders to guide further development and optimization efforts.

Open Questions:

  • What are the key performance indicators that will define success for the load tests?
  • How will we address identified bottlenecks, and what are the escalation processes for critical performance issues?

Notes/Assumptions:

  • Assume that the existing infrastructure can support initial load testing scenarios without additional investment.
  • Results from the load testing will inform decisions on necessary infrastructure enhancements or application optimizations.
@tim-schultz
Copy link
Collaborator

  • Note for self, try to test for database issue from Q3 last year

@tim-schultz
Copy link
Collaborator

tim-schultz commented May 9, 2024

During testing the support banner endpoint experienced issues under high load. @erichfi/ @jesuloluwao do you all still use the banner feature or do you prefer using the intercom banner? We could deprecate the banner if intercom is the preferred solution.

I added a rundown of the test results and suggestions here: https://docs.google.com/document/d/1ps7jYYBa-xFAeTFt32-D2-s526oon0mxkJlnzrj2k74/edit

Just waiting on reviewing them with the team

@tim-schultz
Copy link
Collaborator

Here are my suggestions based on load testing.

  • Move /nonce endpoint over to a lambda
  • Move /banner endpoint to a lambda
  • Move /check endpoint to a lambda. The request continues to return 504 errors due to server load

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
2 participants