Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. JMeter for the web applications (onadata and OpenSRP)

    1. Tested Authentication and Submissions

  2. Locust 

    1. SEIT team will need to learn

  3. Locust

  4. Apache bench 

  5. Tsung

    1. We have used it with Ona Data Platform(about 6 years ago) to address some performance issues on some endpoints.

    2. OpenSRP team has also used this

 

Implementing it in the Ona projects

  1. Performance Testing 

    1. OpenSRP APIs

  2. Stress Testing

    1. Measuring the performance outside the normal working conditions.

    2. OpenSRP APIs

  3. Start with the frequently used endpoints: (maps, tables and chats)

  4. Submissions 

  5. Exports

  6. Data view features

    Exports are usually asynchronous. So why exports?

  7. Data view features make sense to test it. How do we determine the endpoints we need to focus on?

  8. Look at Greylogs to identify the areas we should focus on.

  9. We might need to develop a correct scenario

  10. We will use JMeter for now then Locust with time

  11. To be able to predict/estimate what load can be handled in a given environment. 

  12. 99.5% in our SLA. We can benchmark using this as our pass rate.

  13. We should involve the SRE team, the QA team and the Engineers for a collaboration.

  14. What is important for QA? For SRE? Combine efforts to figure out how we can achieve that

  15. In a production env, we split submission servers with API servers to prevent traffic caused from APIS

  16. All APIS requests and submission servers are separate

 

Role of the different teams 

  1. Work together

  2. There are 3 environments (staging, production, preview)

  3. Look at the specs of those environments and compare the two. They should be similar to the live environment.

  4. The results might be skewed from what is expected. 

  5. For the Ona data platform, preview is a replica of the production 

Metrics used in Performance Testing

...

Simulate different strategies for different APIs Not all endpoints are hit equally.

Tasks: 

  1. Environment setup - 

  2. Scripting ; how to generate data (QA)

  3. Running the scripts (QA+ SRE)

  4. Reporting

  5. Indicators to measure load testing - should be guided by what the engineers think a healthy system should look like.

Performance Testing Steps

...

Important notes to go through: 

...