List of metrics. Machine metrics. Machine: processor time

Size: px
Start display at page:

Download "List of metrics. Machine metrics. Machine: processor time"

Transcription

1 List of metrics Machine metrics Machine: processor time Total processor utilization (averaged across all processor cores) on the physical host Windows machine. Processor: % Processor Time (_Total) This is a general indicator of how busy all of your processors are. Each data point represents the average non-idle time for all processor cores since the previous data point; average utilization for each processor is totaled and then divided by the number of processors on the machine. Machine: processor time is collected and averaged every 15 seconds. Ideally, Machine: processor time should average less than 50% for best SQL Server performance. If Machine: processor time ex ceeds an average 80% for a sustained time (five minutes or more), then a CPU bottleneck exists during this time, and you should investigate its cause. Keep in mind that short spikes in Machine: processor time above 80% are normal and expected, and only sustained high CPU utilization is a problem. If a spike indicates a plateau, not a sharp peak, this may indicate a slow running query is causing the CPU problem. Note: When running in a virtual environment, the Machine: processor time is not relevant because it is unable to accurately measure the CPU activity within a virtual machine. Instead, use the Hyper-V Logical Processor performance counters. Machine metrics Machi ne: proces sor time Avg. CPU queue length Machi ne: memor y used Memor y pages/ sec Netwo rk utilizati on Disk used Disk avg. read time Disk avg. write time Disk transfe rs/sec Avg. disk queue length

2 Possible solutions More information Avg. CPU queue length SQL Server processor time: In most dedicated SQL Server machines, there is a high correlation between Machine: processor time and SQL Server: processor time. If the Machine: processor time is much higher than the SQL Server: processor time, then some process, other than SQL Server is causing the high CPU utilization, and this process should be investigated. Avg. CPU queue length: This measures the number of threads in the processor queue. There is a single queue for processor time even on computers with multiple cores. If a computer has multiple processor cores, SQL Monitor divides this value by the number of processor cores servicing the workload. A sustained processor queue of less than 10 threads per processor is normally acceptable, dependent of the workload. A number exceeding 10 threads per processor indicates a potential CPU bottleneck. Assuming the Machine: processor time is due to the SQL Server process, reducing CPU utilization can be accomplished many different ways, including rewriting poorly written queries, reducing query plan recompilation, optimizing query parallelism, and avoiding using client-side cursors. If correcting the above does not resolve CPU bottlenecks, consider upgrading to faster processors or increasing the number of processors. If the Machine: processor time is high, and the SQL Server: processor time is not highly correlated, then identify the non-sql Server process causing the excessive CPU activity and correct it. Running SQL Server 2008 in a Hyper-V Environment Performance Tuning Guidelines for Windows Server 2008 Troubleshooting Performance Problems in SQL Server 2008 Measures the number of threads in the processor queue waiting to be executed. The queue contains threads that are ready to run but cannot because all of the processor cores are busy. System: Processor Queue Length (divided by the number of processor cores) SQL Server metrics User conne ctions SQL Server : proces sor time SQL Server : total memor y SQL Server : target memor y SQL Server : free memor y Batch reques ts/sec Compil ations/ sec Compil ations/ batch Reco mpilati ons/se c Buffer cache hit ratio Buffer page life expect ancy Full scans/ sec Page splits/s ec Page splits/b atch reques t Latch wait time Lock timeou ts/sec Lock waits/s ec Avg. lock wait time

3 Possible solutions More information Machine: memory used Displays the amount of physical memory (in bytes) used on the server. There is a single process queue, even on computers with multiple cores. Therefore, if a computer has multiple processor cores, SQL Monitor automatically divides the processor queue length by the number of processor cores servicing the workload to determine the average processor queue length. The lower the number, the better, but an average processor queue length of less than 10 is normally acceptable, dependent on the workload. A number exceeding 10 threads per processor indicates a CPU bottleneck. Occasional spikes in the average processor queue length over 10 are normal, but only sustained spikes in the average processor queue length are a problem. Machine: processor time for the host machine. If the average process queue length is regularly greater than 10, andmachine: processor time regularly exceeds 80%, then your machine has a CPU bottleneck. If a CPU bottleneck is confirmed, reducing CPU utilization can be accomplished in many different ways, including rewriting poorly written queries, reducing query plan recompilation, optimizing query parallelism, and avoiding using client-side cursors. If correcting the above does not resolve CPU bottlenecks, consider upgrading to faster processors or increasing the number of processors. If the Machine: processor time i s high, and the SQL Server: processor time is not highly correlated, then identify the non-sql Server process causing the excessive CPU activity and correct it. Troubleshooting Performance Problems in SQL Server 2008 (WMI: Win32_ComputerSystem.TotalPhysicalMemo ry) - (Memory: Available Bytes) Database metrics Transa ctions/ sec Active transa ctions Total size Data size Log size Log space used Log bytes flushe d/sec Log flushe s/sec Log flush waits/s ec Availability group metrics Log bytes receiv ed/sec Log send queue Redo queue Redo rate Transa ction delay ms/se c Flow control time ms/se c This is the total number of bytes of memory currently used by all processes. If applications on the server are running slow, and data access is also slow, you may want to check the values for this metric. High values may suggest a computer memory shortage or indicate that the computer or an application is not releasing memory. The optimal value depends on how much physical memory the machine has. For example, on a 6 GB machine, you may allow 2 GB for your operating system and assign the remaining RAM to your SQL Server. Memory pages/sec. This indicates whether memory shortages may be caused by excessive paging.

4 Memory pages/sec Measures the rate at which pages are read from or written to disk to resolve page faults. Possible solutions Memory: Pages/sec This is the sum of the memory pages input/sec and memory pages output/sec. It highlights the number of pages that were retrieved from disk because of hard page faults, or were written to disk to free space in the working set because of page faults. Extreme variations in Memory pages/sec are very common, especially when operations such as backups, restores, imports, or exports are performed. If Memory pages/sec exceeds 1000, and if the number of bytes available is less than 100 MB on a consistent basis, this is a strong indication of memory pressure. Machine: memory used and PerfMon counter Process: working set to calculate the amount of physical RAM available to SQL Server that is not currently being used by other processes. If the number of bytes available is less than 100 MB, andmemory pages/sec are high, the server is under significant memory pressure. Remove unnecessary applications and services from your server, add more physical RAM. Network utilization The percentage of total bandwidth usage to help identify whether your network adapter is at saturation point. 8 * ((Network Interface: Bytes Received/sec) + (Network Interface: Bytes Sent/sec)) / (Network Interface: Current Bandwidth) *100 Indicates the total amount of bandwidth being used on the connection to which the network card is attached. It is useful to determine when the network is idle, normal or busy. Note: This does not measure the amount of bandwidth being sent to and from the server. The value is calculated by adding together the rates at which bytes are sent and received per second over the network adapter and then converting them to bits. This value is then compared with the current bandwidth on the network adapter to calculate Network utilization.

5 Possible solutions This value is most useful when there is a single SQL Server instance on a host machine with no other network traffic. The ideal percentage value depends on the type of network connection you are using, so a baseline should be set against which efficiency can be measured. On average, more than 50% network utilization is high and more than 80% network utilization is very high. For optimum performance, you should have a network connection to a dedicated switch port running at full duplex. During busy periods, further investigation into the network-related processes running at the time may reveal which ones are placing significant load on network bandwidth. To do this, open Windows Task Manager and select Resource Monitor from the Performance tab. Turn off power savings mode on network cards, manually set the speed and duplex of your network card instead of having it set automatically for you, use a faster network card, add additional network cards. Disk used The amount of space used for each disk (in GB). ((denominator of LogicalDisk: % Free Space) - (LogicalDisk: Free Megabytes)) This information allows you to monitor how much storage space is being used and how much is available on each disk. It is important to evaluate the adequacy of your system's disk space to avoid programs failing because the system is unable to allocate space, and to prevent constraints on the growth of page filing to support virtual memory. The amount of disk capacity you need to ensure your system disks are adequately supported can be calculated as follows: Allow 1 GB for an operating system. Add the size of all applications. Add at least twice the size of system memory for the paging file. Add the disk space estimate for each user multiplied by the number of users. Multiply by at least 130% to take into account room for expansion. As a general rule, if the disk space used is 80% of capacity or greater, you may consider running a Disk Cleanup tool, compressing or defragmenting the disk, transferring certain files to other disks or using remote storage. Disk avg. read time The average time in milliseconds of a read operation from the logical disk. Logical Disk: Avg. Disk sec/read

6 Possible solutions Measures logical disk latency (how fast a disk responds) when data is read from it. The lower the latency, the faster the I/O performance, and vice versa. This metric, and the Disk avg. write time metric, are two of the most important indicators of I/O bottlenecks. For drives with MDF and NDF files and OLTP loads, average read latency should ideally be below 20 ms. For drives with OLAP loads, then latency up to 30 ms is considered acceptable. For drives with LDF files, latency should ideally be 5 ms or less. In general, anything above 50 ms is slow and suggests a potentially serious I/O bottleneck. Write latency will vary considerably over time, so these guideline figures ignore occasional spikes. Disk avg. write time. The values should correspond with the guidelines described above. Tune queries to reduce the resources used to execute them, use faster disk drives, use RAID 10, use more spindles inside RAID arrays, use faster controllers, use multiple controllers, use short-stroking, avoid using SANs where your data files are shared on arrays with other applications. MDF and NDF files should always be isolated from LDF files. Ideally, each LDF file should be on its own array for maximum performance. Disk avg. write time The average time, in milliseconds, of a write of data from the logical disk. Logical Disk: Avg. Disk sec/write Measures logical disk latency (how fast a disk responds) when data is written to it. The lower the latency, the faster the I/O performance, and vice versa. This metric, and the Disk avg. read/sec metric, are two of the most important indicators of I/O bottlenecks. For drives with MDF and NDF files and OLTP loads, average write latency should ideally be below 20 ms. For drives with OLAP loads, then latency up to 30 ms is considered acceptable. For drives with LDF files, latency should ideally be 5 ms or less. In general, anything above 50 ms is slow and suggests a potentially serious I/O bottleneck. Write latency will vary considerably over time, so these guideline figures ignore occasional spikes. Disk avg. read time. The values should correspond with the guidelines described above.

7 Possible solutions Tune queries to reduce the resources used to execute them, use faster disk drives, use RAID 10, use more spindles inside RAID arrays, use faster controllers, use multiple controllers, use short-stroking, avoid using SANs where your data files are shared on arrays with other applications. MDF and NDF files should always be isolated from LDF files. Ideally, each LDF file should be on its own array for maximum performance. Disk transfers/sec Measures how many read and write requests are being completed per second on the logical disk. Possible solutions More information Logical Disk: Disk Transfers/sec This metric helps to determine the number of IOPS (IOs per second) occurring on the logical disk, and whether your SQL Server applications are creating more I/O that can be handled by the disk subsystem. The Disk Transfers/sec should not exceed the IOPS capacity of your disk subsystem, otherwise there will be an I/O bottleneck. Disk avg. read time and Disk avg. write time. If these metrics are not within their recommended thresholds, then most likely your disk subsystem does not have the IOPS capacity it needs to keep up with the current application workload. The first thing you should do is determine the IOPS capacity of your disk system. Once you know what it is, then you will be in a position to know if you need to do anything to help boost the IOPS capacity of your disk subsystem, such as tune queries to reduce the resources used to execute them, use faster disk drives, use RAID 10, use more spindles inside RAID arrays, use faster controllers, use multiple controllers, use short-stroking, avoid using SANs where your data files are shared on arrays with other applications. MDF and NDF files should always be isolated from LDF files. Ideally, each LDF file should be on its own array for maximum performance. Analyzing Storage Performance Avg. disk queue length Measures the pressure on the physical hard disk array. Logical Disk: Avg. Disk Queue Length This is the average number of physical read and write requests queued for a physical disk. Due to changes in technology, such as virtualization, disk and controller technology, SANs and more, this counter is no longer a good indicator of I/O bottlenecks. A better measure of I/O bottlenecks is Avg. disk read time and Avg. disk write time.

8 Disk avg. read time and Disk avg. write time. SQL Server metrics User connections The total number of user connections to a SQL Server instance at a given time. SQLServer: General Statistics: User Connections This value provides a general guideline of how busy the SQL Server is. Every connection to a SQL Server instance requires on average 28 KB of memory overhead, even if the user is not currently using the connection. You can adjust the settings for your SQL Server instance so that the maximum number of user connections permitted is determined automatically by identifying the number of users currently logged on. Generally speaking, there is a correlation between the number of user connections and Batch requests/sec. Note: The user connections value is not the same as the number of users. A single user may have multiple connections open, or multiple users may share a single connection. It is useful to monitor this value over time to indicate increases or decreases in usage of your SQL Server. The number of worker threads is calculated dynamically based on the type of installation and number of processors available to SQL Server: For 32-bit servers, the base worker thread count is 256 and 8 additional worker threads are added for each scheduler above the initial 4 on the server ((NumberOfSchedulers -4) *8) For 64-bit servers, the base worker thread count is 512 and 16 additional worker threads are added for each scheduler above the initial 4 on the server ((NumberOfSchedulers -4) *16) For more information on worker thread counts, see Configure the max worker threads Server Configuration Option. Note: The number of connections on a server can easily be three or four times the number of worker threads if connection pooling is being used. Connections are pooled per application domain, per connection string, per server, and not every connection will be executing at exactly the same time. SQL Server: processor time

9 The processor utilization (%) for the SQL Server service running on the host Windows machine. Process(sqlservr): % Processor Time This value tells you what percentage of processor time is being used to run the sqlservr process (the database engine). It excludes other SQL Server-related processes, such as the SQL Server Agent, SSIS, Reporting Services, Analysis Services, and Full Text Search. Because SQL Server: processor time is a subset of Machine: processor time, the SQL Server: processor time value will be lower. Note: On multiprocessor computers, it is common for SQL Server to use more than the equivalent of 100% processor time on one processor. This is because its threads may be using multiple processors. Ideally, SQL Server: processor time should average less than 50% for best SQL Server performance. If it exceeds an average 80% for a sustained time (five minutes or more), then a CPU bottleneck exists during this time, and you should investigate its cause. Short spikes in SQL Server: processor time above 80% are normal and expected, and only sustained high CPU utilization is a problem. If a spike indicates a plateau, not a sharp peak, this may indicate a slow running query is causing the CPU problem. Generally, SQL Server: processor time sho uld be the busiest process on a host system, and will correlate closely with Machine: processor time. If SQL Server: processor time is substantially smaller than Machine: processor time, this may indicate that some other process running on the host system is using CPU, potentially using CPU resources that could be used by the Database Engine in order to enhance its performance. If this is the case, identify which processes are using Task Manager in order to diagnose what is happening on your host system. Machine: processer time where the average utilization for each processor is totaled and then divided by the number of processors on the machine. If this average is 80% or more, or if you consistently record averages greater than 50%, your processors may need upgrading. Also, Avg. CPU queue length pro vides a stronger indication of whether your processor is running slowly. SQL Server: total memory The total amount of dynamic memory the server is currently using. SQLServer:Memory Manager - Total Server Memory (KB) Amount of physical memory the mssqlserver service is currently using; includes the total of the buffers committed to the SQL Server BPool and "OS in Use" type buffers.

10 Possible solutions If SQL Server: total memory is relatively high compared to the amount of physical memory in the computer, it may indicate that more physical memory is required. SQL Server: target memory: Display s the maximum amount of dynamic memory (the buffer pool) that SQL Server is prepared to use. This number cannot exceed the maximum server memory setting. When SQL Server first starts, this value corresponds to the buffers reserved at SQL Server startup. The default memory management behavior of the Microsoft SQL Server Database Engine is to acquire as much memory as it needs without creating a memory shortage on the system. If SQL Server needs more physical RAM after startup, and if there are Mbytes available, then SQL Server will grab it and SQL Server: target memory will increase. If the OS requests RAM back from SQL Server, then SQL Server: target memory will usually decrease, which in some cases can cause SQL Server memory pressure, hurting SQL Server performance. Buffer cache hit ratio: The percentage of pages that were found in the buffer cache without having to read from disk. Ideally, this value should be close to 99% for OLTP system. A smaller number may indicate that the SQL Server is under memory pressure. OLAP systems often have a Buffer Cache Hit Ratio of less than 90%, which is typical. Buffer free pages: The number of free spaces available in the buffer cache. Generally speaking, if this number drops below 640 pages, this could indicate SQL Server memory pressure. Buffer page life expectancy: Measur es the average number of seconds a page will stay in the buffer cache without being accessed. Generally speaking, if his value drops below 300 seconds, this may indicate SQL Server is under memory pressure. Remove unnecessary applications and services from your server, and add more physical RAM. SQL Server: target memory Maximum amount of dynamic memory (the buffer pool) that SQL Server is prepared to use. SQLServer:Memory Manager - Target Server Memory (KB)

11 Possible solutions Displays the maximum amount of dynamic memory (the buffer pool) that SQL Server is prepared to use. This value cannot exceed the max server memory setting. When SQL Server first starts, this value corresponds to the buffers reserved at SQL Server startup. The default memory management behavior of the Microsoft SQL Server Database Engine is to acquire as much memory as it needs without creating a memory shortage on the system. If SQL Server needs more physical RAM after startup, and if Mbytes are available, then SQL Server will grab it and SQ L Server: target memory will increase. If the OS requests RAM back from SQL Server, then SQL Server: target memory will usually decrease, which in some cases can cause SQL Server memory pressure, hurting SQL Server's performance. If this value is high (relative to the total physical memory available on your machine), then you should consider adding extra physical memory, to improve the performance of SQL Server. SQL Server: total memory: Displays the total amount of dynamic memory (the buffer pool) the server is currently using. SQL Server: total memory will increase as SQL Server needs it, assuming it is available. This value will always be smaller or equal to SQL Server: target memory. If SQL Server: total memory is relatively high compared to the amount of physical memory in the computer, it may indicate that more physical memory is required. Buffer cache hit ratio: The percentage of pages that were found in the buffer cache without having to read from disk. Ideally, this value should be close to 99% for OLTP system. A smaller number may indicate that the SQL Server is under memory pressure. OLAP systems often have a Buffer cache hit ratio of less than 90%, which is typical. Buffer free pages: The number of free spaces available in the buffer cache. If this number drops below 640 pages, this could indicate SQL Server is under memory pressure. Buffer page life expectancy: Measur es the average number of seconds a page will stay in the buffer cache without being accessed. If his value drops below 300 seconds, this may indicate SQL Server is under memory pressure. Remove unnecessary applications and services from your server, and add more physical RAM. SQL Server: free memory The total amount of dynamic memory that the server is not using.

12 Note: This metric was introduced in SQL Server 2012 to replace Buffer free pages (which was used in SQL Server 2008 and earlier). For SQL Server 2008 and earlier, we've now converted free pages into memory (1 page is equal to 8 KB). SQLServer: Memory Manager - Free memory The Memory Manager monitors the overall memory usage of SQL Server. This metric can help you identify whether there are bottlenecks resulting from a lack of memory (which means that SQL Server has to retrieve data from disk). It can also help you to identify whether you can improve query performance by increasing the amount of memory. A free memory value greater than 5 MB should ensure that the buffer cache can handle sufficient new memory allocation requests. A value less than 5 MB may mean that requests are stalled and this can affect performance. You may consider adding memory or making more memory available to the data cache. Buffer cache hit ratio: If this value is below 90% and your free memory value is less than 5 MB, you may be experiencing memory pressure and additional RAM may be required. Batch requests/sec Number of T-SQL batch requests received by SQL Server per second, averaged since last collection time. SQLServer:SQL Statistics - Batch Requests/sec This gives a general indicator of how busy SQL Server is. It measures all of the batches you send to the SQL Server. The number of batch requests SQL Server can handle is dependent on the capability of your hardware. It may be useful to track this value over time, to gauge the scalability of your system, and to identify when you have peaks and troughs in user requests. Batch requests/sec only tracks the number of batches, not the statements in the batch. Some batches may use very little resources, while other batches use huge amounts of resources. Each batch is different, and this metric only provides an absolute count of the batches executed by SQL Server. In general, over 1000 batch requests per second indicates a very busy SQL Server, and could highlight the potential for a CPU bottleneck. More powerful hardware can of course handle higher numbers of requests. Compilations/batch and Compilations/sec. These values should be as low as possible, as high values may indicate a lot of ad-hoc queries being run. You may need to optimize T-SQL. Compilations/sec

13 SQL compilations per second; each data point shows the average value since the previous data point. Possible solutions SQLServer:SQL Statistics - SQL Compilations/sec The number of times that Transact-SQL compilations occur, per second (including recompiles). The lower the value the better. Each compilation uses CPU and other resources, so SQL Server will attempt to reuse cached execution plans wherever possible. Not having to recompile the stored procedure reduces the overhead on the server and speeds up overall performance. In general, Compilations/sec should be less than 10% of the Batch requests/sec. High values often indicate excessive ad-hoc querying and should be as low as possible. Batch requests/sec. Rewrite ad-hoc queries as stored procedures. Reduce usage of temp tables, or combine statements to eliminate them in stored procedures. Check "SET" statements - changes in session settings such as ANSI_PADDING or ANSI_NULLS can cause a query to be recompiled. If SQL Compilations/sec are excessive in SQL Server 2005 or later, consider using "Forced parameterization" on the database. This tells SQL Server to force the parameterization of virtually all SELECT, INSERT, UPDATE and DELETE statements, requiring fewer compilations of statements due to re-use of more query plans. Compilations/batch SQL compilations per batch requests received by SQL Server. (SQLServer:SQL Statistics - SQL Compilations/sec) / (SQLServer:SQL Statistics - Batch Requests/sec) This should provide a general indication of how quickly and efficiently SQL Server query optimizer is processing user queries. As a general rule, Compilations/sec should be less than 10% of the Batch requests/sec. High values often indicate excessive adhoc querying and should be as low as possible. Compilations/sec and Batch requests/sec. Recompilations/sec Number of times, per second, that Transact-SQL objects attempted to be executed had to be recompiled. SQLServer:SQL Statistics - Re-Compilations/sec

14 Usually, once an object is compiled, it does not have to be recompiled. When a stored procedure or query is recompiled, a compile lock is placed on the objects referenced by the procedure, and database blocking may occur. Excessive recompilations can cause serious performance problems or may compile locks that are incompatible with any known locking type. Recompilations/sec should be as small as possible. Any value greater than 10% of Com pilations/sec can indicate a problem. Compilations/sec, Batch requests/sec, and Compilations/batch requests to determine how quickly and efficiently SQL Server and the query optimizer are processing user queries. SP:Recompile and SQL:StmtRecompile event classes in a Profiler trace to identify which stored procedures and SQL statements need recompiling with every run. The EventSubClass data column tells you what caused the recompile. Buffer cache hit ratio The percentage of pages that were found in the buffer pool without having to read from disk. SQLServer: Buffer Manager - Buffer cache hit ratio Indicates how frequently a query gets information from cache instead of accessing the hard disk. The value is calculated by dividing the total number of cache hits by the total number of cache lookups. This figure is an average value calculated since the SQL Server service was last restarted, not a snapshot of what is currently happening on your server now. Because of this, be careful how you interpret this value. If your server is running online transaction processing (OLTP) applications, a value of 99% or higher is ideal, but anything above 90% is generally considered satisfactory. A value of 90% or lower may indicate increased I/O access and slower performance. Adding more physical RAM may help alleviate this problem. If your server is running online analytical processing (OLAP) applications, it is not uncharacteristic for this value to fall below 90%, which is not normally a problem, unless you see other signs of memory pressure. Note: Be aware that the value of this metric immediately after a service restart will be uncharacteristically low until enough time has passed for the data cache to fill. Buffer page life expectancy: Measures the average number of seconds a page will stay in the buffer cache without being accessed. Generally, if his value drops below 300 seconds, this may indicate SQL Server is under memory pressure.

15 Buffer page life expectancy Indicates the average number of seconds a page will stay in the buffer pool without being referenced. SQLServer: Buffer Manager - Page life expectancy Data is cached in the buffer pool so that it can be retrieved much faster than having to retrieve it from disk. However, once data pages have been stored in the buffer pool, they may or may not be reused. If a page is not referenced after a given amount of time, that page will be removed from the buffer pool so other data can use the space. A high buffer page life expectancy indicates that buffer pages are being reused often, which in turn indicates that the SQL Server is not under any memory pressure. This value depends on the amount of RAM installed on the servers. It is best practice to record a baseline measurement against which you can compare the monitored values over time. Do this by running the formula (DataCacheSizeInGB/4GB*300) as recommended in Finding what queries in the plan cache use a specific index. For details on how to find the data cache size, see Perfor mance issues from wasted buffer pool memory. If data pages consistently remain in the buffer for less than your baseline value, this may indicate that there is insufficient memory on the system or not enough memory is configured for SQL Server use. You may consider improving performance by adding RAM. The problem may also be caused by missing indexes, poor index design or badly written application code, such as too many stored procedures being recompiled, or queries reading large tables in the buffer pool when only a small number of rows need changing. Addressing application-specific problems may improve performance. Buffer cache hit ratio. If this value is consistently low or drops suddenly, memory bottleneck may be the most likely cause. Full scans/sec Measures the number of base table or full index scans occuring per second. SQLServer:Access Methods: Full Scans/sec This value monitors how many full scans are performed on tables or indexes. While index scans are a normal part of how SQL Server works, a lot of full scans may indicate missing indexes, accessing many small tables, or queries that return large quantities of rows.

16 It is best practice to record a baseline measurement against which you can compare your monitored values. If the monitored value is significantly higher when compared with the baseline, and CPU is also high, it may suggest performance bottleneck. The ratio of Index searches/sec to Full scans/sec should generally be no more than 1000:1. Machine: processor time to establish whether CPU is also high. Also look at Batch requests/sec against your baseline measurement for details of how well the database is coping with queries. You can then check the Lock waits/sec and Lock timeouts/sec to determine whether locking issues are affecting performance. Page splits/sec The number of page splits, and new page allocations, in a SQL Server table per second. Possible solutions SQLServer:Access Methods: Page Splits/sec As new data is inserted or added to an existing data page, and the page does not have enough room for all the new data to fit, SQL Server splits the page, leaving half of the data on the old page and putting the other half on a new page. This is a normal SQL Server event, but excessive page splitting can result in index fragmentation and a variety of related performance problems. It is best practice to record a baseline against which you can compare your monitored values. In general terms, this value should not be greater than 20% of the number of Batch requests/sec. A low value is preferable, but what constitutes low depends on a number of variable factors including the number of users, the level of user activity and your I/O subsystem performance capabilities. Disk avg. read time and Disk avg. write time. There is often a correlation between excessive I/O activity and excessive page splitting. Resolving page splitting problems is often difficult as the original database design may be contributing to the problem. Besides reconsidering the database design, also consider reevaluating your indexing strategy, and perhaps increase the fillfactor of the indexes being affected by excessive page splitting. If excessive page splitting cannot be effectively eliminated, consider increasing the frequency in which you rebuild or reorganize your indexes in order to remove the fragmentation created by page splitting. Page splits/batch request The number of page splits per second in a SQL Server table divided by the number of T-SQL command batch requests received per second.

17 (SQLServer:Access Methods: Page Splits/sec) / (SQLServer:SQL Statistics - Batch Requests/sec) While pages splits are a normal SQL Server function, excessive page splitting can negatively affect SQL Server performance. On average, the number of page splits per batch request should be below 20% of the number of batch requests per second, but ideally as close to 0 as possible. The fill factor of the tables in your indexes. The lower the fill factor, the more space, which helps reduce potential page splits. For more information about fill factor, see the MS DN documentation. Latch wait time The average wait time, in milliseconds, that latch requests have to wait before being executed. SQLServer:Latches - Average Latch Wait Time (ms) Think of a latch as a lightweight lock used by SQL Server to manage many internal operations. They prevent one SQL Server internal operation from conflicting with another internal SQL Server operation. This average is calculated by dividing latch wait milliseconds by the number of latch waits. Monitoring latch wait time helps to generically identify user activity and resource utilization that may be the cause of performance bottlenecks. The current average should be compared against a baseline average. Note that latches that do not have to wait for requests to be granted are not included in this value. In general, there is a correlation between this metric and latch waits/sec. Use PerfMon to check the latch waits/sec value. If both values increase above their baseline averages, the SQL Server is experiencing resource contention that needs further investigation.

18 the following features included in the dynamic management view (DMV) to help identify which activity is causing latch wait problems: sys.dm_os_latch_stats (latch wait information by class) sys.dm_os_wait_stats (details about the waits encountered by threads in execution) sys.dm_db_index_operational_stats (d etails of I/O, latching, locking and access method activity for table partitions or database indexes) Note: These DMVs are not supported in SQL If you are using SQL 2000, use the DBCC SQLPERF('WAITSTATS') statement. The relative wait numbers and times for every latch class must be reviewed to understand SQL Server instance performance issues. Lock timeouts/sec The number of locks per second that timed out. SQLServer:Locks - Lock Timeouts/sec Locks are held on SQL Server resources to stop them from being used simultaneously by another transaction. For example, if a transaction holds an exclusive lock on a row, no other transaction can make changes to that row until the lock is removed. Fewer locks allow more concurrent transactions to take place and this may improve performance. The lock timeout limit in SQL Server depends on the value set using the SET LOCK_TIMEOUT command. If no value is set, SQL Server will wait indefinitely for the lock to clear. Any value greater than 0 suggests that users may be experiencing problems with queries that are not completing. Lock waits/sec. This can identify the number of locks that did not timeout but had to wait for resource. Lock waits/sec The number of locks per second that could not be satisfied immediately and had to wait for resources. SQLServer:Locks - Lock Waits/sec

19 Locks are held on SQL Server resources to stop them from being used simultaneously by another transaction. For example, if a transaction holds an exclusive lock on a row, no other transaction can make changes to that row until the lock is removed. Fewer locks allow more concurrent transactions to take place and this may improve performance. Any value greater than 0 suggests that some level of blocking is occurring. It is best practice to compare the current value against a baseline to determine what is normal for your SQL Server. An increasing lock wait time indicates potential resource contention. Buffer cache hit ratio. If this value is above 90%, look at the Avg. disk queue length. Excessive disk queueing may be caused by badly configured or inadequately sized disk subsystems. You may want to review indexing and investigate the numbers of concurrent connections. If the Buffer cache hit ratio is below 90%, additional RAM may be required. Avg. lock wait time The average wait time (in milliseconds) for each lock that could not be satisfied immediately and had to wait for resources. SQLServer:Locks - Average Wait Time (ms) Locks are held on SQL Server resources to stop them from being used simultaneously by another transaction. For example, if a transaction holds an exclusive lock on a row, no other transaction can make changes to that row until the lock is removed. Fewer locks allow more concurrent transactions to take place and this may improve performance. Average wait times of 500 ms or more may indicate excessive blocking and should be investigated. In general, Avg. lock wait time correlates with Lock waits/sec, and if you see both of them increasing, you need to investigate what is causing the blocking issues. Lock waits/sec to identify peaks over time, and Lock timeouts/sec to see how many locks reached the threshold set using the SET LOCK_TIMEOUT command. Database metrics Transactions/sec Number of transactions started for the database per second. Each data point shows the average number of transactions per second since the previous data point. SQLServer:Databases - Transactions/sec

20 A transaction is one or more database operations combined into a single operation; either user-defined transactions surrounded by BEGIN TRAN and COMMIT TRAN or individual data modification statements such as INSERT or UPDATE. Transaction rate is affected by general system performance and resources such as I/O, number of users, cache size, and complexity of requests.this counter records only explicit transactions or transactions that change data. Note: Transactions per second only measures activity inside a transaction, not all activity, The Batch requests/sec metric is a more complete picture of all SQL Server activity. A high number of transactions per second is not necessarily an indication of a problem, only that there is a lot of activity on your SQL Server. You should establish a baseline value and track when transactions are unusually high or low. Active transactions Number of active transactions for the database. Each data point shows the number of active transactions at the point the data was collected. SQLServer:Databases - Active Transactions Active transactions are UPDATE transactions on the database that that have not yet been committed or rolled back. Note: This metric measures activity inside a transaction, not all activity. The Batch requests/sec metric is a more complete picture of all SQL Server activity. Generally, the number of active transactions should be considerably lower than the number of Transactions/sec(as active transactions show only those transactions that have not yet completed). If the number of transactions currently active is higher than the Transactions/sec metric, then this may indicate you have long-running transactions. Long running transactions can increase lock times and cause blocking. Total size The total size (in GB) of all data files (.mdf and.ndf) and log files (.ldf) for this database. SQLServer:Databases - Data File(s) Size (KB) + SQLServer:Databases - Log File(s) Size (KB) This value is the sum of the total data files and total log files sizes. It is useful for determining the amount of space required by the database and identifying trends.

21 For best practice, MDF, NDF, and LDF files should be proactively managed in order to prevent autogrowth from kicking in and growing your database files. Note: If the values for this metric drop to zero intermittently, the most likely cause is a problem affecting sys.master_files from which SQL Monitor collects the data. Log size for details of total.ldf files, and Data size for details of total.mdf and.ndf files. Data size Total size of all data files (.mdf and.ndf files) for the specified database. SQLServer:Databases - Data File(s) Size (KB) This value is the total size of the database, excluding the transaction log. Information about individual primary data files (.mdf) and secondary data files (.ndf) such as their current size, location, and autogrowth settings, is shown under the Filessection of the Database overview page in SQL Server Management Studio. Look out for unusual large increases in the size of your data files. Ideally your database should be sized in a way that minimizes autogrowth, as each size increase is expensive in terms of I/O and will also physically fragment your data and log files. Growing a file on demand is an expensive process and will impact performance. Autogrowth should only be used as a safety valve to allow a database to grow should you accidently run out of space. It should not be used to manage your MDF file growth. In general, data files should be pre-sized when they are first created to meet future expected growth, help avoid file fragmentation and ensure better database performance. Note: If the values for this metric drop to zero intermittently, the most likely cause is a problem affecting sys.master_files from which SQL Monitor collects the data.

22 Full Recovery Mode is used for all production databases. When using Full Recovery Mode, be sure you take regular full and transaction log backups. The files are set to be the amount of space you need for normal activity. Monitor the data files and manually add space as data grows. You should have 6-12 months of space for data growth in your data files. If you don't have space for the database to grow at its current rate, move the database to a larger disk drive or upgrade the disk itself. Caution: Shrinking files to reduce space causes fragmentation and is not recommended. Log size Total size of all log files (.ldf) for this database. SQLServer:Databases - Log File(s) Size (KB) Each transaction performed in the database is recorded in the transaction log. This allows recovery in the event of data loss since the last backup. Information about the log file (.ldf) such as its location, autogrowth setting and current size, is shown under the Files se ction of the Database overview page in SQL Server Management Studio. Transaction logs are serial records of database modifications. They're used during recovery operations to commit completed transactions and to roll back uncompleted transactions. The size of the log file is determined by the Recovery Model set for the database. By default when creating a new database it will use the Full recovery mode (inherited from the Model database), where transactions in the log file are only ever removed when a transaction log backup is performed. When you back up a transaction log, the backup stores the changes that have occurred since the last transaction log backup and then truncates the log, which clears out transactions that have been committed or aborted. If the transaction log is not backed up regularly, it will grow indefinitely in size and could fill your entire disk. Note: If the values for this metric drop to zero intermittently, the most likely cause is a problem affecting sys.master_files from which SQL Monitor collects the data.

23 The transaction log file should be pre-allocated to the size you think it needs to be when your system is in production. This size will depend on the number of transactions you expect, and how often you backup the transaction log. Set correct autogrowth properties: 10% autogrowth for data and log files (the default setting) may be sufficient for low utilization databases, but 500 MB autogrowth rate may be more suitable for a busy database, allowing for growth over time without the heavy I/O impact caused by regular autogrowth operations. Even in Simple recovery model, if you are writing to the transaction log fast enough, the checkpoint process cannot keep up, and the log file will trigger autogrowth. If you are performing a one-off bulk insert operation, you may want to switch the recovery model to bulk logged for the duration of the insert. If you do not need point-in-time recovery for this database, then it may be appropriate to switch to Simple recovery model. If a database is configured with the Full or Bulk Logged recovery model, you should back up the transaction log regularly so it can be truncated to free up inactive log space. Truncating a log file removes inactive virtual log files, but does not reduce the file size. Log space used Percentage of total transaction log file size currently containing log records. SQLServer:Databases - Log File(s) Used Size (KB) The transaction log file stores the details of all the modifications that you perform on your SQL Server database. The amount of space it takes up depends on the recovery model used, database activity, how often transaction logs are backed up, among other factors. It is normal to see the log space figure to vary considerably in size over time as transactions are recorded, and removed when log backups are performed. Log bytes flushed/sec Shown on the Availability group overview as Log growth. Average size of the log flush per second. Each data point shows the average log bytes flushed per second for this database since the previous data point. SQLServer:Databases - Log Bytes Flushed/sec

24 This metric helps to assess utilization and identify trends of the transaction log. A log flush occurs when data is written from the log cache to the physical transaction log file on disk, every time a transaction is committed. Within availability groups, both the primary and the secondary replicas have a log bytes flushed rate. On the primary replica, this shows how quickly log records are being added to the log send queue. On the secondary, it shows how quickly log bytes are being added to the redo queue. The Availability group overview page only shows the rate of log bytes flushed on the primary replica. The size of a log flush varies depending on the nature of the transaction. For example, a single INSERT into 1,000,000 rows will result in a single log flush, but a high number of bytes. Within availability groups, if the rate of log bytes flushed on the primary replica is higher than the rate at which log bytes are sent, the size of the log send queue will increase. To estimate the potential data loss on failover (in asynchronous-commit mode), divide the log send queue by the log bytes flushed. If the rate of log bytes flushed on the secondary replica is higher than the redo rate, the size of the redo queue will increase. Log flushes/sec: The number of log pages flushed to the transaction log per second. Log send queue: The amount of log records in the primary database log file waiting to be sent to the secondary replica. Redo queue: The amount of log records that needs to be redone (written to the secondary database) for the synchronous-commit primary and secondary replicas to be synchronized. Log flushes/sec Number of log flushes per second for this database, averaged since last collection time. SQLServer:Databases - Log Flushes/sec A log flush occurs when a transaction is committed and data is written from the log cache to the physical transaction log file. The log cache is a temporary location in memory where SQL Server stores data to be written to the log file, and is used to roll back a transaction before it is committed if required. Once a transaction is completed (and can no longer be rolled back), the log cache is immediately flushed to the physical log file on disk.

Optimizing tempdb Performance

Optimizing tempdb Performance The World s Largest Community of SQL Server Professionals Optimizing tempdb Performance Brad M McGehee Director of DBA Education Red Gate Software www.bradmcgehee.com My Assumptions About You You are most

More information

SQL Server: Practical Troubleshooting. Dmitri Korotkevitch (http://aboutsqlserver.com)

SQL Server: Practical Troubleshooting. Dmitri Korotkevitch (http://aboutsqlserver.com) SQL Server: Practical Troubleshooting 1 Who is this guy with heavy accent? 11+ years of experience working with Microsoft SQL Server Microsoft SQL Server MVP Microsoft Certified Master (SQL Server 2008)

More information

Lesson 2: Using the Performance Console

Lesson 2: Using the Performance Console Lesson 2 Lesson 2: Using the Performance Console Using the Performance Console 19-13 Windows XP Professional provides two tools for monitoring resource usage: the System Monitor snap-in and the Performance

More information

Microsoft SQL Server Fix Pack 15. Reference IBM

Microsoft SQL Server Fix Pack 15. Reference IBM Microsoft SQL Server 6.3.1 Fix Pack 15 Reference IBM Microsoft SQL Server 6.3.1 Fix Pack 15 Reference IBM Note Before using this information and the product it supports, read the information in Notices

More information

10 MONITORING AND OPTIMIZING

10 MONITORING AND OPTIMIZING MONITORING AND OPTIMIZING.1 Introduction Objectives.2 Windows XP Task Manager.2.1 Monitor Running Programs.2.2 Monitor Processes.2.3 Monitor System Performance.2.4 Monitor Networking.2.5 Monitor Users.3

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking

More information

Product Guide. McAfee Performance Optimizer 2.2.0

Product Guide. McAfee Performance Optimizer 2.2.0 Product Guide McAfee Performance Optimizer 2.2.0 COPYRIGHT Copyright 2017 McAfee, LLC TRADEMARK ATTRIBUTIONS McAfee and the McAfee logo, McAfee Active Protection, epolicy Orchestrator, McAfee epo, McAfee

More information

Estimate performance and capacity requirements for Access Services

Estimate performance and capacity requirements for Access Services Estimate performance and capacity requirements for Access Services This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references,

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 Few words about Percona Monitoring and Management (PMM) 100% Free, Open Source

More information

Performance Monitoring Always On Availability Groups. Anthony E. Nocentino

Performance Monitoring Always On Availability Groups. Anthony E. Nocentino Performance Monitoring Always On Availability Groups Anthony E. Nocentino aen@centinosystems.com Anthony E. Nocentino Consultant and Trainer Founder and President of Centino Systems Specialize in system

More information

Performance Monitoring

Performance Monitoring Performance Monitoring Performance Monitoring Goals Monitoring should check that the performanceinfluencing database parameters are correctly set and if they are not, it should point to where the problems

More information

Performance Counters

Performance Counters Platform Health Monitoring Counters, page 1 Platform Diagnostic Counters Automatic Collection, page 4 Platform Diagnostic Counters, page 11 Component-Specific Counters, page 13 Live Data performance counters

More information

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino Performance Monitoring AlwaysOn Availability Groups Anthony E. Nocentino aen@centinosystems.com Anthony E. Nocentino Consultant and Trainer Founder and President of Centino Systems Specialize in system

More information

-- RPC:Completed, @maxfilesize, NULL, xxx -- Batch:Completed -- Set the Filters -- Set the trace status to start -- Display trace id for future references SQL_Signature Regular Expressions I of this:

More information

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino Performance Monitoring AlwaysOn Availability Groups Anthony E. Nocentino aen@centinosystems.com Anthony E. Nocentino Consultant and Trainer Founder and President of Centino Systems Specialize in system

More information

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino Performance Monitoring AlwaysOn Availability Groups Anthony E. Nocentino aen@centinosystems.com TUGA IT 2017 LISBON, PORTUGAL THANK YOU TO OUR SPONSORS Anthony E. Nocentino Consultant and Trainer Founder

More information

McAfee Performance Optimizer 2.1.0

McAfee Performance Optimizer 2.1.0 Product Guide McAfee Performance Optimizer 2.1.0 For use with McAfee epolicy Orchestrator COPYRIGHT 2016 Intel Corporation TRADEMARK ATTRIBUTIONS Intel and the Intel logo are registered trademarks of the

More information

Estimate performance and capacity requirements for InfoPath Forms Services 2010

Estimate performance and capacity requirements for InfoPath Forms Services 2010 Estimate performance and capacity requirements for InfoPath Forms Services 2010 This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site

More information

Performance Dashboard Guide

Performance Dashboard Guide Performance Dashboard Guide v8.0 May 10, 2013 For the most recent version of this document, visit kcura's Documentation Site. Table of Contents 1 Overview 3 1.1 System requirements 3 1.2 Installation 3

More information

davidklee.net heraflux.com linkedin.com/in/davidaklee

davidklee.net heraflux.com linkedin.com/in/davidaklee @kleegeek davidklee.net heraflux.com linkedin.com/in/davidaklee Specialties / Focus Areas / Passions: Performance Tuning & Troubleshooting Virtualization Cloud Enablement Infrastructure Architecture Health

More information

SQL Server 2014 Training. Prepared By: Qasim Nadeem

SQL Server 2014 Training. Prepared By: Qasim Nadeem SQL Server 2014 Training Prepared By: Qasim Nadeem SQL Server 2014 Module: 1 Architecture &Internals of SQL Server Engine Module : 2 Installing, Upgrading, Configuration, Managing Services and Migration

More information

Performance Characterization of the Dell Flexible Computing On-Demand Desktop Streaming Solution

Performance Characterization of the Dell Flexible Computing On-Demand Desktop Streaming Solution Performance Characterization of the Dell Flexible Computing On-Demand Desktop Streaming Solution Product Group Dell White Paper February 28 Contents Contents Introduction... 3 Solution Components... 4

More information

Designing Database Solutions for Microsoft SQL Server (465)

Designing Database Solutions for Microsoft SQL Server (465) Designing Database Solutions for Microsoft SQL Server (465) Design a database structure Design for business requirements Translate business needs to data structures; de-normalize a database by using SQL

More information

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino

Performance Monitoring AlwaysOn Availability Groups. Anthony E. Nocentino Performance Monitoring AlwaysOn Availability Groups Anthony E. Nocentino aen@centinosystems.com Anthony E. Nocentino Consultant and Trainer Founder and President of Centino Systems Specialize in system

More information

The Total Network Volume chart shows the total traffic volume for the group of elements in the report.

The Total Network Volume chart shows the total traffic volume for the group of elements in the report. Tjänst: Network Health Total Network Volume and Total Call Volume Charts Public The Total Network Volume chart shows the total traffic volume for the group of elements in the report. Chart Description

More information

Monitor Qlik Sense sites. Qlik Sense Copyright QlikTech International AB. All rights reserved.

Monitor Qlik Sense sites. Qlik Sense Copyright QlikTech International AB. All rights reserved. Monitor Qlik Sense sites Qlik Sense 2.1.2 Copyright 1993-2015 QlikTech International AB. All rights reserved. Copyright 1993-2015 QlikTech International AB. All rights reserved. Qlik, QlikTech, Qlik Sense,

More information

Microsoft SQL Server Database Administration

Microsoft SQL Server Database Administration Address:- #403, 4 th Floor, Manjeera Square, Beside Prime Hospital, Ameerpet, Hyderabad 500038 Contact: - 040/66777220, 9177166122 Microsoft SQL Server Database Administration Course Overview This is 100%

More information

Monitoring & Tuning Azure SQL Database

Monitoring & Tuning Azure SQL Database Monitoring & Tuning Azure SQL Database Dustin Ryan, Data Platform Solution Architect, Microsoft Moderated By: Paresh Motiwala Presenting Sponsors Thank You to Our Presenting Sponsors Empower users with

More information

Perfmon Collection Setup Instructions for Windows Server 2008R2+

Perfmon Collection Setup Instructions for Windows Server 2008R2+ Perfmon Collection Setup Instructions for Windows Server 2008R2+ Performance statistics are critically vital for the long-term health and capacity management of an enterprise environment. Unless a third-party

More information

On BigFix Performance: Disk is King. How to get your infrastructure right the first time! Case Study: IBM Cloud Development - WW IT Services

On BigFix Performance: Disk is King. How to get your infrastructure right the first time! Case Study: IBM Cloud Development - WW IT Services On BigFix Performance: Disk is King How to get your infrastructure right the first time! Case Study: IBM Cloud Development - WW IT Services Authors: Shaun T. Kelley, Mark Leitch Abstract: Rolling out large

More information

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0. IBM Optim Performance Manager Extended Edition V4.1.0.1 Best Practices Deploying Optim Performance Manager in large scale environments Ute Baumbach (bmb@de.ibm.com) Optim Performance Manager Development

More information

Heckaton. SQL Server's Memory Optimized OLTP Engine

Heckaton. SQL Server's Memory Optimized OLTP Engine Heckaton SQL Server's Memory Optimized OLTP Engine Agenda Introduction to Hekaton Design Consideration High Level Architecture Storage and Indexing Query Processing Transaction Management Transaction Durability

More information

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning.

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning. SQL Server Performance & Tuning For Developers Course Description: The objective of this course is to provide senior database analysts and developers with a good understanding of SQL Server Architecture

More information

Demystifying Storage Area Networks. Michael Wells Microsoft Application Solutions Specialist EMC Corporation

Demystifying Storage Area Networks. Michael Wells Microsoft Application Solutions Specialist EMC Corporation Demystifying Storage Area Networks Michael Wells Microsoft Application Solutions Specialist EMC Corporation About Me DBA for 7+ years Developer for 10+ years MCSE: Data Platform MCSE: SQL Server 2012 MCITP:

More information

Optimizing RDM Server Performance

Optimizing RDM Server Performance TECHNICAL WHITE PAPER Optimizing RDM Server Performance A Raima Inc. Technical Whitepaper Published: August, 2008 Author: Paul Johnson Director of Marketing Copyright: Raima Inc., All rights reserved Abstract

More information

Perfmon Collection Setup Instructions for Windows Server 2008R2+

Perfmon Collection Setup Instructions for Windows Server 2008R2+ Perfmon Collection Setup Instructions for Windows Server 2008R2+ Performance statistics are critically vital for the long-term health and capacity management of an enterprise environment. Unless a third-party

More information

Performance Tuning. Chapter 25

Performance Tuning. Chapter 25 Chapter 25 Performance Tuning This chapter covers the following topics: Overview, 618 Identifying the Performance Bottleneck, 619 Optimizing the Target Database, 624 Optimizing the Source Database, 627

More information

Parallels Virtuozzo Containers

Parallels Virtuozzo Containers Parallels Virtuozzo Containers White Paper Parallels Virtuozzo Containers for Windows Capacity and Scaling www.parallels.com Version 1.0 Table of Contents Introduction... 3 Resources and bottlenecks...

More information

Managing Orion Performance

Managing Orion Performance This PDF is no longer being maintained. Search the SolarWinds Success Center for more information. Managing Orion Performance Orion Component Overview... 1 Managing Orion Component Performance... 3 SQL

More information

IBM InfoSphere Streams v4.0 Performance Best Practices

IBM InfoSphere Streams v4.0 Performance Best Practices Henry May IBM InfoSphere Streams v4.0 Performance Best Practices Abstract Streams v4.0 introduces powerful high availability features. Leveraging these requires careful consideration of performance related

More information

DESIGNING DATABASE SOLUTIONS FOR MICROSOFT SQL SERVER CERTIFICATION QUESTIONS AND STUDY GUIDE

DESIGNING DATABASE SOLUTIONS FOR MICROSOFT SQL SERVER CERTIFICATION QUESTIONS AND STUDY GUIDE 70-465 DESIGNING DATABASE SOLUTIONS FOR MICROSOFT SQL SERVER CERTIFICATION QUESTIONS AND STUDY GUIDE Designing Database Solutions for Microsoft SQL Server (70-465) WWW.ANALYTICSEXAM.COM Contents Designing

More information

Impact of Dell FlexMem Bridge on Microsoft SQL Server Database Performance

Impact of Dell FlexMem Bridge on Microsoft SQL Server Database Performance Impact of Dell FlexMem Bridge on Microsoft SQL Server Database Performance A Dell Technical White Paper Dell Database Solutions Engineering Jisha J Leena Basanthi October 2010 THIS WHITE PAPER IS FOR INFORMATIONAL

More information

Open Windows Perfmon and expand the Data Collector Sets, User Defined tree item.

Open Windows Perfmon and expand the Data Collector Sets, User Defined tree item. Perfmon Collection Setup Instructions for Windows Server 2008R2+ Performance statistics are critically vital for the long-term health and capacity management of an enterprise environment. Unless a third-party

More information

Anthony AWR report INTERPRETATION PART I

Anthony AWR report INTERPRETATION PART I Anthony AWR report INTERPRETATION PART I What is AWR? AWR stands for Automatically workload repository, Though there could be many types of database performance issues, but when whole database is slow,

More information

Query Performance Tuning: Start to Finish

Query Performance Tuning: Start to Finish Query Performance Tuning: Start to Finish Grant Fritchey AD-399-P November 6-9, Seattle, WA Grant Fritchey Product Evangelist for Red Gate Software Email: grant@scarydba.com Twitter: @gfritchey Blogs:

More information

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents Workshop Name Duration Objective Participants Entry Profile Training Methodology Setup Requirements Hardware and Software Requirements Training Lab Requirements Synergetics-Standard-SQL Server 2012-DBA-7

More information

Infrastructure Tuning

Infrastructure Tuning Infrastructure Tuning For SQL Server Performance SQL PASS Performance Virtual Chapter 2014.07.24 About David Klee @kleegeek davidklee.net gplus.to/kleegeek linked.com/a/davidaklee Specialties / Focus Areas

More information

TempDB how it works? Dubi Lebel Dubi Or Not To Be

TempDB how it works? Dubi Lebel Dubi Or Not To Be TempDB how it works? Dubi Lebel Dubi Or Not To Be Dubi.Lebel@gmail.com How this presentation start? Sizing Application Application databases TempDB size & IOPS? What we know Only one TempDB per instance.

More information

Course Outline. Performance Tuning and Optimizing SQL Databases Course 10987B: 4 days Instructor Led

Course Outline. Performance Tuning and Optimizing SQL Databases Course 10987B: 4 days Instructor Led Performance Tuning and Optimizing SQL Databases Course 10987B: 4 days Instructor Led About this course This four-day instructor-led course provides students who manage and maintain SQL Server databases

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

SQL Server Overview. CPU Usage per Database. Rank Database Name Time (ms) Percent. 1 master 203, IO Usage per Database

SQL Server Overview. CPU Usage per Database. Rank Database Name Time (ms) Percent. 1 master 203, IO Usage per Database W2K8\SQL2005 SQL Server Overview Server Infomation Microsoft SQL Server 2005-9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1

More information

Lock Tuning. Concurrency Control Goals. Trade-off between correctness and performance. Correctness goals. Performance goals.

Lock Tuning. Concurrency Control Goals. Trade-off between correctness and performance. Correctness goals. Performance goals. Lock Tuning Concurrency Control Goals Performance goals Reduce blocking One transaction waits for another to release its locks Avoid deadlocks Transactions are waiting for each other to release their locks

More information

Optimizing Database I/O

Optimizing Database I/O High Performance Oracle Optimizing Database I/O Dave Pearson Quest Software Copyright 2006 Quest Software The Impact of Poor Performance Diagnostics and Optimization The Impact of Poor Performance Diagnostics

More information

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

WHITE PAPER: BEST PRACTICES. Sizing and Scalability Recommendations for Symantec Endpoint Protection. Symantec Enterprise Security Solutions Group

WHITE PAPER: BEST PRACTICES. Sizing and Scalability Recommendations for Symantec Endpoint Protection. Symantec Enterprise Security Solutions Group WHITE PAPER: BEST PRACTICES Sizing and Scalability Recommendations for Symantec Rev 2.2 Symantec Enterprise Security Solutions Group White Paper: Symantec Best Practices Contents Introduction... 4 The

More information

Server Memory Allocation White Paper VERSION 7.1. Copyright 2016 Jade Software Corporation Limited. All rights reserved.

Server Memory Allocation White Paper VERSION 7.1. Copyright 2016 Jade Software Corporation Limited. All rights reserved. VERSION 7.1 Copyright 2016 Jade Software Corporation Limited. All rights reserved. Jade Software Corporation Limited cannot accept any financial or other responsibilities that may be the result of your

More information

SQL Server 2014: In-Memory OLTP for Database Administrators

SQL Server 2014: In-Memory OLTP for Database Administrators SQL Server 2014: In-Memory OLTP for Database Administrators Presenter: Sunil Agarwal Moderator: Angela Henry Session Objectives And Takeaways Session Objective(s): Understand the SQL Server 2014 In-Memory

More information

Exadata X3 in action: Measuring Smart Scan efficiency with AWR. Franck Pachot Senior Consultant

Exadata X3 in action: Measuring Smart Scan efficiency with AWR. Franck Pachot Senior Consultant Exadata X3 in action: Measuring Smart Scan efficiency with AWR Franck Pachot Senior Consultant 16 March 2013 1 Exadata X3 in action: Measuring Smart Scan efficiency with AWR Exadata comes with new statistics

More information

EMC Tiered Storage for Microsoft SQL Server 2008 Enabled by EMC CLARiiON CX4 and Enterprise Flash Drives

EMC Tiered Storage for Microsoft SQL Server 2008 Enabled by EMC CLARiiON CX4 and Enterprise Flash Drives EMC Tiered Storage for Microsoft SQL Server 2008 Enabled by EMC CLARiiON CX4 and Enterprise Flash Drives A Detailed Review EMC Information Infrastructure Solutions Abstract This white paper demonstrates

More information

Running SQL Server 2008 in a Hyper-V Environment

Running SQL Server 2008 in a Hyper-V Environment Running SQL Server 28 in a Hyper-V Environment Best Practices and Performance Considerations SQL Server Technical Article Writers: Lindsey Allen, Mike Ruthruff, Prem Mehra Technical Reviewers: Cindy Gross,

More information

Using Oracle STATSPACK to assist with Application Performance Tuning

Using Oracle STATSPACK to assist with Application Performance Tuning Using Oracle STATSPACK to assist with Application Performance Tuning Scenario You are experiencing periodic performance problems with an application that uses a back-end Oracle database. Solution Introduction

More information

Informatica Developer Tips for Troubleshooting Common Issues PowerCenter 8 Standard Edition. Eugene Gonzalez Support Enablement Manager, Informatica

Informatica Developer Tips for Troubleshooting Common Issues PowerCenter 8 Standard Edition. Eugene Gonzalez Support Enablement Manager, Informatica Informatica Developer Tips for Troubleshooting Common Issues PowerCenter 8 Standard Edition Eugene Gonzalez Support Enablement Manager, Informatica 1 Agenda Troubleshooting PowerCenter issues require a

More information

Outline. Database Tuning. Ideal Transaction. Concurrency Tuning Goals. Concurrency Tuning. Nikolaus Augsten. Lock Tuning. Unit 8 WS 2013/2014

Outline. Database Tuning. Ideal Transaction. Concurrency Tuning Goals. Concurrency Tuning. Nikolaus Augsten. Lock Tuning. Unit 8 WS 2013/2014 Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Unit 8 WS 2013/2014 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet. Nikolaus

More information

Rdb features for high performance application

Rdb features for high performance application Rdb features for high performance application Philippe Vigier Oracle New England Development Center Copyright 2001, 2003 Oracle Corporation Oracle Rdb Buffer Management 1 Use Global Buffers Use Fast Commit

More information

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Performance Benchmarking Guide

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Performance Benchmarking Guide BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Performance Benchmarking Guide Published: 2009-08-31 SWD-760382-0831035819-001 Contents 1 BlackBerry Enterprise Server for Microsoft Exchange...

More information

Key Performance Metrics Exposed in EdgeSight for XenApp 5.0 and EdgeSight for Endpoints 5.0

Key Performance Metrics Exposed in EdgeSight for XenApp 5.0 and EdgeSight for Endpoints 5.0 White Paper Key Performance Metrics Exposed in EdgeSight for XenApp 5.0 and EdgeSight for Endpoints 5.0 EdgeSight Archtectural Overview EdgeSight for XenApp is implemented as an agent based solution for

More information

Accelerate Applications Using EqualLogic Arrays with directcache

Accelerate Applications Using EqualLogic Arrays with directcache Accelerate Applications Using EqualLogic Arrays with directcache Abstract This paper demonstrates how combining Fusion iomemory products with directcache software in host servers significantly improves

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in

More information

SysGauge SYSTEM MONITOR. User Manual. Version 3.8. Oct Flexense Ltd.

SysGauge SYSTEM MONITOR. User Manual. Version 3.8. Oct Flexense Ltd. SysGauge SYSTEM MONITOR User Manual Version 3.8 Oct 2017 www.sysgauge.com info@flexense.com 1 1 SysGauge Product Overview SysGauge is a system and performance monitoring utility allowing one to monitor

More information

Field Testing Buffer Pool Extension and In-Memory OLTP Features in SQL Server 2014

Field Testing Buffer Pool Extension and In-Memory OLTP Features in SQL Server 2014 Field Testing Buffer Pool Extension and In-Memory OLTP Features in SQL Server 2014 Rick Heiges, SQL MVP Sr Solutions Architect Scalability Experts Ross LoForte - SQL Technology Architect - Microsoft Changing

More information

CA Single Sign-On. Performance Test Report R12

CA Single Sign-On. Performance Test Report R12 CA Single Sign-On Performance Test Report R12 Contents CHAPTER 1: OVERVIEW INTRODUCTION SUMMARY METHODOLOGY GLOSSARY CHAPTER 2: TESTING METHOD TEST ENVIRONMENT DATA MODEL CONNECTION PROCESSING SYSTEM PARAMETERS

More information

Assessing performance in HP LeftHand SANs

Assessing performance in HP LeftHand SANs Assessing performance in HP LeftHand SANs HP LeftHand Starter, Virtualization, and Multi-Site SANs deliver reliable, scalable, and predictable performance White paper Introduction... 2 The advantages of

More information

Get the Skinny on Minimally Logged Operations

Get the Skinny on Minimally Logged Operations Get the Skinny on Minimally Logged Operations Andrew J. Kelly akelly@solidq.com Who Am I? Mentor with SolidQ SQL Server MVP since 2001 Contributing editor & author for SQL Server Pro Magazine Over 20 years

More information

IBM Tivoli Storage Manager for Windows Version Installation Guide IBM

IBM Tivoli Storage Manager for Windows Version Installation Guide IBM IBM Tivoli Storage Manager for Windows Version 7.1.8 Installation Guide IBM IBM Tivoli Storage Manager for Windows Version 7.1.8 Installation Guide IBM Note: Before you use this information and the product

More information

WHITE PAPER. Optimizing Virtual Platform Disk Performance

WHITE PAPER. Optimizing Virtual Platform Disk Performance WHITE PAPER Optimizing Virtual Platform Disk Performance Optimizing Virtual Platform Disk Performance 1 The intensified demand for IT network efficiency and lower operating costs has been driving the phenomenal

More information

Jyotheswar Kuricheti

Jyotheswar Kuricheti Jyotheswar Kuricheti 1 Agenda: 1. Performance Tuning Overview 2. Identify Bottlenecks 3. Optimizing at different levels : Target Source Mapping Session System 2 3 Performance Tuning Overview: 4 What is

More information

CA Unified Infrastructure Management Snap

CA Unified Infrastructure Management Snap CA Unified Infrastructure Management Snap Configuration Guide for DB2 Database Monitoring db2 v4.0 series Copyright Notice This online help system (the "System") is for your informational purposes only

More information

Index. B Batches comparing, bit or 64-bit architecture, 5 Blocking, 42 Buff er cache, 143 Bulk changed map (BCM), 85 87

Index. B Batches comparing, bit or 64-bit architecture, 5 Blocking, 42 Buff er cache, 143 Bulk changed map (BCM), 85 87 Index A ActiveX data objects for.net, 2 ActualRowsRead attribute, 14 Allocation ring buffer, 92 93 ALTER EVENT SESSION, 150 ALTER INDEX REBUILD, 147 ALTER INDEX REORGANIZE, 147 ALTER SERVER CONFIGURATION

More information

Tuesday, April 6, Inside SQL Server

Tuesday, April 6, Inside SQL Server Inside SQL Server Thank you Goals What happens when a query runs? What each component does How to observe what s going on Delicious SQL Cake Delicious SQL Cake Delicious SQL Cake Delicious SQL Cake Delicious

More information

Database Management and Tuning

Database Management and Tuning Database Management and Tuning Concurrency Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 8 May 10, 2012 Acknowledgements: The slides are provided by Nikolaus

More information

Lotus Sametime 3.x for iseries. Performance and Scaling

Lotus Sametime 3.x for iseries. Performance and Scaling Lotus Sametime 3.x for iseries Performance and Scaling Contents Introduction... 1 Sametime Workloads... 2 Instant messaging and awareness.. 3 emeeting (Data only)... 4 emeeting (Data plus A/V)... 8 Sametime

More information

Chapter 8: Virtual Memory. Operating System Concepts

Chapter 8: Virtual Memory. Operating System Concepts Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

SQL Server Performance Tuning

SQL Server Performance Tuning SQL Server Performance Tuning Reference Document Abstract Our mission is to optimize the performance of a SQL Server database. This document focuses on refactoring and applying TSQL best practices to improve

More information

davidklee.net gplus.to/kleegeek linked.com/a/davidaklee

davidklee.net gplus.to/kleegeek linked.com/a/davidaklee @kleegeek davidklee.net gplus.to/kleegeek linked.com/a/davidaklee Specialties / Focus Areas / Passions: Performance Tuning & Troubleshooting Virtualization Cloud Enablement Infrastructure Architecture

More information

MarkLogic Server. Monitoring MarkLogic Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Monitoring MarkLogic Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved. Monitoring MarkLogic Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-2, July, 2017 Copyright 2017 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Monitoring MarkLogic Guide

More information

[MS10987A]: Performance Tuning and Optimizing SQL Databases

[MS10987A]: Performance Tuning and Optimizing SQL Databases [MS10987A]: Performance Tuning and Optimizing SQL Databases Length : 4 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course

More information

Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55%

Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55% openbench Labs Executive Briefing: May 20, 2013 Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55% Optimizing I/O for Increased Throughput and Reduced Latency on Physical Servers 01

More information

Performance Testing December 16, 2017

Performance Testing December 16, 2017 December 16, 2017 1 1. vsan Performance Testing 1.1.Performance Testing Overview Table of Contents 2 1. vsan Performance Testing Performance Testing 3 1.1 Performance Testing Overview Performance Testing

More information

OPS-23: OpenEdge Performance Basics

OPS-23: OpenEdge Performance Basics OPS-23: OpenEdge Performance Basics White Star Software adam@wss.com Agenda Goals of performance tuning Operating system setup OpenEdge setup Setting OpenEdge parameters Tuning APWs OpenEdge utilities

More information

Measuring VDI Fitness and User Experience Technical White Paper

Measuring VDI Fitness and User Experience Technical White Paper Measuring VDI Fitness and User Experience Technical White Paper 3600 Mansell Road Suite 200 Alpharetta, GA 30022 866.914.9665 main 678.397.0339 fax info@liquidwarelabs.com www.liquidwarelabs.com Table

More information

DBMS Performance Tuning

DBMS Performance Tuning DBMS Performance Tuning DBMS Architecture GCF SCF PSF OPF QEF RDF QSF ADF SXF GWF DMF Shared Memory locks log buffers Recovery Server Work Areas Databases log file DBMS Servers Manages client access to

More information

PERFORMANCE TUNING SQL SERVER ON CRAPPY HARDWARE 3/1/2019 1

PERFORMANCE TUNING SQL SERVER ON CRAPPY HARDWARE 3/1/2019 1 PERFORMANCE TUNING SQL SERVER ON CRAPPY HARDWARE 3/1/2019 1 FEEDBACK FORMS PLEASE FILL OUT AND PASS TO YOUR HELPER BEFORE YOU LEAVE THE SESSION MONICA RATHBUN Consultant Denny Cherry & Associates Consulting

More information

Automation for IMS: Why It s Needed, Who Benefits, and What Is the Impact?

Automation for IMS: Why It s Needed, Who Benefits, and What Is the Impact? Automation for IMS: Why It s Needed, Who Benefits, and What Is the Impact? Duane Wente BMC Software 8/4/2014 Session: 16094 Insert Custom Session QR if Desired. Agenda Better database management through

More information

SQL Server 2014 In-Memory OLTP: Prepare for Migration. George Li, Program Manager, Microsoft

SQL Server 2014 In-Memory OLTP: Prepare for Migration. George Li, Program Manager, Microsoft SQL Server 2014 In-Memory OLTP: Prepare for Migration George Li, Program Manager, Microsoft Drivers Architectural Pillars Customer Benefits In-Memory OLTP Recap High performance data operations Efficient

More information

Monitoring NT Performance

Monitoring NT Performance Monitoring NT Performance Jerry L. Rosenberg SRM Associates, Ltd. CMG 2002 e-mail: Jerry@SRMAssoc.com http://www.srmassoc.com Capacity and Performance Performance tuning Identify bottlenecks and take immediate

More information

Chapter 8 Memory Management

Chapter 8 Memory Management 1 Chapter 8 Memory Management The technique we will describe are: 1. Single continuous memory management 2. Partitioned memory management 3. Relocatable partitioned memory management 4. Paged memory management

More information

VERITAS Storage Foundation 4.0 TM for Databases

VERITAS Storage Foundation 4.0 TM for Databases VERITAS Storage Foundation 4.0 TM for Databases Powerful Manageability, High Availability and Superior Performance for Oracle, DB2 and Sybase Databases Enterprises today are experiencing tremendous growth

More information

The Google File System (GFS)

The Google File System (GFS) 1 The Google File System (GFS) CS60002: Distributed Systems Antonio Bruto da Costa Ph.D. Student, Formal Methods Lab, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur 2 Design constraints

More information

Proper Care and Feeding of your SQL MDB

Proper Care and Feeding of your SQL MDB Proper Care and Feeding of your SQL MDB (Recommendations for General MDB Maintenance) A well thought-out MDB installation is only the beginning. There are regular maintenance tasks that must be performed

More information

PowerVault MD3 SSD Cache Overview

PowerVault MD3 SSD Cache Overview PowerVault MD3 SSD Cache Overview A Dell Technical White Paper Dell Storage Engineering October 2015 A Dell Technical White Paper TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT EXPRESS

More information