Improve performance

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#shell commands 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 netstat -su | grep "packet receive errors"
Solaris netstat -s | grep udpInOverflows
Windows Impossible to detect
AIX netstat -s | grep "fragments dropped"
FreeBSD netstat -s | grep dropped

Setting buffer size

OS Command
Linux sysctl -w net.core.rmem_max=8388608
Solaris ndd -set /dev/udp udp_max_buf 8388608
FreeBSD, Darwin sysctl -w kern.ipc.maxsockbuf=8388608
AIX no -o sb_max=8388608 (note: AIX only permits sizes of 1048576, 4194304 or 8388608)
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.