Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Что за зверь такой?

SET STATISTICS TIME ON

Запускаю одну и ту же хранимку на машине с восемью ядрами, получаю: Время ЦП = 219 мс, затраченное время = 223 мс
Двенадцать ядер: Время ЦП = 16 мс, затраченное время = 19 мс.

Распараллеливания в плане запроса нет, обычный селект с условием, планы идентичны.

Разве утилизация ЦП не должна быть примерно одинаковой?
20 ноя 14, 16:51    [16880112]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8353
Гадя Петрович,

Такие вот ядра, как смогли.
20 ноя 14, 16:56    [16880168]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
В хранимке примерно следующее:
SELECT pd.[Id]
	 , pd.col1
	 , pd.col2
	 , pd.col3
	 , pd.col4
FROM t1 pd
 INNER JOIN t2 cp 
	ON pd.ID1 = cp.ID
WHERE cp.ID2 = @Id


В плане запроса - Merge Join - может из-за него?
20 ноя 14, 16:59    [16880189]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Владислав Колосов
Гадя Петрович,

Такие вот ядра, как смогли.
это понятно
непонятно что цифирь "Время ЦП" в принципе означает
неужели настолько слабые процессоры, что им нужно в 10-15 раз больше времени на аналогичную операцию?
20 ноя 14, 17:00    [16880207]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Гадя Петрович
непонятно что цифирь "Время ЦП" в принципе означает

автор
SQL Server parse and Compile time : When we submit a query to SQL server to execute,it has to parse and compile for any syntax error and optimizer has to produce the optimal plan for the execution. SQL Server parse and Compile time refers to the time taken to complete this pre -execute steps.If you look into the output of second execution, the CPU time and elapsed time are 0 in the SQL Server parse and Compile time section. That shows that SQL server did not spend any time in parsing and compiling the query as the execution plan was readily available in the cache. CPU time refers to the actual time spend on CPU and elapsed time refers to the total time taken for the completion of the parse and compile. The difference between the CPU time and elapsed time might wait time in the queue to get the CPU cycle or it was waiting for the IO completion. This does not have much significance in performance tuning as the value will vary from execution to execution. If you are getting consistent value in this section, probably you will be running the procedure with recompile option.



SQL Server Execution Time: This refers to the time taken by SQL server to complete the execution of the compiled plan. CPU time refers to the actual time spend on CPU where as the elapsed time is the total time to complete the execution which includes signal wait time, wait time to complete the IO operation and time taken to transfer the output to the client.The CPU time can be used to baseline the performance tuning. This value will not vary much from execution to execution unless you modify the query or data. The load on the server will not impact much on this value. Please note that time shown is in milliseconds. The value of CPU time might vary from execution to execution for the same query with same data but it will be only in 100's which is only part of a second. The elapsed time will depend on many factor, like load on the server, IO load ,network bandwidth between server and client. So always use the CPU time as baseline while doing the performance tuning.


+ SET STATISTICS TIME
20 ноя 14, 17:14    [16880314]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Maxx
Гадя Петрович
непонятно что цифирь "Время ЦП" в принципе означает

автор
SQL Server parse and Compile time : When we submit a query to SQL server to execute,it has to parse and compile for any syntax error and optimizer has to produce the optimal plan for the execution. SQL Server parse and Compile time refers to the time taken to complete this pre -execute steps.If you look into the output of second execution, the CPU time and elapsed time are 0 in the SQL Server parse and Compile time section. That shows that SQL server did not spend any time in parsing and compiling the query as the execution plan was readily available in the cache. CPU time refers to the actual time spend on CPU and elapsed time refers to the total time taken for the completion of the parse and compile. The difference between the CPU time and elapsed time might wait time in the queue to get the CPU cycle or it was waiting for the IO completion. This does not have much significance in performance tuning as the value will vary from execution to execution. If you are getting consistent value in this section, probably you will be running the procedure with recompile option.



SQL Server Execution Time: This refers to the time taken by SQL server to complete the execution of the compiled plan. CPU time refers to the actual time spend on CPU where as the elapsed time is the total time to complete the execution which includes signal wait time, wait time to complete the IO operation and time taken to transfer the output to the client.The CPU time can be used to baseline the performance tuning. This value will not vary much from execution to execution unless you modify the query or data. The load on the server will not impact much on this value. Please note that time shown is in milliseconds. The value of CPU time might vary from execution to execution for the same query with same data but it will be only in 100's which is only part of a second. The elapsed time will depend on many factor, like load on the server, IO load ,network bandwidth between server and client. So always use the CPU time as baseline while doing the performance tuning.


+ SET STATISTICS TIME
как-то ни о чём
откуда такая разница все равно не понятно
20 ноя 14, 17:23    [16880384]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Glory
Member

Откуда:
Сообщений: 104751
Гадя Петрович
как-то ни о чём

А вы то какой CPU time привели ?

SQL Server parse and compile time: 
CPU time = 0 ms, elapsed time = 0 ms.

(89 row(s) affected)

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 11 ms.
20 ноя 14, 17:25    [16880407]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Glory
Гадя Петрович
как-то ни о чём

А вы то какой CPU time привели ?

SQL Server parse and compile time: 
CPU time = 0 ms, elapsed time = 0 ms.

(89 row(s) affected)

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 11 ms.
автор

Таблица "t2". Число просмотров 1, логических чтений 7, физических чтений 0, упреждающих чтений 0, lob логических чтений 0, lob физических чтений 0, lob упреждающих чтений 0.
Таблица "t1". Число просмотров 1, логических чтений 54, физических чтений 0, упреждающих чтений 0, lob логических чтений 0, lob физических чтений 0, lob упреждающих чтений 0.

Время работы SQL Server:
Время ЦП = 250 мс, затраченное время = 260 мс.

Время работы SQL Server:
Время ЦП = 250 мс, затраченное время = 260 мс.
20 ноя 14, 17:28    [16880439]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Glory
Member

Откуда:
Сообщений: 104751
У одного запроса два раза SQL Server Execution Times ?
20 ноя 14, 17:29    [16880445]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Glory
У одного запроса два раза SQL Server Execution Times ?
я хранимку вызываю
20 ноя 14, 17:31    [16880462]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
автор
Таблица "t2". Число просмотров 1, логических чтений 7, физических чтений 0, упреждающих чтений 0, lob логических чтений 0, lob физических чтений 0, lob упреждающих чтений 0.
Таблица "t1". Число просмотров 1, логических чтений 54, физических чтений 0, упреждающих чтений 0, lob логических чтений 0, lob физических чтений 0, lob упреждающих чтений 0.

Время работы SQL Server:
Время ЦП = 203 мс, затраченное время = 208 мс.


вот если вызвать напрямую
20 ноя 14, 17:32    [16880480]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8353
Гадя Петрович, а парсинг и компиляция где?
20 ноя 14, 18:03    [16880753]     Ответить | Цитировать Сообщить модератору
 Re: CPU time  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
Владислав Колосов
Гадя Петрович, а парсинг и компиляция где?
по нулям, оно скомпилировано и в кэше
20 ноя 14, 19:56    [16881391]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить