CKB:Improve performance for systems under high load
Aus Cryptshare Documentation
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:
lauchner.ini
1. Update Cryptshare Server
{{TipBox|title=|content=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.
{{InfoBox|title=|content=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!
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:
# 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
{{InfoBox|title=Example|content=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
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
{| class="wikitable"
|-
|1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|`<?``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
{{TipBox|title=|content=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.
{{InfoBox|title=|content=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!
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:
# 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
{{InfoBox|title=Example|content=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
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
{| class="wikitable"
|-
|1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|`<?``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