Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Precise for SQL Server displays duration values for several entities. The following table describes the duration value for each type of entity.

Table 3- 1 Duration values for entities

EntityDescription
Current sessionThe time that has elapsed since the session started (login time). This is not the time the session was active executing statements. For example, if a session was connected to SQL Server for one hour without executing any statement, the duration will still be one hour.
Programs (such as, Logins, Machines, DB Users, Databases, time units)

The elapsed time of the sessions executing the program.

Info

The time is not measured from the login time (as it is in the Current session entity) but from the moment the Collector started.

The average duration counter displays the average time each program has been running.

Statement (batch)

The time that elapsed while the statement was executed. This is very similar to the duration of programs (see above); but since the statement is almost always active, this duration also indicates the time the statement was active.

The average duration counter displays the average execution time of the statement.

If Interpoint is installed (for SAP, PeopleSoft, Siebel or COM+), the duration and average duration fields have no significant meaning and can be ignored.

Anchor
AboutSessionStates
AboutSessionStates
About session states

SQL Server provides reporting on many different types of events. Precise for SQL Server groups events according to logical relationships to enable you to easily pinpoint heavy resource consumers.

...

The In MS-SQL session states signify that the session is performing activities in the SQL Server. The following table describes In MS-SQL session states.

Table 3- 2 In MS-SQL session states

IconIn  MS-SQL StateDescription
Image Modified
Using CPUThe session is currently executing and not waiting for any other event. Using CPU can indicate a performance issue if the value exceeds 90% of the In MS-SQL value. When SQL Server does read ahead, the session does not suffer from I/O wait, but may still show a great deal of CPU usage.
Image Modified
I/O WaitThe session is waiting for an I/O operation to be completed or terminated. I/O operation is much slower than CPU operation so it is very important to monitor whether an application is suffering from I/O wait. I/O can be easily resolved by reorganizing files across disks or by adding new disks to your system.
Image Modified
Tempdb Wait

The session is waiting for an I/O operation or a buffer wait on tempdb pages. A high value may indicate a bottleneck in tempdb. Tempdb is the most heavily shared resource across the entire instance and can affect the performance of all applications. It is therefore important to monitor its usage.

SQL Server 2005 uses tempdb for row versioning and online index builds, in addition to managing temporary objects, sorting and hashing.

Image Modified
Lock WaitThe session is waiting for a lock to be released. The lock is held by another session.
Image Modified
Redo Log Buffer Wait

The session is waiting for an operation of the log file to terminate. This state is generally encountered during a commit or rollback operation.

A high log wait value may indicate a problem with the commit frequency in the processes experiencing massive updates to data.

Image Modified
Memory WaitThe session is waiting for an internal resource to be freed. This state is divided into substates.
Image Modified
Remote WaitThe session is waiting for a remote query to terminate. Some of the DBCC commands that check the database pages also create this type of wait. A remote resource can be either SQL Server and Oracle.
Image Modified
CLR WaitThe session is currently performing a common language runtime (CLR) execution and is waiting for another CLR task or event to be initiated or completed. All CLR-related waits are grouped together under this category. This state is only available for SQL Server 2005 instances.
Image Modified
Buffer WaitThe session is completing a network I/O operation. A high value can occur if results from a large result set are transferred to the client using shared memory netlibs or TCP/IP. In this case it is important to verify that only required rows and columns are returned.

Anchor
AboutInternalWaits
AboutInternalWaits
About internal waits

The Internal Waits view displays internal waits, indicating that the session is waiting for an internal resource to be freed. An Internal Wait is divided into substates.

The following table describes the internal wait substates reported by Precise for SQL Server.

Table 3- 3 Internal wait states

 

Internal State    Description

...

Internal StateDescription
Buffer PoolGroups together the events that show contention on pages in the buffer pool. Buffer wait on tempdb pages are considered to be part of tempdb wait.
Latch

...

The session is waiting for an internal lock to be released.
Parallel

...

The session is waiting for one of its sub-threads to complete its operation.
DTC

...

Aggregates waits that occur when Distributed Transaction Coordinator (DTC) sessions have to wait for each other.

This state is only available for SQL Server 2005 instances.

DB

...

Mirror

Aggregates the new waits that occur when DB mirroring is performed, such as the waits that occur if the communication layer used by DB mirroring becomes backlogged.

This state is only available for SQL Server 2005 instances.

...

Profiler

Aggregates a number of states associated with the SQL Profiler and lets you see how much of the database resources it consumes.

This state is only available for SQL Server 2005 instances.

Memory

...

Aggregates several types of waits that indicate that a session is waiting for memory to be allocated to it.

This state is only available for SQL Server 2005 instances.

...

Backup

Includes the wait type that commonly occurs when a Backup command is performed.

This state is only available for SQL Server 2005 instances.

Other Internal

...

waits

Aggregates the following types of waits:

...

  • Full text waits

...

  • . Includes wait types dedicated to the full text indexing service and appears whenever a full text index is in progress.

...

  • HTTP waits

...

  • . Includes waits that occur when HTTP and SOAP operations are executing.

...

  • Query notifications

...

  • . Aggregates a number of states associated with the synchronization of Query Notification sessions.

This state is only available for SQL Server 2005 instances.

About lock waits

The Locking view displays a breakdown of lock waits, indicating that the session is waiting for an application lock to be freed. Lock waits are divided into substates.

Table 3- 4 Lock wait states

 

Lock Wait    Description

...

Lock WaitDescription
Row lockThe lock is being held on a row in a heap table.
Key

...

lockThe lock is being held on a key in an index or a row in a clustered index.
Page

...

lockThe lock is being held on a page.
Table

...

lockThe lock is being held on the entire table.
Other

...

lockIncludes locks on database, extents and files.
MD statistics

...

lockIndicates a metadata lock is being held on the statistics of a table or index.
MD partition

...

lockIndicates a metadata lock is being held on a partition function or partition schema.
MD other

...

lockIndicates a general metadata lock is being held.

About Non-In MS-SQL states

The Non-In MS-SQL session states signify activities performed outside of the SQL Server. The following table describes Non-In MS-SQL session states.

Table 3- 5 Non-In MS-SQL session states

 

Icon    State    Description

...

IconStateDescription
Image Added
Request Wait

The session is waiting for the client to issue a request.

A high value can indicate that a connection pool is too large and that many connections have been left open and are not active.

...

Image Added
Parallel Exchange WaitThe thread in a parallel session is waiting for data exchange from another thread.

...

Image Added
IdleIndicates

...

that the session is waiting for something other than a user request or is executing the WAITFOR DELAY command.

Anchor
AboutStatementIdentifiers
AboutStatementIdentifiers
About Statement identifiers

Each statement is identified by the following parameters:

...

For example, the statement "select * from sysobjects" executed in the master and msdb databases is represented by two different statements in the product. The ability to roll up the performance of those statements to one is also important. This is supplied using other identifiers such as the program entity.

Anchor
HowPreciseforSQLServermonitorsavailability
HowPreciseforSQLServermonitorsavailability
How Precise for SQL Server monitors availability

The Precise for SQL Server Collector monitors SQL server every second and collects data regarding resource consumption. If the instance status (Up/Down) was changed, a message code is sent by the Collector and causes the current availability of the instance saved in the PMDB to be changed. In addition, the availability of the instance is saved, over time, in the PMDB. During a planned downtime period the instance availability is showed as it was available during this period.Note:

Info

If the Precise for SQL Server Collector is down, the instance availability status reported is "Unknown."

...

Anchor
Aboutapplicationperformancetuning
Aboutapplicationperformancetuning
About application performance tuning

...

  • 15 minutes (time slice)
  • hours
  • days
  • weeks
  • months

About viewing current activity

The Current tab displays near real-time information on all sessions that are connected to your SQL Server instance during the last minute. Use the Current tab to solve bottlenecks, such as those caused by locked sessions or runaway processes. The Current tab displays activity information up to the last time slice of activity.

...

If you identified a blocking situation that is currently in progress (for example, there is a session waiting for a lock), select the Locks view to view the current sessions that are blocking the other sessions. The information is displayed in a tree format, which helps you easily identify which are the locked sessions, who they are being locked by and what is the lock level. You can drill down to the sessions involved in the lock to obtain more information about what is causing the lock. For example, you can drill down to a locking session to determine which SQL and which program are currently being executed.

About analyzing instance performance

While the Current tab displays near real-time data, it is recommended to begin the actual tuning process is the Activity tab.

...

The Activity tab can also be referred to when planing planning your system's capacity, performing period-to-period comparisons, and determining how best to optimize storage. Use the Activity tab to examine resource consumption of your SQL Server instance, over time, as well as the resource consumption of your databases, programs, logins, and so on. You can also identify dominant resource consumption by selecting the Overview view.

The Overview view provides a breakdown of the In MS-SQL states, such as, CPU usage, I/O waits, Lock waits, and Remote waits. Examining this data allows you to pinpoint the type of resource causing the bottleneck. If for example you identify that your SQL Server is suffering from an I/O wait problem, upgrading your server to a much more powerful machine will probably fail to provide you with the expected results.

Info

...

A high CPU rate exceeding 90% may indicate that indexes are not being used.

About identifying resource consumers

Precise for SQL Server lets you drill down to additional levels to determine which entities are responsible for a particular performance problem. In the Association area you can observe different entities, such as databases, login names, users, programs, and client machines, to pinpoint the application component that consumes the most database resources.

...

  • Entities that are related to the entity (such as, the logins or machines that executed the program).
  • Resources consumed by the entity. This enables you to determine if the entity is CPU or I/O bound, or waiting for a lock.
  • Resource consumption patterns, which allows you to observe and identify trends in resource consumption.

You can drill down even further to other entities associated with the selected entity in the Association area. For example, once you've identified a problem in a specific program you can drill down to the batches or statements the program issued, to determine the source of the problem.

About correlating with application server transactions

Precise for SQL Server lets you correlate between SQL Server resource consumption and internal application server data, as follows:

...

These entities are extensions to the common application performance entities. You may use the Association area to drill down and investigate the relationship between various entities.

About associating with offending SQL statements

Having identified a major resource-consuming entity, you can further drill down to the statements and batches executed by that entity. These may include long-running SQL statements or SQL statements that use few resources but are executed frequently.

...

The drill down to most resource-consuming SQL statements or batches is also available from all COM+, SAP, PeopleSoft and Siebel extended entities.

About analyzing previous blocking situations

One of the main reasons that statements possess long execution times is that they are waiting for a resource that is locked by another session.

...

If you are running SQL Server 2005 you can use the What-If option to check how creating a new index would influence the running of the application.

About identifying the most resource consuming statements or batches

Begin with the SmarTune tab to view a list of statements that require tuning. In the SmarTune tab, you can view expert knowledge regarding any area of your application showing performance deterioration and obtain comprehensive advice on how to solve specific problems. The Findings area lists the problematic statements while more comprehensive information is displayed in the Details area.

...

When selecting an SQL statement, you can view a breakdown of its resource consumption over time, its text, and all locking contentions that it participated in (time spent waiting for a resource).

About collapsing constants into bind variables

When an application uses constant values and literals instead of bind variables (parameter markers), many different SQL statements actually constitute the same SQL statement with different values.

...

Precise for SQL Server lets you select a Collapsed statement and associate to all the different execution plans of the SQL statements that were grouped together.

About viewing an execution plan

To view the execution plan of the statement and understand how the optimizer chooses to perform the statement, launch to the SQL tab. Each branch in the execution plan represents one operation. Each operation is displayed using the following format:

[<execution order>]<operation type>(<options>)<accessed object> [<cost in percentage>]

When examining the execution plan, always start by exploring it from right to left and top to bottom (according to the execution order in a branch on the tree). The first operation to be performed has execution order 1, followed by 2, and so on.

About estimating the cost of an execution plan

By observing the access plan of a selected statement or batch, you can analyze the access path chosen by the SQL Server Optimizer.

...

The information displayed in the Operations tab helps you understand the nature of the execution plan, its major operations, and the major access types to objects (such as, index scan, index seek, and table scan).

About analyzing changes and their effect on the statement's execution plan

Any change made to the schema or configuration parameters can adversely affect the performance of your application. Precise for SQL Server allows you track the schema and configuration changes and compare them with the resource consumption of your statement to understand how the changes related to the statement affected its performance and execution plan.

...

As you can see schema changes, volume changes, and database option changes, were made to objects referred by this statement. By examining the time the changes were reported and when the statement's performance began to deteriorate, you can locate the changes that may have been the cause of the degradation in statement performance. In the Association area you can view additional details regarding the changes and you can launch from a specific change to another tab to further your investigation. (For example: by clicking on the “Launch icon” Launch icon of “Instance Instance parameter changes” Changes you will launch to Object tab while displaying the Instance Parameters Changes” Changes in the Main Area.

About recommending indexes for an SQL statement

Precise for SQL Server uses the Microsoft® SQL Server 2000 Index Tuning Wizard (ITWIZ) and the Microsoft® SQL Server 2005 Database Tuning Adviser (DTA) to obtain recommended indexes and statistics for a selected statement or batch. The Recommended Indexes/Statistics list is displayed in the list on the left. Detailed information for each recommended item, such as a list of key columns and the DDL “create index/statistic” text, is displayed in the information tabs on the right.

...

In many cases, you may want to tune a database object rather than a specific statement that accesses the database object. This is especially true if you were not the one to write the application (for example, ERP and CRM applications) and therefore cannot change the text of any statement. In this case you will want to identify which objects are the best tuning candidates.

About identifying the best candidate for object tuning

In the Explore Objects tab in the Objects tab, you can examine the performance of active objects and determine which objects are good candidates for tuning. You can observe whether an object is an index or table, the name of the database it is associated with, a summary of the time it spent in SQL Server, and its size (in pages). If the object is an SQL Server 2005 object, additional information regarding I/O operations and waits, contentions, index usability, and logical, user and system operations is also displayed.

...

  • User operations are low while system operations are high, indicating that the index is only being used for maintenance purposes.
  • Level of I/O contentions and the amount of statement access time is high.

About recommending an index for a table

The decision to add a specific index to a table is complex. The index can improve one statement and may negatively affect others. Therefore, before adding an index, you should examine every statement accessing the table to see how the new index will impact it.

...

The What-If function displays a pie chart that indicates the distribution of the cost of all statements that were evaluated. The Analyzed Statements table displays the explained statements that access the objects whose recommendations are being evaluated. You can continue your analysis of a particular statement on the SQL tab Plan tab, by clicking its statement ID link.

About examining schema changes over time

The Collect Schema Changes process collects changes made in an instance configuration, databases, objects, columns, indexes, and index keys. The objects sampled are User Tables, Stored Procedures, Views, Functions (all kinds), Foreign Keys, Triggers, and Extended Stored Procedures.

...

In addition, the In MS-SQL overtime graph is displayed with respect to changes so that you can observe how the changes that were made affected the performance of your application.

About examining object space usage over time

Another way to tune a database object is to examine its space usage. The Collect Space Utilization process collects table and index space information daily (by default).

...

If you are running SQL Server 2005, both I/O read and I/O write information is displayed in the Objects tab.Note:

Info

Storage points are extensions to Precise for SQL Server. They require an additional license.

About identifying overactive storage devices

Precise for SQL Server displays information that relates I/O wait to the EMC Storage devices in which they are stored. This allows you to locate specific EMC Storage devices where performance problems are occurring.

By analyzing the information collected from your SQL Server databases, Precise for SQL Server provides an accurate picture of I/O activity and all the information needed to tune the I/O system. By identifying which EMC Storage devices are overactive, you can maintain performance levels by reorganizing storage configurations, reallocating your database objects to other file groups, or moving file groups to alternative devices.

About identifying and balancing I/O waits on the storage device level

After identifying which storage devices suffer from performance bottlenecks, you can drill down to them and analyze the I/O waits experienced during the selected time period. This can help you identify the logical files that are most probably causing the I/O bottleneck.

About identifying the most accessed database files

When one of the storage points is installed, you can compare the I/O wait on different physical disks to find out where the bottleneck is. You can then drill down from the physical disk level to the database file level to identify the database file with the most I/O waits.

About identifying and balancing I/O waits on the physical device level

Before moving a database file to another physical disk, you can examine the I/O wait on the database file to identify the time period that is experiencing the most I/O waits. You may also want to examine I/O waits on a physical disk over time to identify which physical disk is experiencing either no I/O waits, or very few I/O waits, during the same time period.

About examining file space usage over time

The Collect Space Utilization process collects database file space information daily (by default). This lets you examine file size versus the space used by each file in a database. This can help you locate the most space-consuming file, check its rate of growth, and help you determine how to best allocate memory and arrange the database files on disks.

...

The Precise for SQL Server Collector collects a wide range of performance counters from the operating system, some which belong to SQL Server and some to the operating system (OS) itself. These performance counters are sampled every minute and displayed in the Current and Statistics tabs. When loaded into the PMDB, the counters are aggregated and kept at a slice level. The counters are then aggregated to daily, weekly and monthly levels.

About observing instance statistics over time

The Statistics tab provides many performance counters grouped into several predefined overtime graphs that enable you to locate various aspects of performance problems, such as CPU, paging, I/O, and network. The Statistics tab can be used to monitor your system's current state as well as previous states. It is also possible to monitor a specific counter associated with a particular performance group by selecting the required counter.

 

Precise. Performance intelligence from click to storage. Learn more > >

...


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Newtabfooter
aliasIDERA
urlhttp://www.idera.com
 | 
Newtabfooter
aliasProducts
urlhttps://www.idera.com/productssolutions/sqlserver
 
Newtabfooter
aliasPurchase
urlhttps://www.idera.com/buynow/onlinestore
 | 
Newtabfooter
aliasSupport
urlhttps://idera.secure.force.com/precise/
 | 
Newtabfooter
aliasCommunity
urlhttp://community.idera.com
 
|
 
Newtabfooter
aliasResources
urlhttp://www.idera.com/resourcecentral
 | 
Newtabfooter
aliasAbout Us
urlhttp://www.idera.com/about/aboutus
 
Newtabfooter
aliasLegal
urlhttps://www.idera.com/legal/termsofuse

...