Load tests setup for SiteStats consists on the following:
1.1 Provisioning Sakai with sites, users and resources:
- Download version_3 of the Provisioning scripts from Alan Berg
- Download SiteStats Provisioning config for the Provisioning tool
- Change to (2.) folder, create links for scripts from provisioning tool
- Follow detailed instructions for remaining steps
1.2 Preparing load tests:
- Download and configure The Grinder 3 and Jython
- Download SiteStats Grinder config
- 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,)
- Adjust test parameters on grinder.properties file
1.3 Executing load tests:
The following steps are only a recommended sequence:
- Start The Grinder console
- Start The Grinder agents from (2.) folder, on any (other) machine
- 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"
- Run The Grinder tests
- 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.
- Ask Sakai server admins for Apache logs
1.4 Processing results:
- The Grinder: manually or by using Grinder Analyzer
- Apache logs: apache-response-time or any other log analyzer
- 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.
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).