Versions Compared

Key

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

1. PurposeWe are intending to baseline the performance of the Bahmni app for clinics. The test will be extended to check the maximum Scope

Develop performance test automation to validate total number of clinics that can be supported with on a given infrastructure configuration without scaling up.2.

  • Baseline Hardware: RAM 16GB, 4 vCPU and 100GB Secondary storage

    • Standard Traffic Load: 40-50 Active users

    • [Stretch Scope] High Traffic Load: 50-70 Active users

    • [Out of Scope] Peak Traffic Load: 70-110 Active users

  • The automation would simulate Standard Traffic Load conditions

  • No existing data would be considered (It will start from Fresh DB)

  • Support 2-3 user flows such as registration, and consultation

2. Introduction

The purpose of this document is to provide an outline for the performance test where baselining & capacity of the system will be covered.

...

  • Entry & exit criteria

  • Load tool Selection & approach

  • Environment requirement

  • Baseline test approach

  • Capacity test approach

  • Test execution activities

  • Risk Factors

...

  • Identification of critical flows & agreement

    Patient registration

    • Registration (New and Existing Patients)

    • Doctor consultation

    • Data Patient data upload

    • [Stretch scope] Bahmni Report generation

  • Performance test types finalization

    • Baseline for single clinic operationCapacity or max number of clinics can be successfully supported without auto cluster(expected response time) to support clinical operation on a given hardware configuration for standard traffic load

  • Load generator setup

    • Load gen tool: Gatling

  • Server performance monitoring

    • Pothemeus & Grafana

  • Data set up (For one clinic)

    • Basic users setup (1 registration, 1 billing, 3 2 doctors)

    • No existing data, start from scratch

    • Data growth pattern for a clinic Click Here

...

The testing activity will be completed when:

  • The baseline results are shared and discussed with the team.Gatling Performance test reports are generated and published

  • Summarize overall

  • Find the capacity of the app to support the maximum number of clinics without any error.

  • Finalise the costing infra to support above results.

...

The key challenge with Gatling is the version upgrade e.g. minor version upgrade results into breaking changes.

6. Environment requirement

The performance test will be executed in an new environment which is exclusive for these tests. A stable version of the Bahmni build will be deployed for it. The build number will be the same for all the tests unless any major issue is uncovered.

Server Configuration:

RAM: 16 GB

Hard Drive: 100 GB

4 vCPUs

The server will be instrumented with Pothemeus & Grafana which will help to collect server metrics during the testing.

7. Baseline test approach

Baseline tests will be performed for a single clinic. It won’t have any pre-existing data except for the users preconfigured. The script will perform the following operations:

...