Benchmark LogicalDOC

From LogicalDOC Community Wiki
Revision as of 07:36, 29 October 2012 by Car031 (talk | contribs) (Session Properties)
Jump to navigationJump to search

Introduction

This page documents the benchmark suite available since LogicalDOC 6.5. There is a new remotely-driven benchmark client that can be run against any standard server installation. The aim is to provide a simple Java client that can call through to a standard remote LogicalDOC installation (cluster or single machine) and provide an indication of the performance of the configuration. The Remote Benchmark Client communicates with LogicalDOC over SOAP. The services exposed over SOAP are also fit for production-level clients, and the general infrastructure can be used to expose any number of services for other client code to use. All files can be downloaded directly from the LogicalDOC Distributions (http://sourceforge.net/projects/logicaldoc/files/distribution).

Activating the Server WebServices APIs

Although the exposed services on the server are fully protected by the necessary authentication mechanisms, a sample flag still needs to be enabled to expose them. In the Administration, go to Settings->Client and External Apps->WebServices and click on Enabled and press Save.

Getting the Client

The client is packaged in a .zip archive named logicaldoc-XXX-benchmark.zip.

Client Configuration

The client is initialized using setting read from a Java properties file. The location of this file is conf/context.properties.

session.url=http://localhost:8080
session.username=admin
session.password=admin
session.language=en
loaders=Upload
webservice.gzip=-1

The config is divided into several sections. The session.xx section controls behaviour across all execution threads, while the test.xx sections control specific thread behaviour.


Session Properties

  • session.url: The URLs of all servers that are to be used. These must all be part of a cluster and tests will

distribute the load randomly across them.

  • session.username: The username to use for every test
  • session.password: The password to use for every test
  • session.language: language to be used in load operations (see Java 6 Locale, en=English)
  • loaders: List of the loaders to start (Search, Upload, ListFolders)
  • webservice.gzip: -1=no compression 0=all packets are comressed N=only packets > N bytes will be compressed