This section describes some recommended performance tuning configurations to optimize Apache Stratos. It assumes that you have set up Stratos on Unix/Linux, which is recommended for a production deployment.

OS Level Settings

  • To alter the number of allowed open files for system users, configure the following settings in the limits.conf  Linux file, which is in the  /etc/security/ directory. For more information see,  Setting maximum open file descriptor limits.

    * soft nofile 4096
    * hard nofile 65535

    Optimal values for these parameters depend on the environment.

Apache Stratos Settings

  • Memory allocated for Stratos can be changed by modifying the stratos.sh file, which is in the <STRATOS_HOME>/bin/ directory. For more information see, Setting JVM memory allocation limits for Stratos.
    • The recommended production level deployment settings are as follows:
      • For a single JVM deployment
        -Xms256m -Xmx2048m -XX:MaxPermSize=256m 
      • For a distributed deployment (multiple JVM deployment)
        -Xms256m -Xmx4096m -XX:MaxPermSize=256m
    • Generally, at least 2 GB memory is recommended for production instances. However, this requirement will vary based on the performance requirements, i.e., transactions per second.
  • Increase the pool size of the database connections. We recommend having 200 connections per datasource in production instances. This can be changed by setting the <maxActive> property to 200 in the relevant datasources master-datasources.xml file, which is in the <STRATOS_HOME>/repository/conf/datasources/ directory.
  • No labels