Performance Monitor for PostgreSQL is a new product on the software market. The application allows for precise identification of problem with the performance of processes that run in the PostgreSQL database.
Key software features: analysis of historical trends allows to compare performance in a very wide range of dates - this allows access to information on how SQL queries (currently cause of the problem) have behaved in the past. The tool also studies trends in the long term to avoid performance problems in the future.
DBPLUS Performance Monitor does not require installation of any software on monitored databases. The system logs into databases at 15-minute intervals and collects performance statistics. The load of monitored instances is invisible. The application tracks the instance’s performance by monitoring active connections, collecting information about wait and locks that are responsible for long execution of queries. Monitors slow queries, IO readings, and other performance statistics (cache hit rate, disk usage, buffer reading, etc.).
The application includes an alarm module for events that affect PostgreSQL instance performance. The tool has many defined alert rules based on performance statistics. Performance Monitor constantly monitors any deviation from the set trend and provides information to the administrator in real time.
DBPLUS Performance Monitor monitors PostgreSQL 9.4 and higher.
2. Agenda
1. Solution Architecture
2. Add the instance to monitoring
3. Main functionalities
4. Access management – Security module
5. Anomaly Monitor
6. Working with the application
DBPLUS Performance Monitor for PostgreSQL 2
3. System architecture
DBPLUS Performance Monitor for PostgreSQL 3
A set of SQL procedures
responsible for collecting
information about the performance
of monitored PostgreSQL Instances
Web application based
on IIS technology
4. Connect the instance to monitoring
In the main system
configurator window
(Configuration Wizard)
click [Add Another
instance] button.
DBPLUS Performance Monitor for PostgreSQL 4
5. Connect the instance to monitoring
Complete fields to add PostgreSQL
instance to monitoring process:
Connection name (default)
Host name
TCP Port – port number
Default Database
To create a monitoring user is
required to provide user data with
administrator rights.
They are given only here and not
saved anywhere.
DBPLUS Performance Monitor for PostgreSQL 5
6. Connect the instance to monitoring
DBPLUS Performance Monitor for PostgreSQL 6
In the next step, choose one
of the options:
Create new login/user
Use existing login
7. Connect the database to monitoring
Summary of wizard configuration
process – add PostgreSQL instance
to monitoring
To complete the operation click
[Finish] button.
DBPLUS Performance Monitor for PostgreSQL 7
8. Main functionalities – Table options
It is possible to export
data to a CSV file
DBPLUS Performance Monitor for PostgreSQL 8
Sorting ang Formatting columns in tables:
Unit selection - e.g. Elapsed Time
in seconds, minutes, days, etc.,
selection of a shortcut for large numbers - e.g. kilo,
Mega, ...
determination of decimal place accuracy of a number
9. Main functionalities – Table options
The [+] button is presented in the Query Hash column
Allows to fast view sql details (SQL Details) or
Add to query indefiners list to later analysis
DBPLUS Performance Monitor for PostgreSQL 9
10. Main functionalities – Chart options
Zoom in the selected
area on the chart
DBPLUS Performance Monitor for PostgreSQL 10
Option to return to the
previous view via [Reset
zoom]
11. Main functionalities – Chart options
Different types of charts:
Line
Area
Column
It is possible to mark and unmark
the presented series on the chart
Display information in a Tooltip
after indicate the location on the
chart.
The chart can be exported to a file
in the PNG, JPEG, PDF, SVG
formats.
DBPLUS Performance Monitor for PostgreSQL 11
12. Dashboard – Home screen
Three ways to present
PostgreSQL instance:
Icons view
DBPLUS Performance Monitor PostgreSQLfor 12
13. Dashboard – Home screen
Three ways to present
PostgreSQL instance:
Grid view
DBPLUS Performance Monitor PostgreSQLfor 13
Television view
14. Instance Load – Instance details
The chart presents information
about the basic database
statistics:
Elapsed Time
Wait Time
Wait IO Time
Lock Time
IO read time
IO write time
Alerts
DBPLUS Performance Monitor PostgreSQLfor 14
15. Instance Load – Instance details
DBPLUS Performance Monitor PostgreSQLfor 15
After click on the point on
the chart, information are
presented:
Top queries in a given
snap,
Queries statistics,
Content and the query
plan.
The DBPLUS application for
all top queries generates a
query plan by executing the
Explain command in the
given snap.
16. After click the point on the
chart there are information
about:
The level of individual
waits
DBPLUS Performance Monitor PostgreSQLfor 16
Instance Load – Instance details
17. Waits Overview
The graph shows the total
wait time for all sessions in
the instance in a selected
period.
The graph on the left shows
the sum of wait times for
the selected period.
The graph on the right
shows the top waits for the
indicated point on the chart
(snap).
DBPLUS Performance Monitor PostgreSQLfor 17
18. Waits Analyze
As part of a detailed analysis,
waits can sort by:
Wait type
Wait class
Affecting performance
DBPLUS Performance Monitor PostgreSQLfor 18
19. Waits Analyze
Data presented in
the chart are visible
in the table form.
DBPLUS Performance Monitor PostgreSQLfor 19
20. SQL Analyze
The graph shows the query time
(Elapsed Time). Impact
assessment of individual queries
on all instances is possible.
After select queries below the
graph, user get information about
their participation in the overall
Instance utilisation.
DBPLUS Performance Monitor PostgreSQLfor 20
21. SQL Details
Contains detailed performance
statistics for each query.
Data are presented for the
indicated period of time with
the possibility of group by:
Snap (15 minutes)
Hour
Day
Month
The ability to display Online
data – current download from
the system view.
DBPLUS Performance Monitor PostgreSQLfor 21
22. It is possible to
compare the plans
used by a given query
over period of time.
SQL Details
Easy access to the
(Explain plan).
It is possible to view
sample parameters which
the query is performed
with.
DBPLUS Performance Monitor for PostgreSQL 22
23. SQL Details
The ability to generate an
execution plan for any
parameters provided by the
user.
Substitution of sample call
parameters for a query.
DBPLUS Performance Monitor PostgreSQLfor 23
24. SQL Details
The query statistics can be
viewed in a graph by click
on a given column in the
table.
Instance load for…
- the option to estimate
the impact a given query
in relation to the statistics
for the entire database.
DBPLUS Performance Monitor PostgreSQLfor 24
25. Show Plan Objects
Page contains
information about:
Query content
Query plan
Query objects:
Views
Indices
Tabels
Object details
DBPLUS Performance Monitor PostgreSQLfor 25
26. SQL Details (cont.)
It is also possible to search
queries using Find SQL
The user can search by:
Typing a text fragment
Queries changing plan
New queries in a given period
DBPLUS Performance Monitor PostgreSQLfor 26
27. Load trends
Allows to get information
about trends that take
place in the database for
the indicated statistics.
Data are presented for the
indicated period of time and
it can be grouped by:
Snap (15 minutes)
Hour
Day
Month
DBPLUS Performance Monitor PostgreSQLfor 27
28. Compare trends
Allows to compare
statistics.
Compare data collected
for a specific day -
Compare Days tab or
time period - Compare
Periods tab.
DBPLUS Performance Monitor PostgreSQLfor 28
29. Top SQL/SQL 3D
It presents information
about the most demanding
queries that have the
largest share in a given
statistic.
Options:
Elapsed Time
Executions
Rows processed
Blks hit
Blks read
Blks dirtied
Temp blks read
Temp blks written
Blk read time
Blk write time
DBPLUS Performance Monitor PostgreSQLfor 29
30. Top Day
Allows to display top
queries for Elapsed Time
and follow their behaviour
changes.
DBPLUS Performance Monitor PostgreSQLfor 30
31. Slow SQL’s
Presents queries that
lasted for more than 200
seconds for a given period
(default value).
DBPLUS Performance Monitor PostgreSQLfor 31
32. I/O Stats
The module is used to
analyse I/O performance.
Available information:
Number of reads
Number of writes
Duration of the read
Read data block
The ability to verify data
for the entire PostgreSQL
instance as well as a
particular database.
DBPLUS Performance Monitor PostgreSQLfor 32
33. I/O Stats
It is possible to compare
data collected for a given
day (Days Compare) as
well as for the period
(Period Compare).
DBPLUS Performance Monitor PostgreSQLfor 33
34. Space Monitor
Allows to analyse the
current occupancy disk
space by:
Instancje PostgreSQL
Databases
It also contains historical
data that stores
information about the
occupancy of PostgreSQL
databases.
DBPLUS Performance Monitor for PostgreSQL 34
35. Background Writer
It presents the information
available in the
pg_stat_bgwriter view.
This view contains
information about the
background writer and
checkpointer processes
in PostgreSQL.
DBPLUS Performance Monitor PostgreSQLfor 35
36. Sessions
This page stores information
about sessions in a database,
displayed according to the
criteria in the filters.
Sessions – contains
information about current
sessions in the instance.
Session with transactions
– the function allows to analyze
the session on how to make
entries in the Log.
Session history - presents the
number of sessions and active
sessions in the selected period.
DBPLUS Performance Monitor PostgreSQLfor 36
37. Sessions history
The table is divided into two
groups:
Yellow shows information
about active sessions.
Red shows information about
sessions that save into the
Log.
DBPLUS Performance Monitor PostgreSQLfor 37
38. Sessions history
Information about session
can be sorted by use:
Wait type
Query ID
User Name
Pid – session ID
Application name
DBPLUS Performance Monitor PostgreSQLfor 38
Information can be viewed in
the form of a graph.
39. Locks
Contains information
about locks that take
place in a given instance.
Online Locks
– allows for current locks
analysis in an instance or
a specific database
Locks history
– allows to track locks in
time
Online Locked Objects
- shows a list of objects
on which locks are
currently installed
DBPLUS Performance Monitor PostgreSQLfor 39
40. Locks
After select blocking/
blocked session, there are
information about:
Query content
Session parameters
Transaction type
Status
Wait type
Start time query
DBPLUS Performance Monitor PostgreSQLfor 40
41. Parameters
Allows to view and report
history of the change the
PostgreSQL instance
parameters.
The window presents the
current status of
parameters and their
changes over time.
DBPLUS Performance Monitor PostgreSQLfor 41
42. Access management
DBPLUS Performance Monitor PostgreSQLfor 42
The ability to give access to individual
instances and screens in the
application.
Access settings for:
USER
(Object name: DOMENAUSER)
GROUP:
Local (Object name: Group name)
Domain (Object name: DOMENAUSER)
PROFILE
(Object name: PROFIL NAME).
The ability to configure permissions:
own (use Own permissions)
inherited (Inherited permissions).
43. Access management
DBPLUS Performance Monitor PostgreSQLfor 43
Own permissions (Use own permissions).
This type of permission can be granted for
each of the three objects
(USER, GROUP, PROFILE).
Permissions are assigned to individual
functions (Function rights).
Permissions for individual databases
(Database access).
Local privillages (Local privillages).
44. Access management
DBPLUS Performance Monitor PostgreSQLfor 44
Inherited permissions
(use Inherited permissions from parents).
This type of permission can be granted for
each of the three objects
(USER,GROUP,POFILE).
When permissions are granted, always point
PROFILE where permissions previously have
been defined.
45. Access management
DBPLUS Performance Monitor PostgreSQLfor 45
Access management is set on two levels:
DBPLUS Configuration Wizard:
Applications settings >Application Options >
Configure
DBPLUS Performance Monitor:
Configuration > Settings >
Parameter SECURITY
46. Anomaly Monitor
This module contains
information about problems
that affect database
performance.
Information is avaiable from
the level of the monitored
SQL instance
Two types of Alerting:
Online
Trends
DBPLUS Performance Monitor PostgreSQLfor 46
47. Anomaly Monitor
Grouped by the creation
reasons and their impact
on the given statistics in
a database.
Presented in detail for
a given period of time.
DBPLUS Performance Monitor PostgreSQLfor 47
48. InstanceLoad
Information about Alerts is
also visible on the chart on
the Instance Load tab.
DBPLUS Performance Monitor PostgreSQLfor 48
Sample Alert that
inform about a
change of the
execution plan:
49. Anomaly Monitor – Configuration
DBPLUS Performance Monitor PostgreSQLfor 49
Configuration and alert
definitions are available in the
menu:
Configuration > Alert settings
Set the mailbox
50. Anomaly Monitor – Configuration
DBPLUS Performance Monitor PostgreSQLfor 50
General settings
Contain parameter
configurations that control
the operation of the alert
module.
51. Anomaly Monitor – How does it work?
DBPLUS Performance Monitor PostgreSQLfor 51
The Anomaly Monitor
is based on gathering
information about statistics
in the instance.
Alert definitions
– a threshold alarm value
is defined for each statistic.
Problem definition
– a set of rules based
on predefined Alerts.
Based on historical
information, threshold
exceeding events are
generated.
52. Anomaly Monitor – How does it work?
DBPLUS Performance Monitor PostgreSQLfor 52
The alert definition is based on:
Selection of Alert type :
Online
I/O Stats
Load Trends
SQL Query
53. Anomaly Monitor – How does it work?
DBPLUS Performance Monitor PostgreSQLfor 53
The alert definition is based on:
Determining the alarm threshold value:
WARNING/CRITICAL
54. Anomaly Monitor – How does it work?
DBPLUS Performance Monitor PostgreSQLfor 54
The alert definition is based on:
Setting additional conditions:
Value below which the alert does not
appear
Value above which the alert will
always occur
What impact the query generates
(only SQL Query)
55. Anomaly Monitor – How does it work?
DBPLUS Performance Monitor PostgreSQLfor 55
To define the problem,
indicate the cause of the
problem. It can be
determined by configure rule
that consist of predefined
alert definitions.
To configure:
the name of the problem
Determine the class of the
problem
56. Anomaly Monitor – problem definitions
DBPLUS Performance Monitor PostgreSQLfor 56
The next step of configuration:
Set up a set of rules based on the
Alert definition