Вход | Регистрация
    1  2   
1С:Предприятие :: 1С:Предприятие 8 общая

Оптимизация 1с на уровне SQL Server.

Оптимизация 1с на уровне SQL Server.
Я
   antihacker
 
19.02.15 - 09:04
Всем привет! У кого какие коменты. Конфига самописная.

Что мне удалось добыть. Тут конечно речь не идет о аппаратных мощностях. Так на программном уровне.

1) Базы, логи и tempdb на разные диски. По ходу 1С tempdb грузит не плохо.
2) Создать из ОЗУ диск RAM Drive и кинуть tempdb туда. Те есть диск сидит в ОЗУ.
3) Так как конфига самописная, то при создание объекта можно выбирать. С индексом или без.
а) С индексом. Так как SQL индекс читает по 8 кб, то индекс положить на диск , где рзамер кластера диска равно 8 кб. А сами таблицы на другой диск где размер кластера 64 кб.
б) Без индекса. Делить не зачем базу ложем на диск , где размер кластера 64 кб. Потому что SQL читает таблицы по 64 кб. То есть full scan.

Еще что ?
   Fragster
 
1 - 19.02.15 - 09:08
(0) в топку, а на рамдрайв - темпы 1с-сервера ;)
   vde69
 
2 - 19.02.15 - 09:09
>>>1) Базы, логи и tempdb на разные диски. По ходу 1С tempdb грузит не плохо.
+1


>>>2) Создать из ОЗУ диск RAM Drive и кинуть tempdb туда. Те есть диск сидит в ОЗУ.
-1 ты не видел темпдб в 100гигов? а я видел :) (лучше всю память скулю дать), лучше купить отдельный SSD дису под темдб


дальше я не понял....
   Fragster
 
3 - 19.02.15 - 09:09
если скуль и 1с - не на одном сервере, то между ними какой-нить инфинибэнд или 10Г прямой трубой
   Fragster
 
4 - 19.02.15 - 09:10
(2)(0) кто вам сказал, что 1с при наличии памяти прямо вот фиксирует результаты операций с темпбдб на диск?
   Fragster
 
5 - 19.02.15 - 09:10
скуль фиксирует, да
   vde69
 
6 - 19.02.15 - 09:12
(4) я видел файл размером темп дб 100 гигов...
   ShoGUN
 
7 - 19.02.15 - 09:13
(0) Насчёт размеров кластера - прирост если и будет, то мизерный. Кэширование же.
   Fragster
 
8 - 19.02.15 - 09:13
(6) т.е. "при налиции памяти" тебя не смутило? ну и да, Выбрать * из РегистрБухгалтерии.Хозрасчетный,РегистрБухгалтерии.Хозрасчетный тебе и не такое даст
   vde69
 
9 - 19.02.15 - 09:14
(8) сервер 128 гигов памяти, по идее хватало...
   antihacker
 
10 - 19.02.15 - 09:50
ShoGUN, так я не про прирост. Оптимизированное чтение. То есть быстрее что бы читал
   antihacker
 
11 - 19.02.15 - 09:55
vde69, Я про особенности движка сикла. Сикл читает индексы таблицы по 8 кб. А индексы- это просто ссылки на таблицу. А  если таблица без индекса, то сикл читает сразу саму таблицу полностью и ищет там нужную строку. По этому называют- full scan. И он читает таблицу по 64 кб. В этом и оптимизация.
   ShoGUN
 
12 - 19.02.15 - 09:56
(10) Это называется "экономия на спичках". Перенос TempDB на другой диск куда лучше тебе всё оптимизирует.
   vde69
 
13 - 19.02.15 - 10:01
(11) я давным давно читал про выравнивание страниц скуля с кластерами диска, но приведенные в статье графики не говорят о существенном улучшении производительности.

а вообще оптимизировать нужно не сервер а клиент сервеную систему, то есть затык будет там где тонко... Лично видел скорение проведения документов в 2.5 раза путем замены свича...

начните с общей оценки, например ЦУП или http://wiki.mista.ru/doku.php?id=it:analiz_sql_block
   ShoGUN
 
14 - 19.02.15 - 10:05
(11) Проблема в том, что в случае кластерного индекса ты не сможешь отделить индекс от таблицы. А кучи 1С по-моему вообще не использует, везде есть первичный ключ.
   H A D G E H O G s
 
15 - 19.02.15 - 10:34
(0) Купите ssd диск и настройте бэкапы на соседний hdd. и не ипите мозх.
   celentano
 
16 - 19.02.15 - 11:12
(15) "Тут конечно речь не идет о аппаратных мощностях. Так на программном уровне."
Видимо денег нет,какой уж тут ССД. Ну и работать не очень хочется,это ведь нужно выискивать и перерабатывать узкие места а уж в самописке которую без оглядки на производительность пилили таких мест может быть много. Отсюда и желание путём магических настроек снизить время простоя системы.
   Stein
 
17 - 19.02.15 - 11:20
TempDb на SSD диск. Его потеря не критична.
Использовать Shared Memory.
Оптимизация регламентных заданий, если пользователи работают круглосуточно использовать скрипты аля "умной реиндексации".
   antihacker
 
18 - 19.02.15 - 11:21
celentano, очередной ясновидящий.  У нас тут вот SUN ящики стоят. Вообщем ресурсов хватает. И что ? Я должен сказать покупайте мощные аппараты вот и вся оптимизация ?
   Maxus43
 
19 - 19.02.15 - 11:27
(18) начинать оптимизацию, тем более в самописке, надо начинать с кода, там 90% косяков как правило
   H A D G E H O G s
 
20 - 19.02.15 - 11:27
(19) 99%
   Maxus43
 
21 - 19.02.15 - 11:29
(20) в типовых 100% :)
   H A D G E H O G s
 
22 - 19.02.15 - 11:29
(21) В типовых - все практически прекрасно.
   vde69
 
23 - 19.02.15 - 11:30
(19) есть 2 подхода
1. от общего к частному
2. от частного к общему

ты сейчас про второй подход, но он для оптимизации клиент серверных систем практически не подходит....
   Maxus43
 
24 - 19.02.15 - 11:32
(23) >>но он для оптимизации клиент серверных систем практически не подходит
это основной затык в производительности, кривой код и не оптимальные решения.
Собери хоть супер компьютер, но всего 1 запрос положит всю мощь серверов
   H A D G E H O G s
 
25 - 19.02.15 - 11:35
(24) Нет. Это мелочи.
Гораздо страшнее сотни мелких неоптимальных запросов, размазанных по конфе.

Даже не так.

Еще страшнее ~дублирующиеся~ достаточно сложные запросы в модуле проведения для абсолютно несвязных блоков, которые связать можно только через ВременныеХранилища.
   Maxus43
 
26 - 19.02.15 - 11:38
(25) про один запрос - для наглядности.
Есно куча неоптимальных вещей в сумме и создают ощущение (и не только ощущения) что "база тормозит, программа не работает"
   antihacker
 
27 - 19.02.15 - 11:56
Мдяяя как всегда не в ту степь. Вопрос на уровне сикул сервера был. А не оптимальный 1С код оставим на совесть программиста.
   Maxus43
 
28 - 19.02.15 - 11:57
(27) пункт 3 выкинь, остального уже достаточно, не считая настроек самого скуля. по железу достаточно
   antihacker
 
29 - 19.02.15 - 12:10
ОК !
   rsv
 
30 - 19.02.15 - 12:11
(0) Базы, логи и tempdb на разные диски

Temp разбить на разные файлы .  Да и собственно диски сами должны быть щутсрыми. Ибо без последнего все настройки ничего не  дадут.
 
 
   antihacker
 
31 - 19.02.15 - 12:14
Кстати,  при SSD дисках размер кластера должен быть каким ? 8,16,32,64 кб. или как ?
   rsv
 
32 - 19.02.15 - 12:16
Имха кластеры мимо (не один ли ..) - а вот сама конструкция СХД (что и кто там и за какие деньги)
   vde69
 
33 - 19.02.15 - 12:17
(31) пофиг, так как запись и чтение физически идет блоками на размер которых ты влиять не можешь, зависит от чипсетов...
   vde69
 
34 - 19.02.15 - 12:18
ты-бы всеже с (13) начал....
   antihacker
 
35 - 19.02.15 - 12:25
Ну как. Размер одного сектора на ССД 128 кб. Вроде.
   ShoGUN
 
36 - 19.02.15 - 13:33
(35) Похрену. Не там ты копаешь. Я больше чем уверен, что если ты проведёшь эксперимент, то скорость если и будет изменяться, то в пределах погрешности.
http://www.sql-server-performance.com/forum/threads/ntfs-cluster-size.15387/
Вот размер страйпа в рейде может влиять, но дефолтный там и так обычно нормальный стоит(64-128Кб).
   vlandev
 
37 - 19.02.15 - 14:02
Кстати SSD инициализировать надо с выравниванием , а то некоторые разметят в какой нибуть виндовс-2003.
   kihor
 
38 - 19.02.15 - 17:42
(0) Немного не понял по поводу пункта 3. Что-то я не помню объектов 1С, которые бы создавались без индексов. Можно создать дополнительные - это да. Но индексы по умолчанию же всегда создаются.
Но, ИМХО, самое правильное, если есть проблемы, это смотреть в код/запросы (ЦУП-ом, профайлером и т.п.). Если есть избыточные ожидания на блокировках, то никакие администраторские "пляски с бубном" не помогут.
   Salimbek
 
39 - 19.02.15 - 18:22
(1) А можно подробнее про темпы сервера на рам-драйв, ну там - какой прирост, какой размер рекомендуешь, да и ключики запуска не помешают, чтоб два раза не вставать...
З.Ы. У СКЛ-я темпы на РАМ вынесены, плюс один файл на физическом, именно на случай вырастания за пределы
   Andrewww123
 
40 - 20.02.15 - 02:10
(0) С "max degree of parallelism" поиграться можно. У себя изменил с 0 на 1, вроде как пошустрее стала 1С.
   1976vas
 
41 - 20.02.15 - 08:31
(25) А можно пример, на пальцах, какой-нибудь неоптимального запроса и пример его исправления или почитать можно где?
   y22-k
 
42 - 20.02.15 - 08:41
(41) на сайте гилева посмотри
   Andrewww123
 
43 - 20.02.15 - 08:51
(41) Самый распространенный вариант: есть поле составного ссылочного типа и ты к нему в запросе обращаешься "Поле.Какой-тоРеквизит". При этом на уровне SQL происходит соединение с таким количеством таблиц, сколько типов имеет реквзит. Правильный вариант: "Выразить(Поле Как Документ.ПоступлениеТоваровУслуг).Какой-тоРеквизит"
   1976vas
 
44 - 20.02.15 - 08:53
(42) Я там неделю уже, примеров не нашел.
(43) Спасибо!
   1976vas
 
45 - 20.02.15 - 09:12
(43) Заинтересовался. Вот здесь хорошо описана ситуация http://zapros-1c-8.ru/interest/11-express
   ShoGUN
 
46 - 20.02.15 - 09:17
(43) Можно явное соединение ещё сделать.
   kosts
 
47 - 20.02.15 - 09:18
(45) В статье ошибка или как. Написано число обрезается, у меня же округляется...
ВЫБРАТЬ    ВЫРАЗИТЬ(1100.68794 КАК число(10,0)) => 1101
   Адимр
 
48 - 20.02.15 - 09:20
(2) Пункт 2 из разряда городских легенд.
Производительность не возрастает, я тестил.
   vde69
 
49 - 20.02.15 - 09:23
(47) ВЫРАЗИТЬ - округляет
   Зеленый пень
 
50 - 20.02.15 - 09:37
(0) tempdb и ldf на SSD - это хорошо.
Основную базу - на хороший raid-10, если нет денег на корпоративные SSD.
Побольше памяти SQL.
Вот и вся оптимизация.
   vde69
 
51 - 20.02.15 - 09:47
(50) а как-же параллелизм, лимиты по памяти/камням и т.д.
   Gepard
 
52 - 20.02.15 - 09:51
1С-ники забывают про индексирование полей в 80% случаев
   1976vas
 
53 - 20.02.15 - 09:55
(52) А как определить, что, допустим, для той или иной таблицы нужен индекс?
   1976vas
 
54 - 20.02.15 - 09:55
(53) По размеру таблицы?
   Господин ПЖ
 
55 - 20.02.15 - 09:56
(54) покурить запрос и его план в QA
   Лефмихалыч
 
56 - 20.02.15 - 09:57
(0) может начать с замеров производительности, чтобы не тыкать пальцем куда попало, а сразу начать оптимизировать именно то, что требует оптимизации?
   vde69
 
57 - 20.02.15 - 09:58
(53) по преспективам использования...
   1976vas
 
58 - 20.02.15 - 10:04
Сложен путь оптимизации... Мне говорили, что у нас SQL супер настроена, в итоге ни объем памяти не выделен, ни параллелизм не выставлен, ни автоувеличение, tempdb вместе с базой. Завтра внесем изменения, посмотрим производительность.
   Господин ПЖ
 
59 - 20.02.15 - 10:05
надеюсь хоть бэкапы формируются корректно
   Гёдза
 
60 - 20.02.15 - 10:06
Начинать нужно с ЗАМЕРОВ!!!
 
 
   Гёдза
 
61 - 20.02.15 - 10:08
(53) скуль обычно собирает статистику и сам знает каких индексов не хватает
   1976vas
 
62 - 20.02.15 - 10:08
(60) Замеры у Гилева денег стоять )), буим пока на глаз, по бухам.
   1976vas
 
63 - 20.02.15 - 10:09
(61) А как у него спросить?
   Гёдза
 
64 - 20.02.15 - 10:09
(62) разве? замеры вроде бесплатны - интерпретация  стоит денег
   1976vas
 
65 - 20.02.15 - 10:10
(59) Не формируются бэкапы, вся система админом моментальным снимком копируется по ночам, сказали не лезть мне в бэкапы )
   1976vas
 
66 - 20.02.15 - 10:11
(64) Самый важный, анализ загруженности оборудования - платный.
   Гёдза
 
67 - 20.02.15 - 10:12
А как торможение то проявляет себя?
   Господин ПЖ
 
68 - 20.02.15 - 10:12
>сказали не лезть мне в бэкапы

х.вно вопрос... тогда пусть обеспечивают поднятие копии базы на любой день/час/секунду по свистку за мин. время
   Гёдза
 
69 - 20.02.15 - 10:12
(66) счетчики оборудования настроить - можно самому
   1976vas
 
70 - 20.02.15 - 10:13
(64) Или имеется ввиду, что на клиенте логи создадутся и их читать? Дык это пока для меня на уровне фантастики.
   Господин ПЖ
 
71 - 20.02.15 - 10:14
начни с счетчиков
   1976vas
 
72 - 20.02.15 - 10:14
(68) Не достанут, делается раз в сутки и не проверяется.
   ShoGUN
 
73 - 20.02.15 - 10:14
(65) Дебилизм. Только место впустую жрать. Это не хостинг, который россыпями файлов оперирует, надо копировать всего ничего, зато очень тщательно, а не раз в сутки.
   Гёдза
 
74 - 20.02.15 - 10:14
(72) это не твои проблемы. Зачем тебе за них переживать?
   Господин ПЖ
 
75 - 20.02.15 - 10:14
может там диск банально захлебывается очередью
   Господин ПЖ
 
76 - 20.02.15 - 10:15
(72) они там у вас не акуели?...
   Гёдза
 
77 - 20.02.15 - 10:16
Порядок действий по оптимизации:
0. ВЫЯСНИТЬ КАК ПРОЯВЛЯЮТСЯ ТОРМОЗА И ПОЛЬЗОВАТЕЛЕЙ
1. Сделать замеры подтверждающие 0
2. оптимизировать узкие места
   Господин ПЖ
 
78 - 20.02.15 - 10:16
(74) >это не твои проблемы.

когда база навернется а востанавливаться будет не с чего - будут друг другу эти басни рассказывать на бирже труда
   1976vas
 
79 - 20.02.15 - 10:16
Самое интересное - потом мне говорит мой начальник, сисадмин - посмотри там что-то с 1с)
(78) Согласен, а может и я один
   Господин ПЖ
 
80 - 20.02.15 - 10:17
>вся система админом моментальным снимком копируется по ночам

дебилы...
   ShoGUN
 
81 - 20.02.15 - 10:17
(77) +1
   1976vas
 
82 - 20.02.15 - 10:19
Системный монитор и справка помогут мне для анализа?
   1976vas
 
83 - 20.02.15 - 10:21
(77) Для этого подключил сервис Гилева - анализ долгих запросов, получил данные, но что мне с ними делать не знаю.
   Господин ПЖ
 
84 - 20.02.15 - 10:24
(82) еще инет есть
   Гёдза
 
85 - 20.02.15 - 10:33
(83) если сам не можешь - то позовите специалиста
   1976vas
 
86 - 20.02.15 - 10:38
(85) Такая корова нам нужна самому)), надо учиться.
   ShoGUN
 
87 - 20.02.15 - 10:43
(86) Ну учись. Обращайся, если что. Я конечно не супер-спец по оптимизации, но опыт кое-какой есть. К тому же тут есть vde69, который на скуле собаку съел.
   Гёдза
 
88 - 20.02.15 - 10:43
какие запросы самые долгие то?
   1976vas
 
89 - 20.02.15 - 10:53
(87) Спасибо большое!
   1976vas
 
90 - 20.02.15 - 10:54
(88) Счас, зайду в облако
   Гёдза
 
91 - 20.02.15 - 10:56
давай сюда логин - пароль, поможем
   vde69
 
92 - 20.02.15 - 10:57
(62)>>>Замеры у Гилева денег стоять )), буим пока на глаз, по бухам.


я тебе давал ссылку на бесплатный анализатор...
   1976vas
 
93 - 20.02.15 - 10:57
   1976vas
 
94 - 20.02.15 - 10:59
(92) Да, спасибо, я не знаю как его запустить, там текст запроса, а потом строка запуска и как их увязать - не знаю.
   1976vas
 
95 - 20.02.15 - 11:00
(93) + Это я на своем компе, на копии запускал Расчет себестоимости.
   ShoGUN
 
96 - 20.02.15 - 11:04
(94) Management Studio открой, подключись к базе master, там выполни код, сначала первый, затем
EXEC track_waitstats 300, 1
   1976vas
 
97 - 20.02.15 - 11:05
(96) Спасибо, сейчас попробую.
   Господин ПЖ
 
98 - 20.02.15 - 11:05
Сидорова надо выпилить... от него вся бесовщина
   1976vas
 
99 - 20.02.15 - 11:06
(98) Эт я )), не надо меня пилить...
   Господин ПЖ
 
100 - 20.02.15 - 11:06
(99) попался сукин сын прелюбодей Якин...
  1  2   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.