RESTAPI:Improve performance for systems under high load
Applies to:
Purpose:
If your Cryptshare Server is highly frequented it is sometimes necessary to improve the performance of the server.
Solution:
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.
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!
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:
- open launcher.ini (/opt/cryptsahre-3/launcher.ini) with text editor
- Add the Xms flag to the launcher.ini file: -Xms<size>
vm.arg.<number>=-Xms<size> - Add the Xmx flag to the launcher.ini file: -Xmx<size>
vm.arg.<number>=-Xmx<size> - restart the Cryptshare Service/Daemon rccryptshare restart
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
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