Имя: Пароль:
1C
1С v8
Возможности повышения производительности сервера баз данных MS SQL 2008
,
0 DayDreamer
 
06.06.12
16:34
Возможности повышения производительности сервера баз данных MS SQL 2008
был предложен вариант мониторинга SQL сервера на предмет наличия узких мест. в результате теста получил
wait type    wait time    percentage
***total***    176672519.0    100.0
XE_DISPATCHER_WAIT    27270592.0    15.4
LAZYWRITER_SLEEP    17945556.0    10.2
XE_TIMER_EVENT    17970354.0    10.2
LOGMGR_QUEUE    17942674.0    10.2
REQUEST_FOR_DEADLOCK_SEARCH    17951880.0    10.2
SQLTRACE_INCREMENTAL_FLUSH_SLEEP    17941836.0    10.2
FT_IFTS_SCHEDULER_IDLE_WAIT    17821044.0    10.1
CHECKPOINT_QUEUE    17727624.0    10.0
SLEEP_TASK    9025843.0    5.1
BROKER_TO_FLUSH    8974737.0    5.1
SOS_SCHEDULER_YIELD    3634747.0    2.1
LCK_M_S    646552.0    0.4
ASYNC_NETWORK_IO    745808.0    0.4
SLEEP_BPOOL_FLUSH    91609.0    0.1
PAGELATCH_EX    159411.0    0.1
LCK_M_IS    166484.0    0.1
LCK_M_IU    131419.0    0.1
LCK_M_IX    109600.0    0.1
WRITELOG    193682.0    0.1

тест Гилева показывает результат от 5 до 7.
Сервер 1С и сервер SQL разнесены на разные машины
SQL сервер 2008 r2 sp2 win 2008 все это на виртуальной машине под Hyper-V.
что можно сделать, что бы тест показывал хотя бы 15-20 ?
1 aspirator23
 
06.06.12
21:17
купить другую машину.
2 DayDreamer
 
07.06.12
07:41
(1) очень аргументированный ответ
3 Apokalipsec
 
07.06.12
08:39
вообще возможна-ли нормальная производительность sql на виртуальном сервере?
http://wiki.vm4.ru/sql можно попробовать это.
4 Smallrat
 
07.06.12
08:47
(0) У меня тоже SQL 2008 и тоже низкий результат, я немного покопал на форуме - походу это такая фича 2008 SQLа, что делать толком никто не знает, разве что поставить 2005ый, там покажет в разы больше.
5 DayDreamer
 
07.06.12
08:56
(3) вот спасибо, меня давно терзают смутные сомнения по поводу нормальной производительности SQL на виртуальном сервере
6 Samosval
 
07.06.12
09:19
(5) не факт, если все нормально настроено - летает
7 Apokalipsec
 
07.06.12
10:37
(6)как нормально настроено? ссылки может приведете, что надо настраивать для максимальной производительности?
8 DayDreamer
 
07.06.12
10:40
(6) каким именно настройкам следует уделить внимание, где возможны узкие места? на сколько важно подклчючать физический диск в виртуальной среде, а не виртуальный диск (дисковая подсистема не загружена)
9 vde69
 
07.06.12
10:42
мое твердое убеждение что скуль ни в коем случае нельзя ставить на виртуалку.

глаавная проблемма - скуль не понимает где физическая память а где своп, по этому нарываемся :)
10 vde69
 
07.06.12
10:44
а вообще судя по (0) у тебя точно криво настроен сам скуль и регламенты на нем.

распиши регламенты баз для начала
11 vde69
 
07.06.12
10:45
REQUEST_FOR_DEADLOCK_SEARCH - ну ни как не должно быть более 0.1%
12 DayDreamer
 
07.06.12
10:49
регламентные операции настроены в соответствии с http://kb.1c.ru/articleView.jsp?id=13
13 DayDreamer
 
07.06.12
10:51
обновление статистик - раз в день в час ночи
дефрагментация индексов - раз в день в 3 часа ночи
реиндексация - раз в неделю в 4 ночи
14 DayDreamer
 
07.06.12
10:52
модель восстановления - симпл
бэкап средствами sql раз в день ночью
15 vde69
 
07.06.12
10:52
(12) закрыт раздел

обновление статистики делается? как часто? именно на основании статистики и работает вся оптимизация запросов.

я обновление статистики делаю раз в час
16 DayDreamer
 
07.06.12
10:53
УПП 1.3.25.1 8.2.15.301
17 DayDreamer
 
07.06.12
10:54
предприятие порядка 6000 сотрудников
в момент замера расчетчики проводили расчет и начисление зарплаты по отделам
18 vde69
 
07.06.12
10:57
а вообще если памяти всего 24 гига - то это ОЧЕНЬ мало (тем более что делим на виртуалки)

даже простой документооборот нормально работает >=64 гига, а про УПП помолчу
19 DayDreamer
 
07.06.12
10:59
(18) в данный момент на эту виртуалку выделено 16 Гб
sql отдано 12 - остальное под систему
сервер 1С живет на отедльном сервере
20 DayDreamer
 
07.06.12
11:00
(18) какими показаниями счетчкиво можно определить что мало памяти?
21 vde69
 
07.06.12
11:02
(20) на железной машине (а не на виртуалки) длину очереди к диску, если более 0.5с - то мало, если 5-10с - то афигительно мало
22 DayDreamer
 
07.06.12
11:12
и все же остается открытым вопрос по тесту Гилева, почему он показывает такую низкую скороксть записи документов
23 vde69
 
07.06.12
11:16
(22) на виртуалках большенство счетчиков и статистик показывают полную лажу, по этому делай замеры на железном сервере, выяви чего у тебя с железом...

потом смотри чего с виртуалками, и уже потом софт.

на виртуалках очень сложно отделить проблеммы софта от проблемм с железом...

виртуалки подходят для чего угодно кроме субд
24 DayDreamer
 
07.06.12
11:21
(23) Сисадмины утверждают, что "железо не нагружено", и "проблем с виртуалкой и СУБД быть не может, потому что связка Оракла и СМАРТИМ замечательно работают на виртуальных машинах"
25 DayDreamer
 
07.06.12
11:23
Memory \ Pages/sec
Pocessor [_Total] \ %Processor Time
System \ Processor Queue Length
Phisical Disk \ Avg. Disk Queue Length
Network Interface \ Bytes Total/sec

этих счетчиков будет достаточно?
26 vde69
 
07.06.12
11:27
главное вот это

Phisical Disk \ Avg. Disk Queue Length

если будет более 0.5 - показывай админу, для скуля проблеммы с памятью всегда перекидываются на диск.

только ведь админ скажет что это не память а диск тормозит, но ты не верь :)
27 krbIso
 
07.06.12
11:27
Avg. Disk sec/Read
Avg. Disk sec/Write
на каждые диски
вместо Phisical Disk \ Avg. Disk Queue Length
28 vde69
 
07.06.12
11:29
(27) ты не прав

Avg. Disk sec/Read
Avg. Disk sec/Write

покажут реальную проблемму с дисками, а

Phisical Disk \ Avg. Disk Queue Length

именно проблемму памяти которую сервер пытается решить за счет диска, тут и проблеммы файловой буферизации и свопа, все вместе
29 DayDreamer
 
07.06.12
13:39
(28) средняя длина очереди диска 0.002
30 DayDreamer
 
07.06.12
13:47
пик - 0,102
31 krbIso
 
07.06.12
13:58
а в чем собственно проблема заключается? что озаботились производительностью SQL?
32 DayDreamer
 
07.06.12
14:04
средняя длина очереди диска (30 мин) средняя - 0.184 максимум - 18.894
33 DayDreamer
 
07.06.12
14:05
(31) причина - жалобы пользователей во время расчета зарплаты
постоянная транзакция, отчет "расчетные листки организаций" по отделу - время формирование 5-10 мин

проверка на тесте Гилева - отвратительный результат
34 vde69
 
07.06.12
14:13
(32) делай скриншет максимум - 18.894 и админу в морду,

19 секундная задержка это трендец (не смотря на то что среднее нормальное), а вообще теперь нужно сопоставлять момент времени когда возникает очередь с другими счетчиками, бывает, что сетка таке дает, бывает, что память...
35 DayDreamer
 
07.06.12
14:26
сейчас запустили замер - на 2 часа
36 DayDreamer
 
07.06.12
14:27
включили счетчики из (25)
37 vde69
 
07.06.12
14:28
(35) со  своей стороны постарайся сопоставить момент возникновения пика очереди с действиями пользователей в программе, может чего полезное увидешь.
38 MaxS
 
07.06.12
14:30
Как объяснить тесты Гилёва
на VMware   3 виртуальных сервера (рабочая станция, 1С, SQL), результат 27
комп с SATA дисками, 5к скорость вращения, рейда нет.

И результат 20 - 3 железных сервера, двухпроцессорные, БД хранится на iSCSI.

Железо плохое?  Или виртуальные системы имеют право на жизнь?
39 DayDreamer
 
07.06.12
14:33
(38) у нас результат 5-7
40 krbIso
 
07.06.12
14:34
(33) а параметры серверов SQL  и 1С  какие ? вкл счетчики

Avg. Disk sec/Read
Avg. Disk sec/Write
Memory \ Pages/sec
41 DayDreamer
 
07.06.12
14:38
Avg. Disk sec/Read средняя - 0.073 максимум - 15.419
Avg. Disk sec/Write средняя - 0.110 максимум - 18.894
42 DayDreamer
 
07.06.12
14:40
(38) Тест Гилева показывает какое количество обрабатывает система при последовательной записи/проведении документа движения денежных средств за единицу времени
43 DayDreamer
 
07.06.12
14:46
Текущая длина очереди диска  средняя - 0.142 максимум - 27
Пики всех графиков совпадают
44 krbIso
 
07.06.12
14:49
на SQL один диск чтоле? vmdk? а Memory \ Pages/sec что показывает?
45 floody
 
07.06.12
14:51
я по дефолту все установил и померял у себя
W2008R2 + SQL2008R2
на железном сервере - 17
на этом же сервере на Hyper-V - 17

на сервере слабый дисковый контроллер
46 DayDreamer
 
07.06.12
14:53
47 DayDreamer
 
07.06.12
14:54
(45)на SQL 10 райд
48 floody
 
07.06.12
14:56
(47) ну у меня тоже 10-й райд
49 floody
 
07.06.12
14:58
(47) кеш на контроллере точно включен? кажись нет
50 krbIso
 
07.06.12
15:06
из скрина нехера непонять.
если рэйд то очередь нужно делить на кол-во дисков в рейде.
51 DayDreamer
 
07.06.12
15:15
(50) что значит делить на количество дисков?
52 vde69
 
07.06.12
15:35
(51) ты зря счетчики поставил на тотал, нужно на каждый диск/райд по отдельности, тогда можно будет отделить очередь создаваемую

2 Raid1 - система (Server 2008 Standart x64)
2 Raid1 - файлы бд
2 Raid0 - TempDB
2 Raid1 - файлы журналов транзакций

но если пики совпадают - значит сто пудово память докупать
53 vde69
 
07.06.12
15:37
(52) если я прав у тебя очередь большая только на
2 Raid1 - система (Server 2008 Standart x64)

и возможно на
2 Raid0 - TempDB



очередь к файлам и логом скуля должна быть в норме
54 DayDreamer
 
07.06.12
15:46
(52) (53)
на сколько я знаю - вся система на одном(1) райде, который общий для всего, а кроме того - диск в виртуальной среде - виртуальный и динамический
55 vde69
 
07.06.12
15:51
(54) тогда не ип.... мозг, делай замеры на базовом сервере а не на виртуалке...

если прав нет - иди к админу... сколько можно говорить - счетчики на виртуалке показывают фигню....
56 DayDreamer
 
07.06.12
15:52
это замер админа с реального сервера
57 DayDreamer
 
08.06.12
08:10
Memory \ Pages/sec - какому счетчику в русской раскладке соотвествует?
58 krbIso
 
08.06.12
09:28
\Память\Обмен страниц/сек
59 SSkripagan
 
08.06.12
09:31
подпишусь.
60 DEVIce
 
08.06.12
09:38
А скуль отжирает всю предоставленную память в момент нагрузки?
61 DayDreamer
 
08.06.12
10:32
все замеры выполнены на реальном сервере.
замер нагрузки сегодня утром http://ifolder.ru/30994232
замер нагрузки вчера с 14 до 16 http://ifolder.ru/30994234
первый замер http://ifolder.ru/30994239
62 DayDreamer
 
08.06.12
10:32
(60) Скуль отжирает с удовольствием всю память которую ему дают - все 12 Гб
63 vde69
 
08.06.12
10:49
(61) что-то ЦП вообще около 0 нагружен, похоже на то что только 1 ядро работает на всех...

закажи у админа
1. загрузку ЦП по ядрам отдельно



и сравни пики (у тебя обмен страниц а нужно ошибки страниц), это будет показатель использования свопа
1. ошибки чтения страниц памяти
2. Длина очереди диска
64 krbIso
 
08.06.12
11:20
(61) по этим счетчикам ничего толкового.
нужны счетчики

Avg. Disk sec/Read
Avg. Disk sec/Write
покажут производительность  дисковой подсистемы

Memory \ Pages/sec
покажет достаточно ли ОЗУ

замер проводить в момент наибольшой активности или в момент выполнения "тяжелых" операций.

а вообще в помощь
http://www.sql.ru/articles/mssql/03121001perf_counters.shtml#51
65 DayDreamer
 
08.06.12
12:51
(63) новый замер http://www.fayloobmennik.net/1957027
66 vde69
 
08.06.12
13:35
(65)
очень прикольно
------------------------------------------------------------------------
у тебя камень 0 загружен исключительно ядром, это видно по кореллякции его графика с сетевой загрузкой,

камень 1 у тебя используется виртуалками и загружен максимум на 10%, вероятно он 8 ядерный и грузится только 1 ядро

советую покопатся в настройках виртуализации (возможно машина триальная и там действует ограничение по количеству камней !!!!)

------------------------------------------------------------------------

ошибки страниц НЕ коррелируются с очередью к диску но как-то они больно большие всплески дают и слишком повторяющееся, вероятно это что-то системное. размеры вспелесков явно большие 10к ошибок - это очень много.

Советую докупить память (хотя совсем явных признаков по нехватки памяти нет)


------------------------------------------------------------------------
сетевой интерфейс 2 дает очень прикольную пилу, вероятно это какая-то система управления сервером? Просто интересно чего это за шляпа :)
67 DayDreamer
 
08.06.12
14:04
(66) по результатам пмереговоров было принято решение о переезде на физический сервер - по результатам напишу сюда же
68 DayDreamer
 
08.06.12
14:05
всем спасибо за помощь
69 DayDreamer
 
08.06.12
14:17
(66) ответ админа по сети
: вообще там 4 интерфейса
: по одному на каждую виртуалку и один управление гипервизором
2 + 2 = 3.9999999999999999999999999999999...