SQL Monitoring
SQL Monitoring
Table of contents
Tool Purpose..................................................................................................................................2
Monitoring tool design...............................................................................................................2
Core logic requirements.................................................................................................................................................................... 2
General architecture...................................................................................................................3
Parameters to be monitored:.........................................................................................................................................................3
Page 2
Tool Purpose
Monitoring tool is SQL server (2005 or sql 2008) monitoring solution that monitors SQL server performance issues.
Ex: current activities, blocks, disks/dbs/instances performance counters, waits, space usage, query performance
We are using XMPP for the implementation of this project. There are 3 parts for this
project.
2. Client side we are using Smack APIs ( XMPP Client). This client will be installed
on SQL server.
3. Web panel:
http://login.vezinet.com
1. Login page
2. Define server
Page 3
Features:
3. Functionality:
• User administration
General architecture
Op
Openfire Server
Parameters to be monitored:
n Processor\% Processor Time – refers to the average percentage of processor time
occupied. It is a main indicator to consider when deciding whether the CPU power
of the IIS server is enough. It is recommended for this counter to remain below
85% for the system to be considered healthy.
n System\Processor Queue Length – the processor queue is being filled up with
threads when the server’s processors are busy servicing other threads at the
moment. If this counter is usually above 2 and the % Processor Time remains on
high levels, then the processors are considered a bottleneck in the system.
n Memory\Available Mbytes – refers to the amount of physical memory (measured
in MBytes) on the system that can be used by new processes. If the free memory is
equal or greater than 50%, the system is considered healthy. A value of 25% free
memory indicates a potential problem. If the memory is below 10%, the condition
has to be examined carefully and precautions have to be taken. If the free memory
is less than 5%, the performance of the system is negatively impacted.
n Memory\Pages/sec – refers to the amount of read and write requests from
memory to disk. If this value remains high and the Available Mbytes are less than
10%, then the Memory subsystem is considered a bottleneck. Less than 500
Pages/sec are considered normal, more than 500 may affect system’s
performance.
n PhysicalDisk\% Disk Time – refers to the percentage of time the disk was
occupied. It takes into account both read and write requests sent to the disk.
n Network Interface\Bytes Total/sec – refers to the total amount of bytes – both
sent and received – over the network. If the value of this counter is usually greater
than 80%, then maybe another or faster network card should be installed on the
server.
n User Connections – number of user connections. Because each user connection
consumes some memory, configuring overly high numbers of user connections
could affect throughput. Set user connections to the maximum expected number
of concurrent users.
n Logins – total number of logins started per second.
n Logouts – total number of logout operations started per second.
n Full Scans – number of unrestricted full scans per second. These can be either
base-table or full-index scans.
n Page Splits – number of page splits per second that occur as the result of
overflowing index pages.
n Table Lock Escalations – number of times locks on a table were escalated.
Page 7
n Buffer Cache Hit Ratio – percentage of pages found in the buffer cache without
having to read from disk. The ratio is the total number of cache hits divided by the
total number of cache lookups since an instance of SQL Server was started. After
a long period of time, the ratio moves very little. Because reading from the cache is
much less expensive than reading from disk, you want this ratio to be high.
Generally, you can increase the buffer cache hit ratio by increasing the amount of
memory available to SQL Server.
n Database Pages – number of pages in the buffer pool with database content.
n Stolen Pages – number of pages used for miscellaneous server purposes
(including procedure cache).
n Page Life Expectancy – number of seconds a page will stay in the buffer pool
without references.
n Connection Memory (KB) – total amount of dynamic memory the server is using
for maintaining connections.
n Optimizer Memory (KB) – total amount of dynamic memory the server is using
for query optimization.
n Total Server Memory (KB) – total amount of dynamic memory (in kilobytes) that
the server is using currently.
n Target Server Memory (KB) – total amount of dynamic memory the server can
consume.
n SQL Cache Memory (KB) – total amount of dynamic memory the server is using
for the dynamic SQL cache.
n Lock Requests – number of new locks and lock conversions per second requested
from the lock manager.
n Deadlocks – number of lock requests per second that resulted in a deadlock.
n Average Wait Time – average amount of wait time (in milliseconds) for each lock
request that resulted in a wait.
n Batch Requests – number of Transact-SQL command batches received per
second. This statistic is affected by all constraints (such as I/O, number of users,
cache size, complexity of requests, and so on). High batch requests mean good
throughput.
SQL Compilations – number of SQL compilations per second. Indicates the number
of times the compile code path is entered. Includes compiles due to recompiles.
After SQL Server user activity is stable, this value reaches a steady state.
SQL Re-Compilations – number of SQL recompiles per second. Counts the number
of times recompiles are triggered. In general, you want the recompiles to be low.
Page 8
WMI Hardware counters set provides common values for most important hardware
parameters such as CPU, DISK RAM
Provides information about system health and background services statuses base
on the informational messages stored in the system logs.
Ability to look up customer by phone number , name , last name or nick name
New customer :
Tab1
The database is mainly filled from an ID or passport and it contains information of
ID or passport number , name , last name , dob, phone number , address ,
membership number , plus a copy of the ID/Passport in file, with the ability of
copying all the ID information in a specific format in a single button.
We would like to know if it's possible to make data auto filled from passport
scanning.
Tab2
Couple of more data information filled from food requirements to other specific
information that we can provide it later .
Page 9
Tab3
Photocopy of more required documents with filling manually or automatically date
of each signed document and date of expiration and linking each document to the
first tab with red or green light ( what we mean by that is , example a document 1
was scanned , so tab 3 will have a picture or document 1 and the user will fill that
document 1 was signed on 1-May-2015 and expiry 30-May-2015. On the first tab ,
we need an automatic appearance in a small box of the name of the document
available , here document 1 and next to it a green button or a red one to identify if
the document is valid or expired.)
Tab4
More information to be filled
Tab5
Credit cards and payments information that can be filled and never be shown
unless a specific password is inserted.
More simple requirements to be discussed later but it's not that major , example a
admin password where he can get all logs of user from new customers to searched
customers , which user added one , edited a current one or accessed to payments
details of a customer . And more security, with blocking the ability of copying the
database on excel sheet unless the admin password was entered .