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

Откуда: Краснодар
Сообщений: 1398
Привет всем! На работе сижу, от нечего дело балуюсь... =) и решил выполнить такой код:
DECLARE @D DATETIME, @N INT;
SELECT @D = dateadd(s, 5, getdate()), @N = 0
WHILE @D >= getdate()
BEGIN
	SET @N = @N + 1;
END
SELECT @N

Выполняю на 3х серверах, вроде серверы мощные и компания серьёзная... Но в среднем результат 2,2-2,4 миллиона насчитал счётчик. Через RDP сконнектился домой, запускаю на буке (Core i7 2670QM, 4GB DDRIII, Win7, SQL Server 2008 R2 Express) и получаю результат 10-11 млн... Почему такая разница? Конечно это не показатель что сервер медленный, но процессор вроде как должен быть более быстрый на серваке. Серверы не нагружены особо ничем, даже один вообще "спит".
1) Microsoft SQL Server 2005 - 9.00.5000.00 (X64)   Dec 10 2010 10:38:40   Copyright (c) 1988-2005 Microsoft Corporation 
   Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
   [платформа NT AMD64 - 8 ядер]

2) Microsoft SQL Server 2005 - 9.00.5000.00 (X64)   Dec 10 2010 10:38:40   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise 
   Edition (64-bit) on Windows NT 6.0 (Build 6002: Service Pack 2)
   [платформа NT AMD64 - 8 ядер]

3) Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64)   Sep 21 2011 22:45:45   Copyright (c) 1988-2008 Microsoft Corporation  
   Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2)
   [платформа NT x64 - 40 ядер] 
12 ноя 12, 14:02    [13458635]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
Офигеть тест.
12 ноя 12, 14:05    [13458663]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Понятно дело что тест и не тест, но суть думаю ясна. Что на данном запросе, мой ноутбук выигрывает. Вот и почему так...
12 ноя 12, 14:08    [13458699]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
VSVLAD
Понятно дело что тест и не тест, но суть думаю ясна. Что на данном запросе, мой ноутбук выигрывает. Вот и почему так...
Запустите 40 коннектов на вашем ноутбуке и на сервере, и посмотрите, кто выиграет. А еще лучше, 140.

Сообщение было отредактировано: 12 ноя 12, 14:11
12 ноя 12, 14:10    [13458729]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
Для базы данных тестами произодительности считаются транзакционные операции. Пустите транзакции с откатами и сравните.
+
Любители вот таких тестов и придумали NoSQL :-)
12 ноя 12, 14:11    [13458738]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
ROLpogo
Member

Откуда: Реутов
Сообщений: 219
Все переходим на SQL Server 2008 R2 Express!
12 ноя 12, 14:13    [13458758]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
Гавриленко Сергей Алексеевич,

Ну это понятно... что по всем показателям порвёт. Но как уже пишу, 1 сервер простаивает. как раз тот который 40 ядерный, 262 гб оперативки... И толку от него... Опять же повторюсь, что сервер работает нормально, но на данном "тесте" лажает
12 ноя 12, 14:15    [13458778]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
VSVLAD
Гавриленко Сергей Алексеевич,

Ну это понятно... что по всем показателям порвёт. Но как уже пишу, 1 сервер простаивает. как раз тот который 40 ядерный, 262 гб оперативки... И толку от него... Опять же повторюсь, что сервер работает нормально, но на данном "тесте" лажает
А вы не пишите этот бестолковый код, и не будет сервер лажать. Кстати, обсуждали уже эту тему, только фиг найти.
12 ноя 12, 14:18    [13458814]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
Вы, кстати, не в курсе, что тестить надо характерной для сервера нагрузкой? Бо синтетические тесты вам такого понапоказывают, что вы продакшен переведете на ноутбук свой.
12 ноя 12, 14:20    [13458828]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
VSVLAD
Но как уже пишу, 1 сервер простаивает. как раз тот который 40 ядерный, 262 гб оперативки... И толку от него...

А какие ресурсы должен использовать ваш тест ?
Все доступные ядра ? Или всю оперативную память ?
12 ноя 12, 14:26    [13458884]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Kasper
Member

Откуда: Брянск
Сообщений: 124
VSVLAD,

Вы неправильно оценили результаты теста - корпоративный сервер быстрее догнал, вот и количество итераций (@N) меньше получилось
12 ноя 12, 14:49    [13459079]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4254
позвольте поинтересоваться а в Электропитании - План электропитания какой у Вас установлен?

посмотрите пожалуйста, с нетерпением жду ответа.
12 ноя 12, 15:04    [13459183]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
alex999kon,

схема "Высокая производительность"
12 ноя 12, 15:06    [13459203]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
dalex1973,

Транзакции не повлияли на скорость прироста счётчика. Да и вроде тут нет таких операций, что нужно журналировать
12 ноя 12, 15:19    [13459338]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4254
VSVLAD
alex999kon,

схема "Высокая производительность"


понятно, просто были ситуации что при экономических режимах значительно падала производительность, особенно это было заметно на Серваке с матерью S6000, видать аппаратно там регулируется.
12 ноя 12, 15:42    [13459563]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
VSVLAD
dalex1973,

Транзакции не повлияли на скорость прироста счётчика. Да и вроде тут нет таких операций, что нужно журналировать


Ваш тест называется "Тест внутренних операций SQL Server на разных компьютерах".
Опуская тот факт, что тест произведен неверно(разные версии SQL Server тестировались на разных машинах), заглавие "Скорость работы MSSQL" неверное, ибо приведенные операции не имеют ничего общего с параметрами производительности базы данных.
Тестировать базу надо на реальных транзакциях. Если нет идей - почитайте о стандартных тестах OLTP - например TPC-* серия.

Отвечая на интересующий Вас вопрос - вполне может быть что одно ядро не самого навороченного сервера медленнее чем одно ядро быстрого компьютера. Для базы данных это только одно из возможных "узких мест."
12 ноя 12, 15:45    [13459595]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
VSVLAD
Почему такая разница? Конечно это не показатель что сервер медленный
Не показатель, вот именно.
VSVLAD
серверы мощные и компания серьёзная
О, вот это показатель.

Компания серьёзная, значит, запрос должен быстро выполняться :-)
12 ноя 12, 16:07    [13459807]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
VSVLAD
процессор вроде как должен быть более быстрый на серваке
Кому "должен"?

Вы хоть напишите, какие процессоры на сервере.

Для такого теста важна тактовая частота, а не так много серверных процессоров, которые могли бы обогнать Core i7 2670QM по этому параметру.
12 ноя 12, 16:12    [13459855]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
alexeyvg,

Ну узнать что за процессоры на серверах не получится. Я не админ их, и прав узнать чего либо не хватит.
12 ноя 12, 17:22    [13460453]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1398
alexeyvg
Компания серьёзная, значит, запрос должен быстро выполняться

Нет, значит дешёвое оборудование исключено. Мой бук я считаю дешёвым. 23К рублей (год назад)
12 ноя 12, 17:23    [13460463]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
VSVLAD
alexeyvg
Компания серьёзная, значит, запрос должен быстро выполняться

Нет, значит дешёвое оборудование исключено.
40 ядер - это всего два десятиядерника с гиперпупмнгом. Сие не дорого.
12 ноя 12, 17:26    [13460479]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
VSVLAD
Нет, значит дешёвое оборудование исключено. Мой бук я считаю дешёвым. 23К рублей (год назад)
Ещё прикольнее :-)

От стоимости скорость тоже не зависит. Уж не говоря о том, что быстрые компы и серьёзные компании между собой никак не связаны.

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

Вот посмотрите 2 процессора - ваш и 10-ти ядерный серверный. Второй стоит в 20 раз дороже, а в вашем тесте будет в полтора раза медленнее.
http://ark.intel.com/products/53469
http://ark.intel.com/products/53574
12 ноя 12, 17:36    [13460558]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
Vladimir222
Member

Откуда:
Сообщений: 34
А попробуйте выполнить это в иде ХП.
Заодно во время выполнения Вашего и этого варианта алгоритма запустите диспетчер задач и откройте закладку "Сеть".



CREATE PROCEDURE dbo.test_test
AS
BEGIN

DECLARE @D DATETIME, @N INT

SET NOCOUNT ON
SELECT @D = dateadd(s, 5, getdate()), @N = 0

WHILE @D >= getdate()
BEGIN
SET @N = @N + 1;
END
SET NOCOUNT OFF
SELECT @N

END
12 ноя 12, 18:17    [13460829]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34697
VSVLAD
Гавриленко Сергей Алексеевич,

Ну это понятно... что по всем показателям порвёт. Но как уже пишу, 1 сервер простаивает. как раз тот который 40 ядерный, 262 гб оперативки... И толку от него... Опять же повторюсь, что сервер работает нормально, но на данном "тесте" лажает


Понимаешь, как бы тебе это объяснить попроще...
На сервере ставятся другие процессоры, они серверные процессоры, специальные.
Они расчитаны на большую нагрузку. А если их грузять маленькой нагрузкой, они просто не
воспринимают эту нагрузку за серьёзную, и не торопятся выполнять твой код: а вдруг
пока они тут занимаются твоей ерундой, придёт реальный серьёзный запрос -- а они не готовы...
12 ноя 12, 21:02    [13461509]     Ответить | Цитировать Сообщить модератору
 Re: Скорость работы MSSQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34697
VSVLAD
Гавриленко Сергей Алексеевич,

Ну это понятно... что по всем показателям порвёт. Но как уже пишу, 1 сервер простаивает. как раз тот который 40 ядерный, 262 гб оперативки... И толку от него...


А ты кстати включал параллелизм для выполнения этого замечательного запроса ?

DECLARE @D DATETIME, @N INT;
SELECT @D = dateadd(s, 5, getdate()), @N = 0
WHILE @D >= getdate()
BEGIN
	SET @N = @N + 1;
END
SELECT @N


Ведь если ты его не включиш, он будет выполняться только на одном процессоре, и строго последовательно.
А если включишь, то производительность сразу же увеличится по крайней мене в 40 раз -- запрос же будет выполняться в 40 потоков параллельно !
12 ноя 12, 21:05    [13461531]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить