RESTAPI:Improve performance for systems under high load

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche


Applies to:

All Versions of Cryptshare

Purpose:

If your Cryptshare Server is highly frequented it is sometimes necessary to improve the performance of the server.


Solution:

1. Update Cryptshare Server

Since the performance improves with every new Cryptshare version, it is advisable to update to the latest version of Cryptshare

2. Check system hardware

If your system is always under high load you need to increase the system hardware (CPU cores & RAM) of your Cryptshare Server.

Check your system performance with the following commands:
Windows: open task manager and switch tab to performance
Linux: enter command htop

If you are running you Cryptshare Server on a virtual appliance it is also advisable to set up hardware version to the latest version!
51971899.png 51971904.png

3. Assign more memory to Cryptshare application

The Cryptshare Application uses 25% of your system memory for default.
To set-up more memory (at least 50%) for Cryptshare Application follow these steps:

  1. open launcher.ini (/opt/cryptsahre-3/launcher.ini) with text editor
  2. Add the Xms flag to the launcher.ini file: -Xms<size>
    vm.arg.<number>=-Xms<size>
  3. Add the Xmx flag to the launcher.ini file: -Xmx<size>
    vm.arg.<number>=-Xmx<size>
  4. restart the Cryptshare Service/Daemon rccryptshare restart
Example
If your system has 8GB memory and you want use 50% (4GB) for Cryptshare Application enter the following values:
lauchner.ini

vm.arg.1=-Xms4G
vm.arg.2=-Xmx4G

4. Change Guest OS settings

For Cryptshare Server running on vSphere the Guest OS settings should be set to the newest version provided by your vSphere
51971901.png
51971902.png
51971903.png

5. Adjust the Web Server Configuration

The configuration file "resources/WEB-INF/ui-config.xml" in the Cryptshare Server installation directory can be used to adjust how the web server behaves, the following section includes comments to highlight the options that can be adjusted to improve performance under high load. You can find the full documentation for the configuration file in the Jetty Wiki.

ui-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "resources/WEB-INF/configure.dtd">
<Configure id="Cryptshare" class="org.eclipse.jetty.server.Server">  
	<Arg name="threadpool">
		<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
			<Arg name="minThreads" type="int">5</Arg>
			<Arg name="maxThreads" type="int">25</Arg> 
			<Arg name="idleTimeout" type="int">1000</Arg>
			<Arg name="queue">
				<New class="java.util.concurrent.ArrayBlockingQueue">
					<Arg type="int">200</Arg> 
				</New>
			</Arg>
		</New>
	</Arg>

	[...]

	<Call name="addConnector">
		<Arg>
			<New class="org.eclipse.jetty.server.ServerConnector">
 				[...]
	 			<Set name="idleTimeout">
					<Property name="http.timeout" default="15000"/> 
				</Set>
				[...]
 			</New>
		</Arg>
	</Call>
	<Call id="sslConnector" name="addConnector">
		<Arg>
			<New class="org.eclipse.jetty.server.ServerConnector">
			[...]
			<Set name="idleTimeout">
				<Property name="http.timeout" default="15000"/> 
			</Set>
			[...]
			</New>
		</Arg>
	</Call>
</Configure>

Additionally, other settings of the Cryptshare Server can be adjusted to improve responsiveness as described here: Advanced Cryptshare Configuration