back to top

Back to Products and Services

Microsoft SQL Server :

RG Solutions provides a very easy to use interface and reporting capabilities that can be fully automated to facilitate proactive management and control of Microsoft SQL databases and Microsoft Windows servers.  In doing so, RG Solutions helps ensure you get the very best out of Microsoft SQL Server.

RG Solutions software collects data from Microsoft Windows Performance objects into a single, compact file per day.  This contains all of the data required to manage Microsoft SQL databases and a Microsoft Windows based server.  The Microsoft SQL Server objects that can be analysed in RG Solutions include:

  • SQL Access Methods
  • SQL Agent
  • SQL Broker Statistics
  • SQL Buffer Node
  • SQL CLR
  • SQL Cursor Manager Total
  • SQL Database Mirroring
  • SQL Exec Statistics
  • SQL Locks
  • SQL Plan Cache
  • SQL Errors
  • SQL Statistics
  • SQL User Settable
  • SQL Broker Services
  • SQL Broker BDM Transport
  • SQL Buffer Management
  • SQL Buffer Partition
  • SQL Catalog Metadata
  • SQL Cursor Manager by Type
  • SQL Databases
  • SQL Latches
  • SQL Memory Manager
  • SQL Replication
  • SQL Server
  • SQL Transactions
  • SQL Wait Statistics

Our methodology is to take a top down approach to analysis which starts with Summary information.  This summary information is created automatically each day and provides a very powerful means of assessing activity on a single SQL Server or across many SQL servers over time (days, weeks, months); ideal for establishing normal levels of activity, spotting potential issues and trending.  If something is unusual, more detailed reports and full browsing capabilities can be used to drill down into the data to investigate any Microsoft SQL issue.

In support of the Microsoft SQL Performance data, RG Solutions also collects Microsoft Windows Performance data.  This is also automatically summarised each day and proves to be extremely useful when analysing SQL Servers because of the need to be able to correlate SQL metrics with system level metrics.  As with the Microsoft SQL data, full browsing capabilities can be used to drill down into the data to troubleshoot any performance issue in detail.

To demonstrate some of the capabilities, the general layout of this page is organised into sections which begin with a subset of daily summary reports, followed by an example of a report and a screen shot where appropriate to show the detailed data browsing view.

System Resources

The table above illustrates the wealth of Microsoft SQL Server objects that are available but it is important to begin any analysis of a Microsoft SQL server by looking and the system level performance metrics.  In particular, CPU utilisation, memory usage and disk activity.

The online utilisation peak is automatically calculated in RG Solutions and represents the percentage of CPU used (100% = 80% of total CPU).  This is key for measuring CPU utilisation, monitoring growth of any system and for estimating the lifecycle of the system. 

The following chart illustrates how CPU Utilisation could be reported over many days:


Next, the report provides a measure of the amount of memory available.  It is vital to ensure that a Microsoft SQL Server is configured with enough memory for optimisation and it is equally important to measure memory use over time to maintain the level of service expected.

The online utilisation peak is automatically calculated in RG Solutions and represents the percentage of CPU used (100% = 80% of total CPU).  This is key for measuring CPU utilisation, monitoring growth of any system and for estimating the lifecycle of the system. 

The final section of this report focuses on the disk sub-system.  Obviously, it is important to provide sufficient disk space so the report provides an overall measure of what is used (operational reports prioritise capacity reporting from either the processor or individual disk levels).  The measures of average IO time provide important insight into the Physical disk performance.  High average IO time indicate performance issues which need attention.  Detailed investigations can be performed in RG Solutions to identify the physical drive(s) suffering high average IO times and duration.  This can also be correlated with SQL actions that impact physical disk performance.

 

 

 

     

Use of a report like this provides an instant high level understanding of how a system is performing and, in the long term, allows measurement of growth and trends.  A sound understanding of system level performance provides the foundation for subsequent analysis of Microsoft SQL performance data.

SQL Process

The Process Information compares the processing activity (CPU used, data operations and page faults) for just the SQL Processes against that of all other processes. 

It is not only useful to be able to compare SQL process CPU utilisation against Total CPU utilisation, but in other sections of the report it is extremely useful to be able to scan across a row in the report and compare multiple items.  One such example might be comparison of CPU time and the number of Batch Requests.

Database Information

The Database section of the report provides information on the number of transactions for all databases instances and the data / log file sizes.

The ability to measure the total number of transactions for databases is very useful for determining trends and growth in database activity.  Knowing the log file size is also important information when determining the correct size of tempdb and for ongoing management of this to ensure sufficient space is available.

General Information

The General Information section of the report provides server wide information regarding the number of batch requests, compilations, recompilations and the cache hit ratio.

The number of Batch Requests that can be serviced is relative to the hardware but an increase in Batch Request will generally follow a step in CPU.  Using this report over a longer period of time provides a clear picture of how the number of Batch Requests affects CPU. 

Ideally, the number of SQL Compilations should be as low as possible.  High numbers of Compilations tend to indicate ad-hoc queries which should be handled in more efficient manner.

SQL Recompilations can cause deadlocks or compile locks so these should be as low as possible to prevent performance issues.  Cross checking Recompilations with the number of Transactions and Lock Information row of the report provides a means to check this. 

The effectiveness of Caching can be measured using the Cache Hit ratio.

Locks

The Lock Information section provides a key metrics for assessing SQL Locks for all resource Types. 

Using this section of the report, the number of locks and deadlocks can be closely monitored.  Further to this, analysis of the lock waits provides a measure of how many users waited to acquire a lock and is supported by the lock wait time.  Performance improvements can also be realised by reducing the number of locks because this can improve the level of concurrency.

The following screen shot illustrates the detail view of Lock data in which the different types of locks can be seen and the number of locks against each.  Any of these Types could be profiled by hour using filters built into RG Solutions.

Latches

The Latches section of the report provides the ability to measure the level of internal SQL Locks which are known as Latches.  Monitoring Latches to determine user activity and resource usage can help with identification of performance bottlenecks.

Using this section of the report, it is possible to determine if there is any growth in the the number of Latch requests and is supported by the average wait time for these.  High numbers of Latch waits can result in Physical IO activity.  The following chart provides an illustration of this:

Access Methods

The Access Methods section of the report provides a measure of how logical data within the databases is being accessed.  Metrics regarding the number of index searches, scans (full, range and probe) are shown.

 

 

The ability to report on methods used to access data within the databases is particularly useful for assessing query performance and for determining if any action is required. 

Measuring the number of Worktables and Workfiles created is very important because of the affect these can have on overall performance of the server.  If many Worktables are being created and dropped, the Tempdb database can become saturated. 

Understanding how data is accessed and how many worktables / workfiles are created are important factors in determining the configuration of the Tempdb database.  This is further supported by combining detailed data on the Tempdb database and physical disk activity for ac complete view of the data.

Buffer Manager

The SQL Buffer Manager section of the report provides information on how SQL physically accesses database pages on disk to store data pages and for the Procedure Cache. 

In this section of the report, the cache hit ratio is a key metric because it represents the percentage of pages that were found in the buffer cache without having to read from disk (this needs to be as high as possible to avoid costly disk reads).  It is also useful to be able to gauge this against the number of page lookups.  The number of list stalls should also be low otherwise it indicates a shortage of memory.

Lazy Writes is a useful metric when compared with Checkpoint because lazy writer eliminates the need to perform frequent checkpoints to create available buffers.

The SQL Buffer Manager section of the report provides information on how SQL physically accesses database pages on disk to store data pages and for the Procedure Cache. 

Want to Know More?

These reports are just a sample of the reports that could be produced to measure Microsoft SQL Server Performance. To download a whitepaper please register your interest via the Support Pages - http://www.cpiuk.com/support.php.

 

 

Back to Products and Services