JVM Configuration
Cipango performance configuration is mainly function of JVM memory configuration.
The memory needed is function of number of concurrent calls, application, session duration.
Performance will be greatly improved if the following line is set in /etc/default/jetty
JAVA_OPTIONS=="-Xmx1700M -Xms1700M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC"
To allow Cipango to use more than 2 Gb of RAM, you should use a 64 bits OS and JVM.
See in Running and Stopping to see how to set this JVM property.
Adapt maximum heap size (-Xmx) and minimum heap size (-Xms) with memory available.
Ensure that in every case only RAM is used. (no swap used)
These parameters are not set by default in order to allow to run Cipangp on computers with few memory.
Log configuration
message tracing should be disabled: Ensure in cipango.xml, that the following XML is commented.
<Set name="accessLog"> <New class="org.cipango.server.log.FileMessageLog"> ... </New> </Set>
Servlet
As written in sip servlet specification, for reasons of performance, it is recommended that applications explicitly invalidate SIP application session and SIP session objects as soon as possible.
TCP and UDP received buffer size
If there is some retransmissions and CPU is not at 100% usage, this could be the sign that buffer size is too small: some packets are destroyed by the OS before its can be handled by JVM.
More details on buffer sizing are available on http://www.29west.com/docs/THPM/udp-buffer-sizing.html
Detection
To detect packets lost due to small received buffer size, use the command:
OS |
Command |
---|---|
Linux |
|
Solaris |
|
Windows |
Impossible to detect |
AIX |
|
FreeBSD |
|
Setting buffer size
OS |
Command |
---|---|
Linux |
|
Solaris |
|
FreeBSD, Darwin |
|
AIX |
|
Detect memory leaks
We recommend to use YourKit Java Profiler.
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.