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

Откуда: Minsk
Сообщений: 59
Приветствую.
Есть сервер, работающий на Win Server 2003 Standard x64, один 8-ми ядерный процессор Intel Xeon E5345 2.33Ghz

print @@version

Microsoft SQL Server  2000 - 8.00.2055 (Intel X86) 
	Dec 16 2008 19:46:53 
	Copyright (c) 1988-2003 Microsoft Corporation
	Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)




Статистика ожиданий скриптом Александра Волока выдает следующее (статистика собрана за 8 часов работы):

GroupTime
Parallelism108979368
Other40250016
Latch4077562
Memory1002933
Logging68387
Buffer Latch53040
Buffer IO12767


GroupTypeReqTimeSignal
ParallelismCXPACKET544928108937048135682
OtherRESOURCE_QUEUE203893991250413350475
LatchLATCH_EX20650063793678708876
MemoryRESOURCE_SEMAPHORE37100279216
LatchLATCH_UP61032838842454
OtherNETWORKIO203332449730
OtherIO_COMPLETION1201783810110
LoggingWRITELOG832368200609
Buffer LatchPAGELATCH_UP578285213011794
ParallelismEXCHANGE4246423201332
OtherPAGESUPP1383487292419
Buffer IOPAGEIOLATCH_SH1694781194
Buffer IOPAGEIOLATCH_UP173489332
Buffer LatchPAGELATCH_SH3576910532
LoggingLOGBUFFER381870
MemoryCMEMTHREAD6968141109
Buffer IOPAGEIOLATCH_EX13630
LockLCK_M_RX_U000
LockLCK_M_RX_S000
LockLCK_M_RIn_X000


конфигурация:
exec sp_configure

NameMinimumMaximumConfig_ValueRun_Value
affinity mask-2147483648214748364700
allow updates0100
awe enabled0110
c2 audit mode0100
cost threshold for parallelism03276755
Cross DB Ownership Chaining0100
cursor threshold-12147483647-1-1
default full-text language0214748364710331033
default language0999900
fill factor (%)010000
index create memory (KB)704214748364700
lightweight pooling0100
locks5000214748364700
max degree of parallelism03200
max server memory (MB)4214748364721474836472147483647
max text repl size (B)021474836476553665536
max worker threads3232767255255
media retention036500
min memory per query (KB)512214748364720482048
min server memory (MB)0214748364700
nested triggers0111
network packet size (B)5123276740964096
open objects0214748364700
priority boost0100
query governor cost limit0214748364700
query wait (s)-12147483647-1-1
recovery interval (min)03276700
remote access0111
remote login timeout (s)021474836472020
remote proc trans0100
remote query timeout (s)02147483647600600
scan for startup procs0100
set working set size0111
show advanced options0111
two digit year cutoff1753999920492049
user connections03276700
user options0327676464


И все это добро тормозит, то есть иногда проскакивает 100% загрузка процессора и по статистике
CXPACKET ждет больше всех. Одновременно работает с сервером порядка 40-50 пользователей.
Запросы выполняют однотипные, но с серьезным JOIN на таблиц 8

Вопрос:
Неужели не хватает 8-миядерного процессора?
Что еще исходя из приведенной статистики можно улучшить, чтобы повысить производительность сервера?
14 май 12, 16:44    [12551564]     Ответить | Цитировать Сообщить модератору
 Re: Оценка производительности  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1576
MSSQL_USER,
тупой запрос может положить любой сервер.

Приподнимите значение cost threshold for parallelism.
14 май 12, 16:47    [12551613]     Ответить | Цитировать Сообщить модератору
 Re: Оценка производительности  [new]
Glory
Member

Откуда:
Сообщений: 104751
MSSQL_USER
Вопрос:
Неужели не хватает 8-миядерного процессора?

Вы полагаете, что Parallelism CXPACKET - это потому что процессоров не хватает ?
Вы ошибаетесь, это потому что план выполнения с Parallelism не лучший
14 май 12, 16:56    [12551739]     Ответить | Цитировать Сообщить модератору
 Re: Оценка производительности  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
У меня 2005 сиквел на 64 ядрах ложился в лежку от параллелизма. Поставил MAXDOP по числу сокетов - все начало летать.

Это я к тому, что в 2000, скорее всего, с эффективностью параллельных планов все еще хуже. Просто большая часть процов уходит на то, чтобы распределить работу на большую часть процов. Что далеко не всегда лучшее решение.
14 май 12, 17:36    [12552180]     Ответить | Цитировать Сообщить модератору
 Re: Оценка производительности  [new]
MSSQL_USER
Member

Откуда: Minsk
Сообщений: 59
Sergey Sizov,

Ну например, сколько поставить лучше для начала в cost threshold for parallelism ???
14 май 12, 18:31    [12552609]     Ответить | Цитировать Сообщить модератору
 Re: Оценка производительности  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
MSSQL_USER , может попробовать max degree of parallelism в 1 установить и обойтись без параллелизма ?
14 май 12, 18:36    [12552643]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить