Имя: Пароль:
1C
 
Как ускорить 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 (ну или хороший кеширующий контроллер с батарейкой) нужен в любом случае - запись в журналы-то не кешируются во избежание.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан