1. Setup

Load tests setup for SiteStats consists on the following:

1.1 Provisioning Sakai with sites, users and resources:

  1. Download version_3 of the Provisioning scripts from Alan Berg
  2. Download SiteStats Provisioning config for the Provisioning tool
  3. Change to (2.) folder, create links for scripts from provisioning tool
  4. Follow detailed instructions for remaining steps

1.2 Preparing load tests:

  1. Download and configure The Grinder 3 and Jython
  2. Download SiteStats Grinder config
  3. If site property files from SiteStats Provisioning config were modified, sakai_users_on.txt and sakai_users_on.txt must be re-created (syntax: userId,userPwd,siteId,)
  4. Adjust test parameters on grinder.properties file

1.3 Executing load tests:

The following steps are only a recommended sequence:

  1. Start The Grinder console
  2. Start The Grinder agents from (2.) folder, on any (other) machine
  3. Log in as admin on destination Sakai server and reset SiteStats metrics by browsing to "http://SAKAI_HOST:SAKAI_PORT/direct/sitestats-metrics/reset-all-metrics"
  4. Run The Grinder tests
  5. Log in as admin on destination Sakai server and get SiteStats metrics by browsing to "http://SAKAI_HOST:SAKAI_PORT/direct/sitestats-metrics/get-all-metrics". This provides important SiteStats aggregation stats as "Average time spent in event processing per event", "Number of events processed per sec", "Number of events generated in Sakai per sec", etc.
  6. Ask Sakai server admins for Apache logs

1.4 Processing results:

  1. The Grinder: manually or by using Grinder Analyzer
  2. Apache logs: apache-response-time or any other log analyzer
  3. The SiteStats metrics (from step 5. above) can give an idea of the SiteStats real-time thread aggregator impact on the system. See section Other data below.




2. Results

{composition-setup}{composition-setup}
{deck:id=deck}
{card:label=Test A|default=true}
{card}
{card:label=Test B}
{card}
{deck}




3. Other data

The SiteStats metrics (http://SAKAI_HOST:SAKAI_PORT/direct/sitestats-metrics/get-all-metrics), available on SiteStats 2.1+, can give an idea of how the SiteStats real-time thread aggregator is performing on a live system.

At UFP, we have a total throughput of 28.4 events processed/sec per server node for a rate of 0.15 Sakai events generated/sec per server node (full day stats). For day-only stats (when there is more traffic), we have a throughput of 14.28 events processed/sec per server node for a rate of 0.25 Sakai events generated/sec per server node. These values vary with Sakai load and DB load - since event processing interacts with DB, DB size and tunning are important. Our SST_EVENTS table currently have ~4.000.000 entries (as a reference, SAKAI_EVENT has 40.000.000 entries).