análisis de rendimiento de SQL Server - CPU acerca

- la mayor desde la compilación de la consulta de la cantidad total de tiempo de CPU consumir antes de los 50 (Total_woker_time)
el SELECT TOP 50
total_worker_time / 1000 AS [consumo total de tiempo de CPU (MS)],
execution_count [número de carreras],
qs.total_worker_time / qs.execution_count / 1000 el AS [promedio de tiempo de CPU consumido (MS)],
last_execution_time el AS [último tiempo de ejecución],
max_worker_time / el AS 1000 [tiempo máximo de ejecución (MS)],
la subcadena (qt.text, qs.statement_start_offset / 2 +. 1,
(el cuando el caso = -1 qs.statement_end_offset
entonces el DATALENGTH (qt.text)
la qs.statement_end_offset ELSE la -qs.statement_start_offset END) / 2 +. 1)
el [sintaxis uso de la CPU] AS, qt.text [sintaxis completa],
qt.dbid, dbname = nombre_bd (qt.dbid),
qt.objectid, object_name (qt.objectid, qt.dbid) la ObjectName
la DE QS los sys.dm_exec_query_stats el CON (NOLOCK)
El Aplicar sys.dm_exec_sql_text la cruz (qs.sql_handle) AS QT
del DONDE execution_count> 1
ORDER BY DESC total_worker_time
SQL Server como un sistema integral, que están estrechamente vinculadas, por ejemplo: instrucción SQL para resolver el problema más que O / sobrecarga que la correspondiente carga de la CPU se reduce, al contrario de resolver el más sobrecarga de la CPU, y que se reducirá la correspondiente sobrecarga de e / S. Resolver el I / O después de consumir sobrecarga de la CPU también se reduce, porque de subprocesos de trabajo en necesidad CPU para escanear I / O para páginas menos, la obstrucción de bloqueo de recurso emergente también redujeron

2. intensivo de la CPU problema de consulta SQL de base de datos, de acuerdo con el tiempo "milisegundos de espera", para identificar los problemas de la SELECT SQL SPID, bloqueado, DB_NAME (sp.dbid)
AS DBName, program_name, waitresource, sp.waittime milisegundos de espera, sp. stmt_start ,,
la lastwaittype, sp.loginame, sp.Status, sp.hostname, A. [el texto] el AS [TextData],
la subcadena (A.text, sp.stmt_start / 2, (la CUANDO sp.stmt_end la CASE = -1 ENTONCES
la DATALENGTH ( A.text) la sp.stmt_end ELSE la END - sp.stmt_start) / 2) el AS [current_cmd]
la DE EXTERIOR el aplicar el sys.dm_exec_sql_text los sys.sysprocesses el AS SP (sp.sql_handle) el AS
A SPID la DONDE> = 50 -y la lastwaittype 'HADR_SYNC_COMMIT 'y el estado del <>' dormir '
ORDER BY desc sp.waittime;

3. Estudios de caso
de SQL Server causa alta ráfaga de CPU, por lo general causada por SQL anormal, problemas con el servidor sospecha rendimiento del disco, servicios para dejar de SQL, con un rendimiento del disco de prueba, el rendimiento del disco realmente no es cómo, pero tampoco está mal hasta el punto en . Más tarde encontró una consulta SQL, hay 300 millones de consultas campo taskid no está indexado, lo que resulta en la consulta muy lento IO, lo que afecta la CPU de alto explosivo. Después de la reconstrucción de una nueva tabla tb_log, además de la indexación, los problemas de rendimiento en el campo dirigidas taskid.

Supongo que te gusta

Origin blog.51cto.com/songlihuan/2481125
Recomendado
Clasificación