wiki:testGN241

Performance tests performed on GeoNetwork v2.4.1


<<Setup>>

First let's talk about the setup: To perform this test I've installed a complete new Tomcat environment which probably will give the best results. The performance test can really suck ressources on your machine, so it's better to test Geonetwork on a modern PC instead of some old machine. I used a machine with the following components:

Processor: Intel Q9450 2,66 Ghz Ram: 4GB 800 Mhz Drive: 7500 RPM SATA2

OS: Windows Vista (You could use a Linux Distribution, of course!) Software:

  • Geonetwork 2.4.1
  • Apache Tomcat 6 (Tomcat is one of the flag ships in Web Application Serving. Tomcat 5.5 would do it, too)
  • JRE 6 (or another Java Runtime Environment, but it's essential to have a JRE!)
  • Eclipse Galileo (or Notepad++ for editing)
  • Putty (to check the activity of the server)
  • MySQL Server 5.1 (to have a nice free Database)

Additionally you could set up ant in relation with Tomcat to automate the installation a bit more.


<<Tomcat Configuration>>

Hint: Using Tomcat together with Apache httpd "could" slow down the performance of the whole server system.

There are two possibilities you could configure Tomcat: 1.) Let everything in one directory. This has the advantage you don't have to maintain many directories, but it also has the disadvantage installing a newer Tomcat version would result in a lost config-file and you have to configure your whole settings again or you copy the config file and merge it with maybe new functions in the new config file. However, that would be some extra work.

2.) Separate Tomcat in a HOME and BASIC directory. The HOME directory contains all binaries and engine parts of Tomcat, the BASIC directory contains the individual configuration instances and web applications. For this you have to define two environment variables CATALINA_HOME and CATALINA_BASIC with the specific directories as their values.

I've chosen for number one, because Tomcat 6 would do it for a long time, but if you're one of the persons who likes cutting edge technology prototypes, you can choose for number two of course. After this you have to add the different paths of geonetwork webapps to the Tomcat server configuration. This can be done by adding different context paths to the server.xml under $CATALINA_HOME/conf (Linux) or $CATALINA_HOME\conf (Windows). Please mark these little differences for the future, even though Tomcat would handle the intention of writing a path correctly. It can also be done since Tomcat 5.5 by creating the files "geonetwork.xml", "intermap.xml" and "geoserver.xml" in $CATALINA_HOME/conf/Catalina/localhost and add the following content:

<Context docBase="path/to/geodir/$WEBAPP"

privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>

where $WEBAPP is "geonetwork", "intermap" or "geoserver"


<<MySQL Configuration>>

To configure MySQL you have to choose a username and a password. I left the default username "root" and chose a password "admin". Remember these values, you have to put it in the config.xml of path/to/geonetwork/web/geonetwork /WEB-INF. For this you have to look for:

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- mysql --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<resource enabled="true">

<name>main-db</name> <provider>jeeves.resources.dbms.DbmsPool</provider> <config>

<user>root</user> <password>admin</password> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/geonetwork?useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8</url> <poolSize>10</poolSize> <reconnectTime>3600</reconnectTime>

</config>

</resource>

After this it would be good to start gast.sh (Linux) or gast.bat (Windows) under path/to/geonetwork/bin, go to "Setup" (under the point "Database"), click "Setup" and confirm all values of your current geonetwork schema in your database get lost (if you want that!) and your database configuration is done.


<<Functionality Test>>

The first test was the availability and function correctness of geonetwork running under Tomcat that is required for the Performance test.

I've got the following result:

  • The Geonetwork site appeares in the browser
  • The MySQL database is filled with the values of the geonetwork configuration
  • The Administration Login works as expected
  • The Intermap layer doesn't work (Exception 'li1 is undefined') Further analysis:
  • Tried it with the "data" directory of the geonetwork-2.2 and the geoserver works. The Intermap loads.
    • The jar file pointing to the "data" directory is: path/to/geonetwork/web/geoserver/WEB-INF/lib/main-1.7.3.jar!/applicationContext.xml

Conclusion: The "current stable version" of http://geonetwork-opensource.org (https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v2.4.1/geonetwork-install-2.4.1-0.exe/download) is deprecated!


  • Downloaded src files of svn repository and try it with that (same configuration as described above)
  • Compiled the src files and installed this version under the same configuration

Result: The same error (dependency of data folder) occurs with the SVN head revision.

  • Did the same configuration with Tomcat 5.5

Result: No errors


<<Functionality Test>>

Geonetwork: OK Geoserver: OK Intermap: OK


<<Performance Test>>

The first performance test is done with JMeter.

To be continued.

Last modified 15 years ago Last modified on Sep 13, 2009, 11:38:19 PM
Note: See TracWiki for help on using the wiki.