Skip to content

Scalability & Performance

Allie Crevier edited this page Jul 1, 2020 · 11 revisions

Scalability requirements

  • The client needs to be responsive with up to 300 sources.
  • The client needs to be responsive with up to 100 submissions and replies per source.

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

  • In Qt you can use QTimer to schedule slices of work
Clone this wiki locally