wiki:JMeterModule

Performance Testing module

Date 2012/09/14
Contact(s) Jesse Eichar
Last edited
Status Committed
Assigned to release 2.9.x
Resources Funding Swisstopo
Code https://github.com/jesseeichar/core-geonetwork/commits/feature/jmeter

Overview

Add a jmeter module that, when requested, will run various performance tests against a geonetwork instance and provide a report of the results.

Proposal Type

  • Type: Security
  • App: GeoNetwork
  • Module:

Voting History

  • None as yet

Proposal

In order to more easily track and detect performance problems a jmeter module will be created which will have a some jmeter tests defined and can be very easily ran and reports viewed. The details are as follows:

In project add a new jmeter maven module with the [chronos|http://mojo.codehaus.org/chronos] plugin for running jmeter tests and creating reports. The default behaviour will be to use jetty to run Geonetwork and then run the jmeter tests against that instance. The tests can be ran either standalone (just from the jmeter directory) or as part of a full build. The history is tracked an therefore be used to track performance metrics overtime.

In additional to being able to being ran against a Geonetwork ran in an embedded Jetty instance, it is possible to run the tests against an arbitrary Geonetwork instances by passing certain properties to the maven command. See Properties below.

Commands

Command Directory Description
mvn install jmeter Start Geonetwork in embedded jetty and run jmeter tests against instance
mvn site:run jmeter Run the maven site jetty on port 9000. The performance reports are under the Reports section
mvn install -P jmeter root directory Build geonetwork and run jmeter tests
mvn install -P -jmeterjetty install jmeter Run jmeter tests but do not start embedded jetty
mvn install -P -jmeterjetty -Dtestserver.host=otherserver.com -Dtestserver.port=80 install jmeter Run jmeter tests (no jetty) against http://otherserver.com:80/geonetwork

Properties

Property Default Description
testserver.host localhost the server to test
testserver.port 9234 the port to use in http requests
testserver.protocol http the protocol to use when making requests
admin.username admin the user name to use for loading sample data and editing metadata
admin.password admin the password for admin.username
base.url /geonetwork the base url to use when making requests. If changed base.loc.url will also have to be changed
base.loc.url /geonetwork/srv/eng the base url to use when making service requests

Backwards Compatibility Issues

No issues

Risks

Participants

  • As above
Last modified 11 years ago Last modified on Jun 11, 2013, 5:05:17 AM
Note: See TracWiki for help on using the wiki.