Feature Wiki

Information about planned and released features

Tabs

Performance Monitoring

1 Requirements

1.1 Testsuite

The primary goal of this testuite is awareness

  • Admins being aware about effects of updates
  • Developers being aware about effects of recent code changes

=> See Continuous Monitoring
Further goals are manifold
  • A chance to learn from immediate feedback
  • Integration in ILIAS-development to ensure sustainable processes
  • A means to have more objective measurements
  • The possibility of re-use to test + monitor your production environments
  • etc.
We propose to use Jmeter to do performance testing. Jmeter is a standard tool for load testing of web-applications. Jmeter is fast and scalable and maintained by the Apache Foundation.

The performance testsuite will be hosted at GitHub.

1.2 Continuous Integration

ILIAS e. V. already runs a Travis CI server to monitor code quality in ILIAS. This proposal is to integrate Jmeter under the ‘umbrella’ of Travis CI. This makes Travis the leading system for continuous integration processes. Jmeter is triggered by Travis and reports back to Travis. If possible - the visualisation shall be done in Travis.

Jmeter can be run in a master-slave setup, where the Jmeter master can be on a different machine than the Jmeter slave who actually performs the load testing. This can be used to implement a Jmeter slave on a server of the SIG-Performance Cluster (hosted by Databay), while the Jmeter Master could remain on a server hosted by the ILIAS e. V.

1.3 Reference System

The Performance Test Cluster would be the reference system (current specifications can be provided). Note: It is not possible to have a reference system for each possible wild-type ILIAS installation – because of too many possible combinations. The SIG Performance Cluster aims to mirror a sophisticated setup for rather large ILIAS installations, because performance issues are more likely to be expected on large-scale installations. The setup will therefore be much more realistic than the usual local setups used by developers for day-to-day work.

1.4 Community Processes

Last - but not least - it has been an explicit wish of the SIG Performance to emphasize community processes to use and extend the test suite collaboratively in the future. Good community processes are considered more important than the initial test suite, i.e. to

  • report a problem
  • suggest new testcases
  • improve testcases
  • etc.
This proposal is to use GitHub for these processes, since the testsuite will be hosted at GitHub. You can find more information in the Performance Testsuite Wiki at Github.

2 Additional Information

3 Discussion

4 Implementation

{please give a description of the final implementation and add screenshots if possible}

Test Cases

No testcases - no changes to ILIAS.

Approval

Approved at {date} by {user}.

Last edited: 20. Nov 2015, 16:31, Lauener, Hansjörg [lauener]