Skip to content

Scalability & Performance

Allie Crevier edited this page Dec 22, 2021 · 11 revisions

Scalability and Performance requirements

  • The client needs to be responsive with up to 600 sources.
  • The client needs to be responsive with up to 100 messages and 100 replies per source.
  • A sync (get_sources + get_all_submissions + get_all_replies + update_local_storage) should not take longer than 60 seconds over Tor.

Benchmarking

Configuration

To create many sources:

  1. On your test server, sudo -u www-data bash
  2. cd /var/www/securedrop
  3. NUM_SOURCES=500 ./create-dev-data.py

Or...

  1. On your test server, sudo -u www-data bash
  2. cd /var/www/securedrop
  3. ./qa_loader.py --journalist-count 1 --source-count 500 --submissions-per-source 2 --replies-per-source 2 --source-reply-fraction 1

To create one source with many messages and replies:

  1. On your test server, sudo -u www-data bash
  2. cd /var/www/securedrop
  3. ./qa_loader.py --journalist-count 1 --source-count 1 --submissions-per-source 500 --replies-per-source 500 --source-reply-fraction 1

Tips for improving performance

Clone this wiki locally