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

Откуда:
Сообщений: 21
Задался целью сравнить производительность процессоров на двух разных серверах. Прогоняю следующий код:
declare @i bigint, @s bigint
set @s=0
set @i=0
while @i<10000000
begin
if @i%2=1
set @s=@s-@i*@i
else
set @s=@s+@i*@i
set @i=@i+1
end
select @s
go
Замеряю профайлером затрачиваемое CPU.
Наблюдаю на сервере с 2 2-хядерными Itanium CPU Time в 2 раза больше чем на 4-хядерном Xeon.
Нагрузка, под которой находятся сервера в момент тестирования, на показатель CPU вроде как влиять не должна.
Как считаете, насколько методика оценки корректна?
28 авг 09, 17:45    [7592400]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Glamorama
Member

Откуда:
Сообщений: 152
Кажется мне, что cputime есть условный "попугай", который годится разве что для сравнения и анализа запросов на конкретном сервере. Утверждать, что этот "попугай" - есть универсальная единица мощи процессора я бы не стал. А из вашего поста просто следует, что каждое ядро Itanium выполнило в 2 раза больше операций, чем каждое ядро Xeon, что и так очевидно (я утрирую конечно же).

Кажется мне, что многократный прогон какого-нибудь сложного расчета (вложенные циклы, парсинг строки и пр.) с замером Duration куда более адекватный метод.
28 авг 09, 23:56    [7593063]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
Glamorama
Кажется мне, что cputime есть условный "попугай", который годится разве что для сравнения и анализа запросов на конкретном сервере. Утверждать, что этот "попугай" - есть универсальная единица мощи процессора я бы не стал. А из вашего поста просто следует, что каждое ядро Itanium выполнило в 2 раза больше операций, чем каждое ядро Xeon, что и так очевидно (я утрирую конечно же).

Кажется мне, что многократный прогон какого-нибудь сложного расчета (вложенные циклы, парсинг строки и пр.) с замером Duration куда более адекватный метод.


Почему очевидно-то? Ядер одинаковое количество на обоих серверах.
На Duration для этого скрипта могут влиять очереди к процессору, то есть надо прогонять тест на пустой базе. Интересует замер на сервере под нагрузкой.
29 авг 09, 10:52    [7593298]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
miksoft
Member

Откуда:
Сообщений: 38323
WhatIsIt
Ядер одинаковое количество на обоих серверах.
А причем тут количество ядер? Вы уверены, что ваш скрипт задействует более одного ядра? я, например, сильно сомневаюсь.
29 авг 09, 11:01    [7593307]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
miksoft
WhatIsIt
Ядер одинаковое количество на обоих серверах.
А причем тут количество ядер? Вы уверены, что ваш скрипт задействует более одного ядра? я, например, сильно сомневаюсь.

Согласен. И тогда тем более неочевидно что Itanium выполняет в 2 раза больше операций чем Xeon.
С чего?
29 авг 09, 12:16    [7593346]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
miksoft
Member

Откуда:
Сообщений: 38323
WhatIsIt
Наблюдаю на сервере с 2 2-хядерными Itanium CPU Time в 2 раза больше чем на 4-хядерном Xeon.
WhatIsIt
Itanium выполняет в 2 раза больше операций чем Xeon.
Не очень понял, как согласуются эти два ваших утверждения.

Вообще, имхо, именно "сравнить производительность процессоров" таким образом некорректно. Ведь железо разное, ОС разная, СУБД разная (последние две вещи достаточно схожи, но бинарно-то разные). Не исключено, что ключевую роль (именно для такого небольшого и нетребовательного к памяти скрипта) играет вообще разница в размерах какого-нибудь кэша 3-его уровня.
29 авг 09, 12:28    [7593353]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
miksoft
WhatIsIt
Наблюдаю на сервере с 2 2-хядерными Itanium CPU Time в 2 раза больше чем на 4-хядерном Xeon.
WhatIsIt
Itanium выполняет в 2 раза больше операций чем Xeon.
Не очень понял, как согласуются эти два ваших утверждения.

Вообще, имхо, именно "сравнить производительность процессоров" таким образом некорректно. Ведь железо разное, ОС разная, СУБД разная (последние две вещи достаточно схожи, но бинарно-то разные). Не исключено, что ключевую роль (именно для такого небольшого и нетребовательного к памяти скрипта) играет вообще разница в размерах какого-нибудь кэша 3-его уровня.


А они и не согласуются. Просто Glamorama написал о том что на сервере с Itanium будет выполняться в 2 раза больше операций. С чего я так и не понял.
Согласен, все перечисленное кроме СУБД разные. Но время-то затрачиваемое процессором на выполнение операций измеряется в миллисекундах. Их и предполагаю сравнивать. Вобщем-то вы похоже правы по поводу ключевой роли.
А вся засада в том, что некоторая довольно-таки продолжительная операция, выполняющаяся на пустой базе, занимает на Xeon-сервере в 2 раза меньше времени чем на Itanium. По затратам как раз и получается разница в 2 раза по CPU.
29 авг 09, 13:25    [7593387]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
miksoft
Member

Откуда:
Сообщений: 38323
WhatIsIt,

А огласите, плиз, точные модели процессоров. Может, тогда станет ясна причина такой разницы в производительности.
29 авг 09, 13:40    [7593398]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
miksoft
Member

Откуда:
Сообщений: 38323
Кстати, частота системной шины и тактовая частоты у Itanium-ов примерно вдвое ниже, чем у современных Xeon-ов. Может, дело именно в этом?
29 авг 09, 13:51    [7593406]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Сравнивать производительность процессоров при разном железе, разной оси и разных настройка все равно что считать среднюю температуру по больнице. Вы бы почитали статьи про тестирование производительности сначала... Этого добра полно в нете
29 авг 09, 16:17    [7593627]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Glamorama
Member

Откуда:
Сообщений: 152
Дико извиняюсь за фразу "...2 раза больше операций...", ошибся с подсчетом ядер.
29 авг 09, 18:04    [7593779]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Centraloff
Member

Откуда: Екатеринбург
Сообщений: 138
WhatIsIt

Согласен, все перечисленное кроме СУБД разные.


Этого быть не может, архитектура процессоров разная, версии SQL разные. Вы просто физически не сможете поставить на ia64 ту же версию, что и на x64
29 авг 09, 19:31    [7593858]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Centraloff
Member

Откуда: Екатеринбург
Сообщений: 138
во всяком случае, есть отдельная версия для ia64
29 авг 09, 19:32    [7593861]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Имхо, и так все ясно. Вопрос, что именно хотел автор ? Ведь не просто же процы протестить, для какой то задачи это нужно было. Или просто из любопытства...
29 авг 09, 19:47    [7593874]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
miksoft,
процессоры
Itanium 9150N 1,6 GHz
Xeon E5410 2.33 GHz
Да, частота ниже и ядра и шины.

Centraloff,

да, разноразрядные СУБД.

Ozerov,

Если нетрудно дайте ссылку теста, который стоит провести.

А задача-то простая - понять почему один и тот же запрос выполняется на сервере с Xeon x секунд, на Itanium - 2x. При этом желательно не отключая пользователей. Тесты на пустой базе показали те же результаты. Прогнал тяжелый селект на пустой базе и опять разница в 2 раза по CPU. Прихожу таки к выводу что процессор Itanium слабее..
Интересно для каких тогда задач предназначен Itanium? Xeon вроде бы дешевле.
31 авг 09, 16:43    [7599157]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
WhatIsIt
miksoft,
процессоры
Itanium 9150N 1,6 GHz
Xeon E5410 2.33 GHz
Да, частота ниже и ядра и шины.

Centraloff,

да, разноразрядные СУБД.

Ozerov,

Если нетрудно дайте ссылку теста, который стоит провести.

А задача-то простая - понять почему один и тот же запрос выполняется на сервере с Xeon x секунд, на Itanium - 2x. При этом желательно не отключая пользователей. Тесты на пустой базе показали те же результаты. Прогнал тяжелый селект на пустой базе и опять разница в 2 раза по CPU. Прихожу таки к выводу что процессор Itanium слабее..
Интересно для каких тогда задач предназначен Itanium? Xeon вроде бы дешевле.

Ссылок под рукой нет, гуглите. Неправильный вывод. начните с планов выполнения. К примеру уодна база индексирована, другая нет. Не набрана статистика и тп. Вариантов масса.
31 авг 09, 17:03    [7599302]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Anddros
Member

Откуда:
Сообщений: 1077
WhatIsIt
А задача-то простая - понять почему один и тот же запрос выполняется на сервере с Xeon x секунд, на Itanium - 2x.

CPU Time - это не реальные секунды выполнения запроса. Если имеет место быть распараллеливание, то CPU Time собирается как суммарное затраченное время со всех задействованных ядер. При наличии свободных ресурсов оптимизатор может выбрать план, в котором CPU Time больше, но реальное время выполнения меньше.

На многоядерных обращайте внимание еще на Elapsed Time. Оно может оказаться в разы меньше CPU Time.
31 авг 09, 17:20    [7599467]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33364
Блог
Ozerov,

Вообще-то это все не имеет отношения к запросу автора, см. первый пост)
31 авг 09, 17:22    [7599489]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
[quot WhatIsIt

А задача-то простая - понять почему один и тот же запрос выполняется на сервере с Xeon x секунд, на Itanium - 2x.[/quot]

Критик, и мой ответ не на это ли ? :) Начинаем читать внимательнее
31 авг 09, 17:26    [7599520]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
WhatIsIt

Потому что производительность Итаниумов на ядро существенно ниже, чем у Ксеонов на подавляющем большинстве задач. См. spec.org .
Собственно, машины на них имеют смысл от 16 сокетов и больше. Именно для этого они (Итаниумы) и предназначены.
31 авг 09, 17:38    [7599621]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
WhatIsIt
Задался целью сравнить производительность процессоров на двух разных серверах. Прогоняю следующий код:
[поскипано]
Замеряю профайлером затрачиваемое CPU.
Наблюдаю на сервере с 2 2-хядерными Itanium CPU Time в 2 раза больше чем на 4-хядерном Xeon.
Нагрузка, под которой находятся сервера в момент тестирования, на показатель CPU вроде как влиять не должна.
Как считаете, насколько методика оценки корректна?

Есть мнение, что этот код грузит ровно одно процессорное ядро. То бишь - нет, методика некорректна.
31 авг 09, 17:40    [7599629]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
Ozerov,

Базы идентичные. Набор данных один. Планы одни и те же, кеши перед селектами очищались. Но это для запросов.

Чтобы оценить производительность работы только процессора, не касаясь ни планов исполнения, ни производительности дисковой подсистемы, ни параллельной нагрузки и прогонялся скрипт из первого сообщения. Заметьте, распараллеливание тут вряд ли используется.
31 авг 09, 17:45    [7599670]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
a_shats
WhatIsIt
Задался целью сравнить производительность процессоров на двух разных серверах. Прогоняю следующий код:
[поскипано]
Замеряю профайлером затрачиваемое CPU.
Наблюдаю на сервере с 2 2-хядерными Itanium CPU Time в 2 раза больше чем на 4-хядерном Xeon.
Нагрузка, под которой находятся сервера в момент тестирования, на показатель CPU вроде как влиять не должна.
Как считаете, насколько методика оценки корректна?

Есть мнение, что этот код грузит ровно одно процессорное ядро. То бишь - нет, методика некорректна.

Согласен с Вашим мнением. Почему некорректна? Заметьте количество ядер одинаково. Поправлюсь - методика сравнивает производительность не процессора, а отдельного ядра.
31 авг 09, 17:48    [7599694]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
WhatIsIt,

Просто не вижу смысла в тестировании именно таким образом. SQL вообще - не совсем та задача, производительность которой определяется только производительностью процессорного ядра :)
Хотите узнать максимальную производительность именно процессоров на конкретных задачах ? Смотрите http://www.spec.org . Хотите узнать максимальную производительность именно серверов под конкретными СУБД ? Смотрите http://www.tpc.org , с поправкой, понятно, на то, что тесты очень уж синтетические, и конфигурации решений заточены никак не для реальной жизни, а исключительно - для получения наилучших tpc/$ :) .
А если хотите узнать производительность для Вашей конкретной задачи - тут сложнее. Даже одним прогоном некого тестового набора из неких типовых для Вашей задачи операций ограничиться не выйдет - это покажет лишь производительность при одном пользователе. Идеальный тест- подержать и тот, и другой серверы под одинаковой нагрузкой некоторое время, за которое собрать статистику нагрузок на подсистемы, и смотреть их. Но, опять же - нагрузкой только на процессорные ядра такое тестирование ограничиваться никак не должно.
1 сен 09, 11:06    [7601794]     Ответить | Цитировать Сообщить модератору
 Re: сравнение CPU на разных серверах  [new]
WhatIsIt
Member

Откуда:
Сообщений: 21
a_shats,

Да я и не спорю с тем, что в реальной среде неправильно оценивать только CPU.
Спасибо за ссылки!
1 сен 09, 16:35    [7604419]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить