|
Как ускорить SQL до скорости работы файловой базы? | ☑ | ||
---|---|---|---|---|
0
Stim
07.05.19
✎
16:04
|
Имеется база на SQL и её файловая копия. Обычное приложение, режим блокировок = Управляемый.
В базах по одному пользователю, все регл задания отключены. Одной и той же обработкой записываются данные наборами записей в независимые РС в обоих базах. На файловой процесс занял 5 минут, на серверной - 2 часа. Замер производительности показал, что на серверной базе "НаборЗаписей.Записать()" выполняется в 100 раз дольше, чем в файловой. Какие есть способы ускорить производительность серверной БД? |
|||
1
Мыш
07.05.19
✎
16:06
|
Переписать код. Например, писать порциями.
|
|||
2
piter3
07.05.19
✎
16:07
|
Несколько заданий по кускам писать
|
|||
3
piter3
07.05.19
✎
16:07
|
Это эксперимент или задача на работе?
|
|||
4
Мимохожий Однако
07.05.19
✎
16:08
|
(0) какой объем базы?Какой объем записей?
|
|||
5
shuhard
07.05.19
✎
16:08
|
(3)[ SQL до скорости работы файловой базы]
такого бреда на работе не бывает |
|||
6
Кодер
07.05.19
✎
16:10
|
(5) Бывает! В одном ТПХ, ты там был, служебка была "Требую увеличить производительность 1С и MSSQL втрое". И это не помешало компании бодро расти, просто поржали отделом и пошли работать дальше.
|
|||
7
trdm
07.05.19
✎
16:10
|
Транзакции?
|
|||
8
Stim
07.05.19
✎
16:12
|
(3) задача
|
|||
9
Cyberhawk
07.05.19
✎
16:13
|
В общем случае это недостижимо. В частном - вполне.
|
|||
10
Stim
07.05.19
✎
16:13
|
(1) какими порциями? Это записи в РС, на каждый набор измерений делается свой набор записей
|
|||
11
shuhard
07.05.19
✎
16:14
|
(8) ну и где счётчики производительности ?
|
|||
12
Stim
07.05.19
✎
16:14
|
все значения в регистрах не ссылочные, примитивных типов
|
|||
13
Stim
07.05.19
✎
16:15
|
(11) сабж читал?
|
|||
14
shuhard
07.05.19
✎
16:16
|
(13) мозг включал ?
|
|||
15
piter3
07.05.19
✎
16:17
|
(13) Так смотрел или нет?Откуда мы знаем,что у тебя происходит.
|
|||
17
Stim
07.05.19
✎
16:25
|
сорри, счетчики производительности не настраивал, только замер производительности 1С
|
|||
18
shuhard
07.05.19
✎
16:26
|
(17) и даже на сиквеле регламенты не поднял ?
|
|||
19
HeKrendel
07.05.19
✎
16:27
|
(0) Настрой СКЛ, там разница должна быть не более 20-30%
|
|||
20
piter3
07.05.19
✎
16:27
|
А потом окажется,что на серваке крутиться еще 100500 сервисов
|
|||
21
Cyberhawk
07.05.19
✎
16:27
|
Может сервер 1С или скуль на пентиуме 486 крутятся? Ты файловую-то сравни на этих двух хостах.
|
|||
22
andrewalexk
07.05.19
✎
16:28
|
(6) :) а в военное время число пи может достигать 4(с)
|
|||
23
shuhard
07.05.19
✎
16:28
|
(19) [ должна быть не более 20-30%]
нет конечно есть задачи на которых файловая быстрее в разы, ибо на план запросов влияние в 1С слабое |
|||
24
Stim
07.05.19
✎
16:30
|
развернул пустую БД на сервере и в файле. Добавил 1 РС.
Запустил добавление 10 000 записей через отбор к набору записей. Файловая: 17сек Серверная: 3мин |
|||
25
piter3
07.05.19
✎
16:31
|
а Sql какой?не слон случаем?
|
|||
26
shuhard
07.05.19
✎
16:32
|
(24) ни о чем
|
|||
27
Glup0sti
07.05.19
✎
16:34
|
Во-первых, надо выяснить в клиент-серверном варианте в однопользовательском режиме (полные права)как будет выполняться?
Во-вторых, необходимо получить трассировку |
|||
28
HeKrendel
07.05.19
✎
16:35
|
(24) У меня программер развернул СКЛ, 24 операции в секунду, попросил глянуть тех дира, он обматерился, настроил на 20к операций
|
|||
29
dmpl
07.05.19
✎
16:35
|
(24) А теперь нажми ресет во время исполнения этого кода.
|
|||
30
shuhard
07.05.19
✎
16:39
|
(28) [ программер развернул СКЛ]
о боги у тебя в команде нет DBA =) |
|||
31
Вафель
07.05.19
✎
17:04
|
файловую на том же серваке разворачивал? скл и 1с на разны серверах?
|
|||
32
Фрэнки
07.05.19
✎
18:16
|
не тема, а какой-то наброс
никаких конкретных параметров, никаких описаний среды исполнения - зато есть сакральный вопрос "а почему" |
|||
33
H A D G E H O G s
07.05.19
✎
18:24
|
Вангую
mdop<>1 |
|||
34
Вафель
07.05.19
✎
18:28
|
(33) разве мс до сих пор не научился в параллельные запросы?
|
|||
35
Фрэнки
07.05.19
✎
18:32
|
(34) нет... Если рассматривать МС СКЛ и в контексте данного топика, то и не научится никогда
|
|||
36
nicxxx
07.05.19
✎
18:36
|
(0) Не надо сравнивать теплое с мягким. На SQL-базе вы будете работать, причем довольно неплохо, когда файловая будет стоять колом из-за табличных блокировок. Я про количество одновременных подключений, если что.
|
|||
37
Fram
07.05.19
✎
18:41
|
(0) дык если файловая для вас работает быстрее, нафига вы продолжаете "жрать кактусы"?
|
|||
38
vi0
07.05.19
✎
18:55
|
Попробуй монопольный режиме. Управляемые блокировки не будут устанавливаться - не будут тратиться на это ресурсы сервера 1с.
|
|||
39
novichok79
07.05.19
✎
19:08
|
управляемые блокировки вроде на то и нужны, чтобы не всю таблицу захватывать. я бы писал в нескольких потоках одновременно.
на инфостарте кажется чувак слепил универсальный менеджер потоков под эти цели. |
|||
40
Cyberhawk
07.05.19
✎
19:09
|
(34) (35) Включали mdop > 1 на последних проектах, до которых рука надежного админа дотянулась - прирост в тяжелых запросах наблюдается, критичного замедления в каких-то других местах от пользователей не поступали. Так что хз с чем связана рекомендация 1С не включать - может те времена прошли уже.
|
|||
41
vi0
07.05.19
✎
19:11
|
(39) ну так у него в файловой базе и без упр блокировок шоколадно все
с его вводными |
|||
42
timurhv
07.05.19
✎
20:10
|
(40) работает 800 человек онлайн. Расчетчик в ЗУПе не поставил отбор и загрузил весь сервак, пользователи в БП страдают.
Есть рекомендация от самого Майкрософт по установке modp в зависимости от количества ядер |
|||
43
palsergeich
07.05.19
✎
21:49
|
(24) У меня на серверной локально 1 миллион записей за 40 секунд
|
|||
44
palsergeich
07.05.19
✎
21:49
|
На домашнем компе
|
|||
45
Stim
08.05.19
✎
00:33
|
(37) файловая база это антоним безопасности
|
|||
46
Sammo
08.05.19
✎
05:18
|
(24) А теперь в непустую, в 10 потоков и по десятку миллионов записей
Имхо, странная постановка задачи. Емнип, файловая в однопользовательском режиме всегда была быстрее. И скуль всегда приводил к просадке по скорости при 1 пользователе, но к повышению производительности в многопользовательском режиме и повышению надежности. Что-то изменилось? |
|||
47
DrZombi
гуру
08.05.19
✎
06:21
|
(0) Вы хоть огласите версию БД, а то чет на фоне семи мелодий трудно рассуждать.
...у нас все работает нормально, от УПП, до БП 3 и ЗУП 3.1 :)... |
|||
48
breezee
08.05.19
✎
07:21
|
(0) Сколько пользователей было в этих базах, когда вы писали записи?
|
|||
49
breezee
08.05.19
✎
07:22
|
(48) Извините, криво прочитал топик(
|
|||
50
arsik
гуру
08.05.19
✎
08:09
|
(46) ну не в 100 раз же.
|
|||
51
Скиурус
08.05.19
✎
08:10
|
Вангую, что на сервере стоит эмулятор процессора, с миллионом ядер по 2 ГГц, а локальная база на нормальном ПК. Хотя разницу в 30 раз это не объяснит, но все-таки любопытно сравнить частоты ядер.
|
|||
52
shuhard
08.05.19
✎
08:14
|
(51) частоты будут сравнимые, на сервер -20% от рабочей станции, что к результату не имеет ни малейшего отношения
|
|||
53
Фрэнки
08.05.19
✎
08:50
|
топикстартер в ветку заглядывает, даже что-то отвечает... но никакой инфы по сути не дает.
Обсуждение происходит вокруг некоего сферического коня в вакууме |
|||
54
Bigbro
08.05.19
✎
08:51
|
помню сильно тормозил скуль из-за того что обновление статистики было не настроено.
попробуйте, если причина в этом можете раз в 10 ускориться |
|||
55
piter3
08.05.19
✎
08:51
|
(54) Ну он же вроде раз записал
|
|||
56
El_Duke
гуру
08.05.19
✎
09:47
|
(0) >>Как ускорить SQL до скорости работы файловой базы?
Никак При указанных в (0) условиях (однопользовательские базы) файловый вариант всегда !!! будет работать быстрее чем база на SQL. И ничего с этим поделать невозможно. Правильной настройкой SQL-сервера можно сделать так, что разница в скорости будет не очень отличаться, но сравняться не удастся никогда |
|||
57
dmpl
08.05.19
✎
09:58
|
(56) Если задействовать RLS (оставим за скобками нужность этого для однопользовательской базы - допустим, у нас копия центральной базы, где часть данных надо скрыть от пользователя) - файловый вариант быстрее не будет. А еще он не будет быстрее когда таблица превысит размер 4 Гб или размер записи индекс превысит около 2 кБ.
|
|||
58
Stim
08.05.19
✎
11:38
|
сделал запись по каждому регистру в отдельный поток фонового задания. Скорость вполне приемлима.
|
|||
59
Фрэнки
08.05.19
✎
12:00
|
ох, тудыть твою раскудахтыть
- у этой неведомой херни еще и регистров не один и даже не два, а целая туева хуча, то их оказывается можно и нужно по разным потокам распихать! |
|||
60
Shur1cIT
08.05.19
✎
12:11
|
(0) SQL 2017 + оперативной памяти побольше если тормоза в записи можно SSD воткнуть
Нужно знать параметры базы чтобы цифра по точнее озвучить |
|||
61
Shur1cIT
08.05.19
✎
12:15
|
(60) да но скорости файловой недостич
|
|||
62
El_Duke
гуру
08.05.19
✎
12:20
|
(61) Отбиваю пять вам и коллеге из (9)
|
|||
63
dmpl
08.05.19
✎
14:10
|
(60) SSD (ну или хороший кеширующий контроллер с батарейкой) нужен в любом случае - запись в журналы-то не кешируются во избежание.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |