Know what performance tuning techniques are available for the various JVMs

Determinations Server

In general tuning the Determinations Server for performance involves tuning the application server in which it runs. You should primarily refer to information on tuning your application server. There are some characteristics of the deterimations server that can help guide effective configuration of your application server, but you should always test against previous benchmarks when you make a configuration change to see if you have improved (or worsened performance).

The Determinations Server is stateless

This means that after each transaction there is a lot of potential garbage collection that can happen. Performance tests have shown that the JVM option aggressive heap (set by the JVM option – XX:+AggressiveHeap) can improve performance in many cases.

Determinations Server is designed to server lots of requests quickly

The Determinations Server can handle HTTP requests fairly quickly, but you may need to increase the number of HTTP requests that the application server can handle at one time. In application servers such as Tomcat, Oracle Weblogic, or IBM Websphere you can configure the number of worker threads available to handle incoming requests.

Most of the work of the Determinations Server is reading the request XML and sending the response.

You will probably find that most requests are around about the same size (in bytes). Tuning the application server to be optimized for this size of request, can improve performance.

Determinations Server has configurable validation (see Determinations Server configuration) as well as configurable logging. If you have experienced a slowdown in performance, you should check the following

Request and response validation is off (see Determinations Server configuration)

Log4j loggers are all set to priority level “error”

By default, the Determinations Server comes configured for performance rather than strong validation. However, if request or response validation (see configure debug logging levels for each of the components)