Tuning your environment to run SIP servlets

You might want to implement one or more of the following tuning suggestions if you are encountering performance issues while running SIP servlets.

About this task

The following recommendations are provided as is without any implied warranty.

Procedure

  • Make the following changes to your Java™ virtual machine (JVM) settings.

    [AIX Solaris HP-UX Linux Windows][IBM i]To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > Process Definition > Java Virtual Machine.

    [z/OS]To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > Process Definition > Control > Java Virtual Machine.

    1. Select Enable Verbose garbage collection.
    2. Set Initial heap size to 1284.
    3. Set Maximum heap size to 1284.
    4. Specify -Xmn150m -Xgcpolicy:gencon -Xtgc:parallel -Xgc:scvNoAdaptiveTenure,scvTenureAge=1,stdGlobalCompactToSatisfyAllocate -Xdump:heap:events=user,request=exclusive+prepwalk+compact -Xcompactexplicitgc -XX:MaxDirectMemorySize=256000000 -Xdump:heap:events=user,request=exclusive+prepwalk+compact in the Generic JVM arguments field.
    5. Change the following JVM log settings for the application server.

      [AIX Solaris HP-UX Linux Windows][IBM i]To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > Process Definition > Logging and Tracing > JVM Logs.

      [z/OS]To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > Process Definition > Control > Logging and Tracing > JVM Logs.

      • Under System.out, specify 20 for the File size maximum Size property and 2 for the Maximum number of historical log files property.
      • Under System.err, specify 20 for the File size maximum Size property and 2 for the Maximum number of historical log files property.
    6. Change the following node agent detection monitoring policy settings

      These setting changes enable the JVM to detect if the operating system has hung.

      To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > MonitoringPolicy.

      • Set the Maximum startup attempts property to 2.
      • Set the Ping interval property to 30.
      • Set the Ping timeout property to 60.
  • Create a thread pool, and specify SipContainerPool for the Name property, and 45 for both the Minimum size, and Maximum size properties.
  • Make the following changes to your SIP container settings.

    To make these changes, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name > SIP Container Settings > sip_container.

    1. Set the Maximum application sessions property to 36000.
    2. Set the Maximum messages per averaging period property to 26640.
    3. Set the Maximum dispatch queue size property to 5220.
    4. Set the Averaging period property to 30000.
    5. Set the Statistics update rate property to 3000.
    6. Select SipContainerPool from the list of available thread pools.
    7. Click Custom Properties > New, and add the following SIP container custom properties to your SIP container settings.
      Table 1. SIP container custom property settings . This table indicates settings that you might want to specify for the listed SIP container custom properties if you need to improve the performance of your SIP servlets.
      Name Value
      javax.sip.max.object.pool.size 1000
      javax.sip.stat.report.interval 0
      max.tu.pool.size 1000
      weight.overload.watermark 1
      end.of.service.replication true
      immediate.replication false
      thread.message.queue.max.size 5000
      bootstrap.batch.size 1000
      bootstrap.blocking.delay 500
    8. From the SIP container settings page, click SIP container transport chains > SIPCInboundDefaultUDP > UDP Inbound channel (UDP 1) > Custom Properties >New, and add the following two custom properties.
      Table 2. UDP inbound channel (UDP 1) custom property settings . This table indicates settings that you might want to specify for the listed UDP inbound channel (UDP 1) custom properties if you need to improve the performance of your SIP servlets.
      Name Value
      sendBufferSizeSocket 3000000
      receiveBufferSizeSocket 3000000
  • Make the following changes to your proxy server settings for each of your proxy servers.

    To make these changes, in the administrative console, click Servers > Server Types > Proxy servers > proxy_server_name > Proxy server settings.

    1. Create two new ports.

      To add these ports, click Ports on the Proxy servers > proxy_server_name page.

      Specify the following settings for the first port:
      • Select User-defined Port.
      • Specify SIP_LB_ADDRESS in the Port name field.
      • Specify the name of the Load Balancer (cluster) address in the Host field.
      • Specify 5060 in the Port field.
      Specify the following settings for the second port:
      • Select User-defined Port.
      • Specify HTTP_LB_ADDRESS in the Port name field.
      • Specify the name of the Load Balancer (cluster) address in the Host field.
      • Specify 80 in the Port field.
    2. On the Ports page, change the value of the Host field for the DCS_UNICAST_ADDRESS port to the host name of the management network for the proxy server. This network handles WebSphere® Application Server inter-process communication, such as Distribution and Consistency Services (DCS) communication.
    3. On the Ports page, change the value of the Host field for the PROXY_HTTPS_ADDRESS, PROXY_HTTP_ADDRESS, PROXY_SIPS_ADDRESS and PROXY_SIP_ADDRESS ports to the host name of the network that is handling SIP traffic for the proxy server.
    4. Add the following custom properties.

      To add these properties, from the Proxy server settings page, click SIP proxy settings > Custom Properties.

      Table 3. SIP proxy server custom property settings . This table indicates settings that you might want to specify for the listed SIP proxy server custom properties if you need to improve the performance of your SIP servlets.
      Name Value
      isSipComplianceEnabled false
      serverUDPInterface The host name of the network that is handling SIP traffic for the proxy server. This value becomes the Container Facing Interface.
      serverUDPPort 5080 This port becomes the Container Facing Port.
      LBIPAddr The Load Balancer IP address. This address is not the cluster address.
      SIPAdvisorMethodName Options
      maxThroughputFactor 90
      perSecondBurstFactor 200
      burstResetFactor 120
      sipProxyStartupDelay 120000
      proxyTransitionPeriod 360
      minDeflatorRatio 6
      maxDeflatorRatio 10
      keepAliveInterval 2000
      keepAliveFailures 3
      clusterRouteConfigUpdateDelay 60000
      localOutboundTCPAddress The IP address of the local outbound TCP connection
      localOutboundTCPPort The port number of the local outboud TCP connection
      receiveBufferSizeSocket 3000000
      sendBufferSizeSocket 3000000
    5. Delete the UDP transport chain UDP_SIP_PROXY_CHAIN

      To delete the UDP transport chain UDP_SIP_PROXY_CHAIN, click SIP proxy server settings > SIP proxy server transports on the Proxy server settings page, select the UDP transport chain UDP_SIP_PROXY_CHAIN, and then click Delete.

    6. Change the settings of the SIP proxy server transport.

      To change the settings of the SIP proxy server transport, click SIP proxy server settings > SIP proxy server transports > New on the Proxy servers > proxy_server_name page, and then specify the following settings for the new transport:

      • Specify SIP_LB_CHAIN in the Transport chain name field.
      • Specify proxy in the Transport chain template field.
      • On the next administrative console page, select Use existing port and SIP_LB_ADDRESS from the lists of available options.
    7. Change the settings of the HTTP proxy server transport.

      To change the settings of the HTTP proxy server transport, click HTTP proxy server settings > Proxy server transports > New on the Proxy servers > proxy_server_name page, and then specify the following settings for the new transport:

      • Specify HTTP_LB_CHAIN in the Transport chain name field.
      • Specify proxy in the Transport chain template field.
      • On the next administrative console page, select Use existing port and HTTP_LB_ADDRESS from the lists of available options.
    8. Add the following custom properties to the UDP channel settings.

      To add new custom properties to the UDP channel settings, click SIP proxy transport chains > UDPInboundChannel > Custom Properties > New on the SIP proxy server settings page.

      Table 4. UDPInboundChannel custom property settings for SIP proxy transport chains . This table indicates settings that you might want to specify for the listed UPDInboundChannel custom properties for SIP proxy transport chains if you need to improve the performance of your SIP servlets.
      Name Value
      sendBufferSizeSocket 3000000
      receiveBufferSizeSocket 3000000
    9. Add the following custom properties to the HTTP proxy server settings.

      To add this property, click Proxy server settings > Proxy settings > Custom Properties > New on the Proxy servers > proxy_server_name page.

      Table 5. HTTP proxy server custom property settings . This table indicates settings that you might want to specify for the listed HTTP proxy server custom properties if you need to improve the performance of your SIP servlets.
      Name Description Value
      localOutboundTCPAddress Local outbound interface address The proxy address of the network that is handling SIP traffic.
      localOutboundTCPPort 1080 Local outbound port
    10. Change the following JVM settings for the proxy server.

      [AIX Solaris HP-UX Linux Windows][IBM i]To make these changes, in the administrative console, click Servers > Server Types > WebSphere proxy servers > proxy_server_name > Java and Process Management > Process Definition > Java virtual machine.

      [z/OS]To make these changes, in the administrative console, click Servers > Server Types > WebSphere proxy servers > proxy_server_name > Java and Process Management > Process Definition > Control > Java virtual machine.

      • Set Initial heap sze to 300.
      • Set Maximum heap size to 450.
      • Add -Xmo60m;-Xgcpolicy:gencon;-Xgc:noAdaptiveTenure,tenureAge=8,stdGlobalCompactToSatisfyAllocate;-Xtgc:parallel -Xdump:heap:events=user,request=exclusive+prepwalk+compact;-Xloa;-Xloaminimum0.03 to the Generic JVM argumentsfield.

        If you are running over 50 proxy servers in your environment, you might also want to specify -Xmo200m to -Xmo600m

    11. Change the following JVM log settings for the proxy server.

      [AIX Solaris HP-UX Linux Windows][IBM i]To make these changes, in the administrative console, click Servers > Server Types > WebSphere proxy servers > proxy_server_name > Java and Process Management > Process Definition > Logging and Tracing > JVM Logs.

      [z/OS]To make these changes, in the administrative console, click Servers > Server Types > WebSphere proxy servers > proxy_server_name > Java and Process Management > Process Definition > Control > Logging and Tracing > JVM Logs.

      • Under System.out, specify 20 for the File size maximum Size property and 2 for the Maximum number of historical log files property.
      • Under System.err, specify 20 for the File size maximum Size property and 2 for the Maximum number of historical log files property.
  • Set the size of the application server transport buffer and the proxy server transport buffer to 100 megabytes.

    For the application server, in the administrative console, click Servers > Server Types > WebSphere application servers > server_name, and enter 100 for the Transport buffer size property.

    For the proxy server, in the administrative console, click Servers > Server Types > WebSphere proxy servers > server_name, and enter 100 for the Transport buffer size property.

  • Set the size of the deployment manager transport buffer to 100 megabytes.

    In the administrative console, click System administration > Deployment manager > Core group service, and enter 100 for the Transport buffer size property.

  • For each node agent, set the size of the node agent transport buffer to 100 megabytes.

    In the administrative console, click System administration > Node agents > node_agent Core group service, and enter 100 for the Transport buffer size property.

  • Make the following changes to your core group settings.
    1. Change the settings for the IBM_CS_FD_PERIOD_SECS, IBM_CS_FD_CONSECUTIVE_MISSED, and IBM_CS_DATASTACK_MEG core group custom properties.
      The following values are recommended for these custom properties:
      Table 6. Core group custom property settings . This table indicates settings that you might want to specify for the listed core group custom properties if you need to improve the performance of your SIP servlets.
      Name Description Value
      IBM_CS_FD_PERIOD_SECS This custom property specifies, in seconds, how frequently the Failure Detection Protocol checks the core group network connections that the discovery protocol establishes. The Failure Detection Protocol notifies the Discovery Protocol if a connection failure occurs. 2
      IBM_CS_FD_CONSECUTIVE_MISSED This custom property specifies the consecutive number of heartbeats that must be missed before the core group member is considered failed.

      Do not configure this custom property unless you are running in a mixed cell environment that includes at least one core group that contains a mixture of Version 7.0 and Version 6.x processes.

      3
      IBM_CS_DATASTACK_MEG This custom property specifies, in megabytes, the amount of memory that is available for synchronization.

      Do not configure this custom property unless you are running in a mixed cell environment that includes at least one core group that contains a mixture of Version 7.0 and Version 6.x processes.

      100
      For more information on these properties, see the core group custom properties documentation.