medic / cht-core

The CHT Core Framework makes it faster to build responsive, offline-first digital health apps that equip health workers to provide better care in their communities. It is a central resource of the Community Health Toolkit.
https://communityhealthtoolkit.org
GNU Affero General Public License v3.0
438 stars 209 forks source link

Create and execute realistic replication scalability test #7077

Open craig-landry opened 3 years ago

craig-landry commented 3 years ago

Output should be reliable, realistic metrics of what we would expect for CHT 4.0/archv3 in production against a large CHT instance.

garethbowen commented 2 years ago

To flesh this out some more, the ultimate goal is to get to a number of caring actions that cht-core 4.0.0 can support per month documenting things like number and size of servers required so we can give partners a good idea of how many users they can scale to given a known workload per user.

Obviously we don't want to run the suite for a whole month, so the script will need to extrapolate from a smaller scale run.

@lorerod has made a great start on this script for generating production like data here: https://github.com/medic/cht-core/tree/master/tests/scalability/generate_brac_data . The rest of the work is to write a script which uploads the generated data and gets a bunch of users to do the initial replication, then simulating cht-core by replicating bidirectionally periodically to upload and download docs.

@dianabarsan has agreed to take this work on when convenient so assigning over to her.