Вход | Регистрация
 

Как ускорить SQL до скорости работы файловой базы?

Как ускорить SQL до скорости работы файловой базы?
Я
   Stim
 
07.05.19 - 16:04
Имеется база на SQL и её файловая копия. Обычное приложение, режим блокировок = Управляемый.
В базах по одному пользователю, все регл задания отключены.
Одной и той же обработкой записываются данные наборами записей в независимые РС в обоих базах.
На файловой процесс занял 5 минут, на серверной - 2 часа.

Замер производительности показал, что на серверной базе "НаборЗаписей.Записать()" выполняется в 100 раз дольше, чем в файловой.

Какие есть способы ускорить производительность серверной БД?
 
 
   Мыш
 
1 - 07.05.19 - 16:06
Переписать код. Например, писать порциями.
   piter3
 
2 - 07.05.19 - 16:07
Несколько заданий по кускам писать
   piter3
 
3 - 07.05.19 - 16:07
Это эксперимент или задача на работе?
   МимохожийОднако
 
4 - 07.05.19 - 16:08
(0) какой объем базы?Какой объем записей?
   shuhard
 
5 - 07.05.19 - 16:08
(3)[ SQL до скорости работы файловой базы]
такого бреда на работе не бывает
   Кодер
 
6 - 07.05.19 - 16:10
(5) Бывает! В одном ТПХ, ты там был, служебка была "Требую увеличить производительность 1С и MSSQL втрое". И это не помешало компании бодро расти, просто поржали отделом и пошли работать дальше.
   trdm
 
7 - 07.05.19 - 16:10
Транзакции?
   Stim
 
8 - 07.05.19 - 16:12
(3) задача
   Cyberhawk
 
9 - 07.05.19 - 16:13
В общем случае это недостижимо. В частном - вполне.
   Stim
 
10 - 07.05.19 - 16:13
(1) какими порциями? Это записи в РС, на каждый набор измерений делается свой набор записей
 
 Рекламное место пустует
   shuhard
 
11 - 07.05.19 - 16:14
(8) ну и где счётчики производительности ?
   Stim
 
12 - 07.05.19 - 16:14
все значения в регистрах не ссылочные, примитивных типов
   Stim
 
13 - 07.05.19 - 16:15
(11) сабж читал?
   shuhard
 
14 - 07.05.19 - 16:16
(13) мозг включал ?
   piter3
 
15 - 07.05.19 - 16:17
(13) Так смотрел или нет?Откуда мы знаем,что у тебя происходит.
   Stim
 
17 - 07.05.19 - 16:25
сорри, счетчики производительности не настраивал, только замер производительности 1С
   shuhard
 
18 - 07.05.19 - 16:26
(17) и даже на сиквеле регламенты не поднял ?
   HeKrendel
 
19 - 07.05.19 - 16:27
(0) Настрой СКЛ, там разница должна быть не более 20-30%
   piter3
 
20 - 07.05.19 - 16:27
А потом окажется,что на серваке крутиться еще 100500 сервисов
   Cyberhawk
 
21 - 07.05.19 - 16:27
Может сервер 1С или скуль на пентиуме 486 крутятся? Ты файловую-то сравни на этих двух хостах.
   andrewalexk
 
22 - 07.05.19 - 16:28
(6) :) а в военное время число пи может достигать 4(с)
   shuhard
 
23 - 07.05.19 - 16:28
(19) [ должна быть не более 20-30%]
нет конечно
есть задачи на которых файловая быстрее в разы, ибо на план запросов влияние в 1С слабое
   Stim
 
24 - 07.05.19 - 16:30
развернул пустую БД на сервере и в файле. Добавил 1 РС.
Запустил добавление 10 000 записей через отбор к набору записей.

Файловая:   17сек
Серверная:  3мин
   piter3
 
25 - 07.05.19 - 16:31
а Sql какой?не слон случаем?
   shuhard
 
26 - 07.05.19 - 16:32
(24) ни о чем
   Glup0sti
 
27 - 07.05.19 - 16:34
Во-первых, надо выяснить в клиент-серверном варианте в однопользовательском режиме (полные права)как будет выполняться?
Во-вторых, необходимо получить трассировку
   HeKrendel
 
28 - 07.05.19 - 16:35
(24) У меня программер развернул СКЛ, 24 операции в секунду, попросил глянуть тех дира, он обматерился, настроил на 20к операций
   dmpl
 
29 - 07.05.19 - 16:35
(24) А теперь нажми ресет во время исполнения этого кода.
   shuhard
 
30 - 07.05.19 - 16:39
(28) [ программер развернул СКЛ]
о боги
у тебя в команде нет DBA =)
   Вафель
 
31 - 07.05.19 - 17:04
файловую на том же серваке разворачивал? скл и 1с на разны серверах?
   Фрэнки
 
32 - 07.05.19 - 18:16
не тема, а какой-то наброс

никаких конкретных параметров, никаких описаний среды исполнения - зато есть сакральный вопрос "а почему"
   H A D G E H O G s
 
33 - 07.05.19 - 18:24
Вангую
mdop<>1
 
 
   Вафель
 
34 - 07.05.19 - 18:28
(33) разве мс до сих пор не научился в параллельные запросы?
   Фрэнки
 
35 - 07.05.19 - 18:32
(34) нет... Если рассматривать МС СКЛ и в контексте данного топика, то и не научится никогда
   nicxxx
 
36 - 07.05.19 - 18:36
(0) Не надо сравнивать теплое с мягким. На SQL-базе вы будете работать, причем довольно неплохо, когда файловая будет стоять колом из-за табличных блокировок. Я про количество одновременных подключений, если что.
   Fram
 
37 - 07.05.19 - 18:41
(0) дык если файловая для вас работает быстрее, нафига вы продолжаете "жрать кактусы"?
   vi0
 
38 - 07.05.19 - 18:55
Попробуй монопольный режиме. Управляемые блокировки не будут устанавливаться - не будут тратиться на это ресурсы сервера 1с.
   novichok79
 
39 - 07.05.19 - 19:08
управляемые блокировки вроде на то и нужны, чтобы не всю таблицу захватывать. я бы писал в нескольких потоках одновременно.
на инфостарте кажется чувак слепил универсальный менеджер потоков под эти цели.
   Cyberhawk
 
40 - 07.05.19 - 19:09
(34) (35) Включали mdop > 1 на последних проектах, до которых рука надежного админа дотянулась - прирост в тяжелых запросах наблюдается, критичного замедления в каких-то других местах от пользователей не поступали. Так что хз с чем связана рекомендация 1С не включать - может те времена прошли уже.
   vi0
 
41 - 07.05.19 - 19:11
(39) ну так у него в файловой базе и без упр блокировок шоколадно все
с его вводными
   timurhv
 
42 - 07.05.19 - 20:10
(40) работает 800 человек онлайн. Расчетчик в ЗУПе не поставил отбор и загрузил весь сервак, пользователи в БП страдают.
Есть рекомендация от самого Майкрософт по установке modp в зависимости от количества ядер
   palsergeich
 
43 - 07.05.19 - 21:49
(24) У меня на серверной локально 1 миллион записей за 40 секунд
   palsergeich
 
44 - 07.05.19 - 21:49
На домашнем компе
   Stim
 
45 - 08.05.19 - 00:33
(37) файловая база это антоним безопасности
   Sammo
 
46 - 08.05.19 - 05:18
(24) А теперь в непустую, в 10 потоков и по десятку миллионов записей

Имхо, странная постановка задачи. Емнип, файловая в однопользовательском режиме всегда была быстрее. И скуль всегда приводил к просадке по скорости при 1 пользователе, но к повышению производительности в многопользовательском режиме и повышению надежности.
Что-то изменилось?
   DrZombi
 
47 - 08.05.19 - 06:21
(0) Вы хоть огласите версию БД, а то чет на фоне семи мелодий трудно рассуждать.
...у нас все работает нормально, от УПП, до БП 3 и ЗУП 3.1 :)...
   breezee
 
48 - 08.05.19 - 07:21
(0) Сколько пользователей было в этих базах, когда вы писали записи?
   breezee
 
49 - 08.05.19 - 07:22
(48) Извините, криво прочитал топик(
 
 Рекламное место пустует
   arsik
 
50 - 08.05.19 - 08:09
(46) ну не в 100 раз же.
   Скиурус
 
51 - 08.05.19 - 08:10
Вангую, что на сервере стоит эмулятор процессора, с миллионом ядер по 2 ГГц, а локальная база на нормальном ПК. Хотя разницу в 30 раз это не объяснит, но все-таки любопытно сравнить частоты ядер.
   shuhard
 
52 - 08.05.19 - 08:14
(51) частоты будут сравнимые, на сервер -20% от рабочей станции, что к результату не имеет ни малейшего отношения
   Фрэнки
 
53 - 08.05.19 - 08:50
топикстартер в ветку заглядывает, даже что-то отвечает... но никакой инфы по сути не дает.
Обсуждение происходит вокруг некоего сферического коня в вакууме
   Bigbro
 
54 - 08.05.19 - 08:51
помню сильно тормозил скуль из-за того что обновление статистики было не настроено.
попробуйте, если причина в этом можете раз в 10 ускориться
   piter3
 
55 - 08.05.19 - 08:51
(54) Ну он же вроде раз записал
   El_Duke
 
56 - 08.05.19 - 09:47
(0) >>Как ускорить SQL до скорости работы файловой базы?

Никак
При указанных в (0) условиях (однопользовательские базы) файловый вариант всегда !!! будет работать быстрее чем база на SQL. И ничего с этим поделать невозможно.
Правильной настройкой SQL-сервера можно сделать так, что разница в скорости будет не очень отличаться, но сравняться не удастся никогда
   dmpl
 
57 - 08.05.19 - 09:58
(56) Если задействовать RLS (оставим за скобками нужность этого для однопользовательской базы - допустим, у нас копия центральной базы, где часть данных надо скрыть от пользователя) - файловый вариант быстрее не будет. А еще он не будет быстрее когда таблица превысит размер 4 Гб или размер записи индекс превысит около 2 кБ.
   Stim
 
58 - 08.05.19 - 11:38
сделал запись по каждому регистру в отдельный поток фонового задания. Скорость вполне приемлима.
   Фрэнки
 
59 - 08.05.19 - 12:00
ох, тудыть твою раскудахтыть

- у этой неведомой херни еще и регистров не один и даже не два, а целая туева хуча, то их оказывается можно и нужно по разным потокам распихать!
   Shur1cIT
 
60 - 08.05.19 - 12:11
(0) SQL 2017 + оперативной памяти побольше если тормоза в записи можно SSD воткнуть
Нужно знать параметры базы чтобы цифра по точнее озвучить
   Shur1cIT
 
61 - 08.05.19 - 12:15
(60) да но скорости файловой недостич
   El_Duke
 
62 - 08.05.19 - 12:20
(61) Отбиваю пять вам и коллеге из (9)
   dmpl
 
63 - 08.05.19 - 14:10
(60) SSD (ну или хороший кеширующий контроллер с батарейкой) нужен в любом случае - запись в журналы-то не кешируются во избежание.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует