Tuning Steps for NetFlow Analyzer Distributed Edition

Tuning Steps for NetFlow Analyzer Distributed Edition

Hi All,

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. 
 
We can increase the performance of NetFlow Analyzer Enterprise Edition by making some minor changes. The performance can be increased by tunning both the JAVA and MYSQL. Since the  Enterprise Edition is on a distributed architecture, we have to tune both the central server and the collector. 

Please refer the below link for the system requirement for NetFlow Analyzer Distributed Edition:


Tuning Steps for the Central Server :

Stop the NetFlow Analyzer service and follow the steps:

Java Tuning:

The Java tunning has 2 steps
    1) Tunning the run.bat/.sh 
    2) Tunning wrapper.conf

1) Tunning the run.bat/.sh:

Open the file named run.bat/sh from OpManager/bin in an editor like Wordpad or Notepad ++ and find the following lines and do the changes as mentioned and save the file:

set JAVA_OPTS= -Xms512m -Xmx1024m 

For 6 GB or 8 GB RAM:

Change the parameter as JAVA_OPTS= -Xms512m -Xmx2048m 

For 16 GB RAM:

Change the parameter as JAVA_OPTS= -Xms512m -Xmx4096m

2) Tunning wrapper.conf:

Open the file named wrapper.conf from OpManager/bin in an editor like Wordpad or Notepad ++ and find the following lines and do the changes:

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

For 6 GB or 8 GB RAM:

Change the parameter as
wrapper.java.maxmemory=2048

For 16 GB RAM:

Change the parameter as
wrapper.java.maxmemory=4096

PostgreSQL  Database Tuning:

1. Stop the NetFlow Analyzer service.

2. Navigate to <OpManager\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"

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


#$Id$
shared_buffers = 512MB
work_mem = 50MB
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 = 3072MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000


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

#$Id$
shared_buffers = 512MB
work_mem = 80MB
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 = 8192MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000
3. Start the NetFlow Analyzer Central service:


Tuning Steps for the Collector Server :

Java Tuning:

The Java tunning has 2 steps 
    1) Tunning the run.bat/.sh 
    2) Tunning wrapper.conf

1) Tunning the run.bat/.sh:

Open the file named run.bat/sh from OpManager/bin in an editor like Wordpad or Notepad ++ and find the following lines and do the changes as mentioned and save the file:

set JAVA_OPTS= -Xms512m -Xmx1024m 

For 6 GB or 8 GB RAM:

Change the parameter as JAVA_OPTS= -Xms512m -Xmx2048m 

For 16 GB RAM:

Change the parameter as JAVA_OPTS= -Xms512m -Xmx4096m

2) Tunning wrapper.conf:

Open the file named wrapper.conf from OpManager/bin in an editor like Wordpad or Notepad ++ and find the following lines and do the changes:

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

For 6 GB or 8 GB RAM:

Change the parameter as
wrapper.java.maxmemory=2048

For 16 GB RAM:

Change the parameter as
wrapper.java.maxmemory=4096

For 20 GB RAM:

Change the parameter as
wrapper.java.maxmemory=8192

For 32 GB RAM:

Change the parameter as
wrapper.java.maxmemory=9216

Postgres Database Tuning:

1. Stop the NetFlow Analyzer service. 

2. Navigate to <OpManager\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"

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


#$Id$
shared_buffers = 512MB
work_mem = 50MB
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 = 3072MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000


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

#$Id$
shared_buffers = 512MB
work_mem = 80MB
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 = 8192MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000


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

#$Id$
shared_buffers = 1024MB
work_mem = 90MB
maintenance_work_mem = 900MB
checkpoint_segments = 15
checkpoint_timeout = 11min
checkpoint_completion_target = 0.9
seq_page_cost = 1.0
random_page_cost = 2.0
effective_cache_size = 8192MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000



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

#$Id$
shared_buffers = 1024MB
work_mem = 90MB
maintenance_work_mem = 900MB
checkpoint_segments = 15
checkpoint_timeout = 11min
checkpoint_completion_target = 0.9
seq_page_cost = 1.0
random_page_cost = 2.0
effective_cache_size = 12288MB
synchronous_commit=off
temp_buffers = 8MB
wal_buffers = 16MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 0
log_rotation_size = 10MB
log_min_duration_statement = 5000
log_line_prefix = '%m [%p]'
log_temp_files = 1024
autovacuum = on
autovacuum_freeze_max_age = 200000000
vacuum_freeze_min_age = 10000000
vacuum_freeze_table_age = 150000000


3. Start the NetFlow Analyzer Collector service.

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


Assuring the best support

Aravind Lenin
NetFlow Analyzer Technical Team
+1 408 916 9595

                New to ADSelfService Plus?