Debian 10 and Debian 11. It is important that Debian is 64-bit OS. |
Installation Steps
Note |
---|
To be able to install NetVizura, you will need a root privileges. |
NetVizura Installation StepsTo install NetVizura follow these steps:
Step 1: sudo package installation: execute apt-get install sudo
Step 2: Oracle Java 1.7 package installation:
Note |
---|
Default Java implementation is OpenJDK. You need to install Oracle Java package. Java packages should be installed before the Tomcat7 packages, if not Tomcat will use OpenJDK |
To add the WebUpd8 Oracle Java PPA repository to the Software Sources in Debian, use the following commands:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
- execute command
apt-get update
- ignore the error about "public key is not available"
- execute command
apt-get install oracle-java7-installer
and answer affirmatively to "Proceed without verification" and all other installation questions - execute command
ln
-s
/usr/lib/jvm/java-7-oracle
/usr/lib/jvm/default-java
to set Oracle's Java as a default Java on the system - check if java is properly installed with command
java -version
Note |
---|
If you are behind a firewall / router that blocks some of the redirects required to download the Oracle Java archive, you can download the JDK tar.gz archive manually and place it under /var/cache/oracle-jdk7-installer - then, installing the "oracle-java7-installer" package will use the local archive instead of trying it to download it itself. |
Step 3: Tomcat 7 package installation:
- execute command
apt-get install tomcat7
- start Tomcat:
service tomcat7 start
- verify that Tomcat is running properly with the command
service tomcat7 status
Step 4: PostgreSQL package installation
Create a file pgdg.list in /etc/apt/sources.list.d/ with some text editor: nano /etc/apt/sources.list.d/pgdg.list
and add the following line:
deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
execute command: wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
execute command apt-get update
execute command apt-get install postgresql postgresql-client
verify that PostgreSQL is running properly with the command service postgresql status
Step 5: NetVizura packages installation
After this steps, install the NetVizura packages downloaded from the website with the command: dpkg -i downloaded_file_name.deb
To access the application, type http://myip:8080/netvizura in your browser. The default user account with administrator privileges is: username: admin, password: admin01
Post Install Steps
After installation it is needed to tweak the configuration files in Installation of 3rd-party repositories and prerequisite software
Download and execute Debian prerequisite installation script:
Code Block |
---|
|
su
apt update -y ; apt-get -y install sudo wget
wget https://www.netvizura.com/files/products/general/downloads/netvizura-5.4-prerequisites-debian.sh --output-document=/tmp/netvizura-prerequisites-debian.sh
bash /tmp/netvizura-prerequisites-debian.sh |
Step 2: NetVizura package installation
Download NetVizura DEB package from NetVizura website to NetVizura server's /tmp
directory and execute the following command:
Code Block |
---|
|
sudo dpkg -i /tmp/downloaded_file_name.deb |
Step 4: Verify installation
Excerpt Include |
---|
| ISO Image Installation |
---|
| ISO Image Installation |
---|
nopanel | true |
---|
|
Anchor |
---|
| Post Install Steps |
---|
| Post Install Steps |
---|
|
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.
A of thumb 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 For instance:
Installed RAM | PostgreSQL | Tomcat | OS |
---|
4 GB | 2 GB | 1 GB | 1 GB |
16 GB | 10 GB | 5 |
GB1 Tweaking Tomcat memory allocationIn the following example of RAM is allocated for Tomcat process:Edit file /etc/default/tomcat7
Locate JAVA_OPTS
environment variable that defines memory and uncomment it if it is
commented. This line looks something like the following:
JAVA_OPTS="-Djava.awt.headless=true -Xmx128M -XX:+UseConcMarkSweepGC"
Modify the -Xmx
parameter to allocate additional memory to Tomcat. Additionally, set parameter -Xms
to the same amount. This should look something like:
JAVA_OPTS="-Djava.awt.headless=true -Xms1024M -Xmx1024M -XX:+UseConcMarkSweepGC"
Edit file /etc/init.d/tomcat7
Locate JAVA_OPTS
environment variable that defines memory. This line looks something like the following:JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
Modify the -Xmx
parameter. Additionally, set parameter -Xms
to the same amount as -Xmx
. This should look something like:
JAVA_OPTS="-Djava.awt.headless=true -Xms1024M -Xmx1024M"
Save the file and restart Tomcat: service tomcat7 restart
Tweaking PostgreSQL
Tweaking PostgreSQL for best performance is a topic on which many books were written, but the following are some common sense suggestions
. In general there are two groups of PostgreSQL tweaks that are helpful for NetVizura performance - "safe" and "unsafe" tweaks. "Safe" tweaks are those which can be applied in all cases. "Unsafe" tweaks trade reliability for performance, , this article and this book.
In order to apply following tweaks edit file /etc/postgresql/PG_VERSION_NUMBER/main/postgresql.conf
. You will need to restart the PostgreSQL service after done editing with command:
service systemctl restart postgresql
restart. Almost all of the following parameters are commented with carron character (#
).
Although these tweaks are considered "safe" do take notice of the default values. Usually you can Be aware that if you comment out the parameter that has been changed
and PostgreSQL will , PostgreSQL will revert to the default value.
PostgreSQL "safe" tweaks Excerpt |
---|
In the following example it is assumed that 4 GB of RAM is allocated for PostgreSQL. Note |
---|
Before changing any parameters in postgresql configuration read the provided comments in the table below for more information regarding specific parameter. |
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 The recommended amount is RAM/4. | effective_cache_size | 2048MB |
|
the The recommended amount is RAM/2 , possibly even RAM * 3/4 |
|
chekpoint_segments | 32 | for write intensive apps (as NetVizura) it should be at least 16, with 32 as safe maximum |
.
| checkpoint_completion_target | 0. |
|
9 | 7 | 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. |
|
default_statistics_target | 100 | 8MB 12MB64MB | The formula used is max_connections*work_mem <= RAM/ |
|
84 , but using a bit more is still
|
|
"safe"PostgreSQL "unsafe" tweaks
These optimizations are considered "unsafe" since they could in very rare cases lead to data loss and/or corruption. If your VM is properly backed up we would consider the following optimizations safe. The following bring huge performance boosts to DB write process.
parameter | recommended value | comment |
---|
maitenance_work_mem | 32MB | speeds up DB self clean process, not really important |
fine. | maintenance_work_mem | 256MB | Speeds up DB self clean process. Usually 4*work_mem or something in that ballpark | wal_buffers | 16MB | Increasing wal_buffers is helpful for write-heavy systems. Usually this is 16MB. | min_wal_size
| 1GB | If WAL files are under this size, files will be recycled for future checkpoints. | max_wal_size
| 2GB | Maximum size of WAL files, after that CHECKPOINT command is be issued and files are written to disk. | effective_io_concurrency
| 2 | Number of simultaneous request that can be handled efficiently by disk subsystem. |
|
wal_buffers | 16MB | Turning this parameter off speeds up 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 |
|
donDon't wait for HDD to finish previous write operation. This brings the most benefit, but |
|
is considered potentially the most unsafe of all. If 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 less unsafe and checkpoint_segments | 64 | how much is cached in temp files before it is issued to proper DB files. Issuing big chunks of data for write rarely is usually better for performance than issuing small chunks often |
. | Parallel system optimization (PSQL => 9.6) | max_worker_processes | 2 | Number of cores | max_parallel_workers_per_gather | 1 | Number of cores/2 | (PSQL > 9.6) max_paralllel_workers | 2 | Number of cores |
|
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/default/tomcat8
(Debian 9) or /etc/default/tomcat9
(Debian 10)
- Locate
JAVA_OPTS
environment variable that defines memory and uncomment it if it is commented. This line looks something like the following:
JAVA_OPTS="${JAVA_OPTS} -Xmx1024m -Xms1024m +UseConcMarkSweepGC"
- Modify the
-Xmx
parameter to allocate additional memory to Tomcat. Additionally, set parameter -Xms
to the same amount. This should look something like:
JAVA_OPTS="-Djava.awt.headless=true -Xmx2048M -Xms2048M -XX:+UseConcMarkSweepGC"
Save the file and restart Tomcat: systemctl restart tomcat8
(Debian 9) systemctl restart tomcat9
(Debian 10)
Elasticsearch Memory Optimization
By default, the memory limit for Elasticsearch should be set to 30% of RAM. If you need it to be set to any other value, edit the file: /etc/elasticsearch/jvm.options, and set values -Xms and Xmx to desired size. Then, restart the Elasticsearch and Tomcat services.