Performance Tuning
This section describes recommended performance tuning configurations to optimize WSO2 BAM. It assumes that you have set up WSO2 BAM on Unix/Linux, which is recommended for a production deployment.
The below parameter values are just examples. They might not be the optimal values for the specific hardware configurations in your environment. Therefore, carry out load tests on your environment to tune WSO2 BAM accordingly.
If you manage a high volume of data with high concurrency, use a distributed WSO2 BAM setup. Performance tuning depends on the data volume handled by the server and server hardware configuration etc. Following are some key recommendations.
Tuning receiver nodes
Change the following configurations to tune the receiver nodes.
Configuration file | Configuration value |
---|---|
<BAM_HOME>/ bin/wso2server.sh file | -Xms1024m -Xmx1024m -XX:MaxPermSize=512m |
/etc/security/limits.conf file |
|
Tuning analyzer nodes
Change the following configurations to tune the analyzer nodes.
Configuration file | Configuration value |
---|---|
<BAM_HOME>/ bin/wso2server.sh file | -Xms1024m -Xmx1024m -XX:MaxPermSize=512m |
Tuning dashboard nodes
Change the following configurations to tune the dashboard nodes.
Configuration file | Configuration value |
---|---|
<BAM_HOME>/ bin/wso2server.sh file | -Xms1024m -Xmx1024m -XX:MaxPermSize=512m |
Tuning Hadoop nodes
Following are the performance tuning recommendations for tuning Hadoop nodes.
- operating system: Linux
- storage capacity of each node: minimum 10 GB
- network bandwidth: minimum100 Mbps
In
<BAM_HOME>/repository/conf/log4j.properties
file, set the following configuration to suppress Hadoop logs:hadoop.root.logger=ERROR
To prevent Hadoop job information being printed to console, add the following property to
<BAM_HOME>/repository/conf/advanced/hive-site.xml
 file.<property> <name>hive.session.silent</name> <value>true</value> </property>
Tuning Cassandra nodes
Keep the commit log and data directoriess (sstables) on different disks.
Following are the performance tuning recommendations for tuning Cassandra nodes.
Set the Heap memory as follows.Â
System memory Heap Size less than 2GB 1/2 of the system memory 2GB to 4GB 1GB greater than 4GB 1/4 of the system memory, but not more than 8GB - Set following configurations in
<BAM_HOME>/repository/conf/etc/cassandra.yaml
file according to your hardware resources.
- concurrent_reads: 4 * no of cores
- concurrent_writes: 8 * no of CPU cores