- Created by Miloš Zeković, last modified by Vladimir Stanković on 24 08, 2016
Before installing NetVizura make sure to set the time on your server correctly. Time change after the installation will invalidate the license!
NetVizura requires working connection to the internet to install required dependent software. After installation is successful you can turn off internet access for NetVizura server.
Before installing NetVizura you will have to install: Oracle Java 1.8, Apache Tomcat 6 and PostgreSQL 9.3 or higher, in that order.
The installation process has been tested on CentOS 6.6.
NetVizura Installation Steps
To install NetVizura follow these steps:
Step 1: sudo and wget installation: yum -y install sudo wget
Step 2: Apache Tomcat 6 package installation:
- execute command
yum install tomcat6
add Tomcat service to system startup:
chkconfig tomcat6 on
Step 3: PostgreSQL package installation:
edit file /etc/yum.repos.d/CentOS-Base.repo
in section [base] add line "exclude=postgresql*"
in section [updates] add line "exclude=postgresql*"
go to http://yum.postgresql.org/ and choose stable PostgreSQL package in regard to your CentOS version and architecture.
CentOS 6, 64 bit example: https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-2.noarch.rpmin the folder where the file is downloaded execute command
yum -y localinstall pgdg-centos95-9.5-2.noarch.rpm
execute command
yum -y install postgresql95-server
execute command
service postgresql-9.5 initdb
execute command
service postgresql-9.5 start
verify that PostgreSQL is running properly with the command
service postgresql-9.5 status
add PostgreSQL service to system startup:
chkconfig postgresql-9.5 on
Step 4: Installing NetVizura package
yum -y localinstall downloaded_file_name.rpm
Step 5: Verify installation
Now you can go to NetVizura web interface http://<netvizura_server_ip>:8080/netvizura. Default login credentials: For example, if your server IP is 1.1.1.1 then point your browser to http://1.1.1.1:8080/netvizura like in the screenshot below:
Post Install Steps
After installation tweaking of configuration files is required in order to utilize the installed RAM to the fullest extent. The main consumers of RAM are operating system, PostgreSQL database and Tomcat. General rule for distributing memory is to split it in ratio 2:1 between PostgreSQL and Tomcat with 1 GB or more reserved for operating system.
For instance:
Installed RAM | PostgreSQL | Tomcat | OS |
---|---|---|---|
4 GB | 2 GB | 1 GB | 1 GB |
16 GB | 10 GB | 5 GB | 1 GB |
Tweaking PostgreSQL
Tweaking PostgreSQL for best performance is a topic on which many books were written, but the following are some common sense suggestions. For the curious ones recommended reads (among countless others) are PostgreSQL Optimization Guide, PostgreSQL Tuning Guide, this article and this book.
In order to apply following tweaks edit file /var/lib/pgsql/PG_VERSION_NUMBER/data/postgresql.conf
. You will need to restart the PostgreSQL service after done editing with command: service postgresql restart
. Almost all of the following parameters are commented with carron character (#
). Be aware that if you comment out the parameter that has been changed, PostgreSQL will revert to the default value.
In the following example it is assumed that 4 GB of RAM is allocated for PostgreSQL. Before changing any parameters in postgresql configuration read the provided comments in the table below for more information regarding specific parameter. The recommended amount is The formula used is Increasing parameter recommended value comment max_connections
30 NetVizura rarely uses more than 10 connections simultaneously, but it is good to have some reserve. shared_buffers
1024MB The recommended amount is RAM/4.
effective_cache_size
2048MB RAM/2
, possibly even RAM * 3/4.
checkpoint_segments
32 For write intensive apps (as NetVizura) it should be at least 16, with 32 as safe maximum. checkpoint_completion_target
0.8 This parameter can take values between 0 and 1. Default is set to 0.5, which means that the write phase of checkpoint process will take half of the checkpoint timeout time. Increasing this value will provide more time for checkpoint write phase to finish, thus decreasing IO usage. work_mem
8MB - 12MB max_connections*work_mem <= RAM/8
, but using a bit more is still fine.maintenance_work_mem
32MB Speeds up DB self clean process. wal_buffers
16MB wal_buffers
is helpful for write-heavy systems. Upper limit is 16MB.full_page_writes
off Turning this parameter off speeds normal operation, but might lead to either unrecoverable data corruption, or silent data corruption, after power outage, OS or HDD failure. The risks are similar to turning off fsync
, though smaller.fsync
off Don't wait for HDD to finish previous write operation. This brings the most benefit, but if there is power outage, OS or HDD failure in exact instant when PSQL issues write command to HDD, that data will be lost and the DB itself could be corrupted. On the other hand, DB can issue several magnitude more write commands in the same time period and consider all these done, thus improving write performance immensely. synchronous_commit
off Similarly to "fsync" but with less benefit.
Tomcat Memory Allocation
During installation NetVizura automatically allocates memory for Tomcat process. The amount allocated to Tomcat process is calculated according to the formula:
(RAMtotal - 1GB) / 3
but no less than 1GB.
For instance:
Total RAM | Tomcat |
---|---|
3 GB | 1 GB |
4 GB | 1 GB |
16 GB | 5 GB |
However, if you need to tweak Tomcat RAM allocation differently (the example for 2048MB):
- Edit file
/etc/tomcat6/tomcat6.conf
- Locate
JAVA_OPTS
environment variable that defines memory This line looks something like the following:JAVA_OPTS="${JAVA_OPTS} -Xmx1024m -Xms1024m"
- Modify the
-Xmx
and-Xms
to the same amount. This should look something like:JAVA_OPTS="${JAVA_OPTS} -Xmx2048M -Xms2048M"
- Save the file and restart Tomcat:
service tomcat6 restart