ManageEngine NetFlow Analyzer Performance tuning steps

ManageEngine NetFlow Analyzer Performance tuning steps

We all know that NetFlow analysis product are resource intensive as it parse the flow records received every second , the product should be tuned in a such a way that it accommodate all the flows received and generate accurate stats.

The NetFlow Analyzer product is more resource intensive application and it comes with default tuning for 2 GB. If you have installed the product on a dedicated machine with plenty of RAM and CPU, you can tune the product additionally to get better performance. You can refer the flow rate based system requirement for NetFlow Analyzer by clicking here

For tuning the product for better performance, first check the database NetFlow Analyzer is using. You can find the database by clicking on About link at the top right corner. If the NetFlow Analyzer is using Mysql as a database, refer the tuning steps mentioned here.

Below given are the steps for tuning the Java and Postgres database for better performance.

Java Tuning for Windows:


Please follow these steps in case your 32 Bit machine is running with RAM of 3 GB or more.

1. Shutdown NetFlow Analyzer.
2. Open the file "wrapper.conf" present under the NetFlow_Home/conf/ directory in a text editor. Find the following line in the file

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=256


Please change the value of "wrapper.java.maxmemory" from 256 to 1024.

Modified line will look like as the following.

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024

Please save the wrapper.conf file.












64 Bit machine running 6 GB of RAM or More :-

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=2048

64 Bit machine running 8 GB of RAM or More :-

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=4096

64 Bit machine running 16 GB of RAM or More :-
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=8192

3. Open a command prompt as Administrator and navigate to <NetFlow\bin> directory and execute the following batch files one after the other




na_service.bat -r
na_service.bat -i


4. Open the file "run.bat" present under the NetFlow_Home/bin/ directory in a text editor. Find the following lines in the run.bat file



32 Bit Machine with 3 GB of RAM or more:


# Setup JBoss sepecific properties
JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx512m


Please change the "-Xmx512m" to -Xmx1024m.



64 Bit Machine with 6 GB of RAM or more:

Please change the "-Xmx512m" to -Xmx2048m.

64 Bit Machine with 8 GB of RAM or more:

Please change the "-Xmx512m" to -Xmx4096m.

64 Bit Machine with 16 GB of RAM or more:

Please change the "-Xmx512m" to -Xmx8192m.


Save the run.bat file


5. Start NetFlow Analyzer


Java Tuning for Linux:




Please follow these steps in case your machine is running with RAM of 3 GB or more.


1. Shutdown NetFlow Analyzer.
2. Open the file "wrapper.conf" present under the <NETFLOW_HOME>/conf/ directory in a text editor. Find the following line in the file


# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=256


Please change the value of "wrapper.java.maxmemory" from 256 to 1024.
Modified line will look like as the following.

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024





64 Bit machine running 6 GB of RAM or More :-

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=2048

64 Bit machine running 8 GB of RAM or More :-

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=4096

64 Bit machine running 16 GB of RAM or More :-
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=8192

Please save the wrapper.conf file.

3. Open the run.sh file present under the "<NetFlow_HOME>/bin" directory in a editor. Find the following line


# Setup JBoss sepecific properties
JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx512m

-Dprogram.name=$PROGNAME -Djboss.server.type=com.adventnet.j2ee.deployment.system.A
dventNetServerImpl -Djboss.deploy.localcopy=true -Djboss.boot.library.list=log4j-boot.jar,jboss-common.jar,jboss-system.jar
,AdventNetDeploymentSystem.jar,commons-logging.jar"


Please change the "-Xmx512m" to -Xmx1024m.

64 Bit Machine with 6 GB of RAM or more:













Please change the "-Xmx512m" to -Xmx2048m.

64 Bit Machine with 8 GB of RAM or more:

Please change the "-Xmx512m" to -Xmx4096m.

64 Bit Machine with 16 GB of RAM or more:

Please change the "-Xmx512m" to -Xmx8192m.


Save the run.sh file

4. Start NetFlow Analyzer

The above mentioned steps helps you to tune the Java of NetFlow Analyzer installed on Windows and Linux machines. Now, the database tuning steps.

Postgres database Tuning :-

Windows and Linux:-

1. Stop the NetFlow Analyzer service.

2. Navigate to <NetFlow\pgsql\data> folder, open the file "postgres_ext.conf", if you are not able to find this file, open a fresh file in the editor and update the values as mentioned below and save the file as "postgres_ext.conf".

32 bit Machine with 3 GB or More RAM:


#$Id$
port = 13310             
shared_buffers = 128MB      
work_mem = 24MB              
maintenance_work_mem = 200MB      
checkpoint_segments = 15      
checkpoint_timeout = 11min      
checkpoint_completion_target = 0.9  
seq_page_cost = 1.0        
random_page_cost = 2.0           
effective_cache_size = 1024MB
synchronous_commit=off













64 Bit Machine Postgres Tuning:


For a 64 machine running with 6 GB of RAM or more, you can set these to


#$Id$
port = 13310             
shared_buffers = 256MB      
work_mem = 48MB              
maintenance_work_mem = 400MB      
checkpoint_segments = 15      
checkpoint_timeout = 11min      
checkpoint_completion_target = 0.9  
seq_page_cost = 1.0        
random_page_cost = 2.0           
effective_cache_size = 2048MB
synchronous_commit=off










For a 64 machine running with 8 GB of RAM or more, you can set these to


#$Id$
port = 13310             
shared_buffers = 384MB      
work_mem = 60MB              
maintenance_work_mem = 600MB      
checkpoint_segments = 15      
checkpoint_timeout = 11min      
checkpoint_completion_target = 0.9  
seq_page_cost = 1.0        
random_page_cost = 2.0           
effective_cache_size = 3072MB
synchronous_commit=off











For a 64 machine running with 16 GB of RAM or more, you can set these to





#$Id$
port = 13310             
shared_buffers = 512MB      
work_mem = 72MB              
maintenance_work_mem = 800MB      
checkpoint_segments = 15      
checkpoint_timeout = 11min      
checkpoint_completion_target = 0.9  
seq_page_cost = 1.0        
random_page_cost = 2.0           
effective_cache_size = 4096MB
synchronous_commit=off
















3. Start the NetFlow Analyzer service.

Note :-

1. In case you are running with 1024 MB of RAM or less and experiencing slow respose, you may want to try upgrading the RAM.

2. For MSSQL database, the database tuning is not actually needed, you can tune only the Java of NetFlow Analyzer.



If  you have any question, please feel free to put a post here or send a mail to nfs@manageengine.com


Assuring the best support

Praveen Kumar
NetFlow Analyzer Technical Team
+1 408 916 9595