== Performance tests performed on GeoNetwork v2.4.1 == ---------------------------------------------------------------------------------------------------------------- <> 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. ---------------------------------------------------------------------------------------------------------------- <> 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: **************************************************************************************** **************************************************************************************** where $WEBAPP is "geonetwork", "intermap" or "geoserver" ---------------------------------------------------------------------------------------------------------------- <> 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: main-db jeeves.resources.dbms.DbmsPool root admin com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/geonetwork?useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8 10 3600 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. ---------------------------------------------------------------------------------------------------------------- <> 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: * No tmp or httpCache issue of intermap * Seems to be a Geoserver issue (http://localhost:9090/geoserver and http://localhost:9090/geoserver/wms not available) * Adding other layers than the local layers to intermap DOES work * The log says "Context Initialization failed". There is no bean 'data' found in path/to/geonetwork/web/geoserver - 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 ---------------------------------------------------------------------------------------------------------------- <> Geonetwork: OK Geoserver: OK Intermap: OK ---------------------------------------------------------------------------------------------------------------- <> The first performance test is done with JMeter. To be continued.