Имя: Пароль:
1C
1С v8
Оптимизация 1с на уровне SQL Server.
, ,
0 antihacker
 
19.02.15
09:04
Всем привет! У кого какие коменты. Конфига самописная.

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

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

Еще что ?
30 rsv
 
19.02.15
12:11
(0) Базы, логи и tempdb на разные диски

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

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

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


я тебе давал ссылку на бесплатный анализатор...
93 1976vas
 
20.02.15
10:57
94 1976vas
 
20.02.15
10:59
(92) Да, спасибо, я не знаю как его запустить, там текст запроса, а потом строка запуска и как их увязать - не знаю.
95 1976vas
 
20.02.15
11:00
(93) + Это я на своем компе, на копии запускал Расчет себестоимости.
96 ShoGUN
 
20.02.15
11:04
(94) Management Studio открой, подключись к базе master, там выполни код, сначала первый, затем
EXEC track_waitstats 300, 1
97 1976vas
 
20.02.15
11:05
(96) Спасибо, сейчас попробую.
98 Господин ПЖ
 
20.02.15
11:05
Сидорова надо выпилить... от него вся бесовщина
99 1976vas
 
20.02.15
11:06
(98) Эт я )), не надо меня пилить...
100 Господин ПЖ
 
20.02.15
11:06
(99) попался сукин сын прелюбодей Якин...
101 Гёдза
 
20.02.15
11:09
У тебя запись тормозит. Вангую большое количество блокировок.
Проведение по партиям онлайн?
102 Гёдза
 
20.02.15
11:10
(101) Когда я занимался оптимизацией - эта проблема была в 99% случаев
103 Гёдза
 
20.02.15
11:10
Собственно это была одна из причин по которой я больше этим не занимаюсь )))
104 1976vas
 
20.02.15
11:11
(101) Это один документ Расчет себестоимости проводился, он не провелся, не выдержал я, вырубил.
105 ShoGUN
 
20.02.15
11:14
(101) Запись там конечно тоже тормозит, но самый длительный запрос - SELECT. Вангую Table Scan :)
106 Гёдза
 
20.02.15
11:15
(105) Этот селект относится к 1 строчке: набор.Записать()
107 1976vas
 
20.02.15
11:15
(105) Если тормозит запись, тогда переход на более скоростной диск даст прирост производительности?
108 ShoGUN
 
20.02.15
11:15
+(105) Либо джоины неявные из-за точки.
109 Гёдза
 
20.02.15
11:16
(107) на ссд должно помочь
110 Гёдза
 
20.02.15
11:16
Собственно причина тормозов  - это расчет себестоимости параллельно с остальными. Переходите на ночное
111 1976vas
 
20.02.15
11:18
(110) Я просто замеры делал, а так бухи такие длительные делают по выходным и ночам.
112 1976vas
 
20.02.15
11:19
(108) Сообщение 2714, уровень 16, состояние 3, процедура get_waitstats, строка 1
В базе данных уже существует объект с именем "get_waitstats".
Сообщение 2714, уровень 16, состояние 3, процедура track_waitstats, строка 28
В базе данных уже существует объект с именем "track_waitstats".

Это сообщил первый запрос, второй висит на выполнении запроса уже минут 5
113 ShoGUN
 
20.02.15
11:20
(106) Да, прав.
(111) Так жалуются на расчёт себестоимости, или на что-то ещё, помимо него?
114 ShoGUN
 
20.02.15
11:20
(112) Он должен висеть 300 минут))
115 ShoGUN
 
20.02.15
11:20
То есть 5 часов.
116 ShoGUN
 
20.02.15
11:21
Замеры раз в минуту.
117 Гёдза
 
20.02.15
11:21
Так вроде статистика сама по себе собирается по умолчанию, е сли специально не отключать
118 Гёдза
 
20.02.15
11:22
(111) тогда возьми паузу 1 день. Запрети бухам в этот день рассчитывать себестоимость.
Посмотришь статистику и спросишь: А были ли тормоза?
119 1976vas
 
20.02.15
11:24
(114) ))
(113) Нет, у меня была тема Конфликт блокировок при выполнении транзакции. , участились взаимоблокировки при выполнении транзакции.
120 1976vas
 
20.02.15
11:26
(119) + даже не при расчете себестоимости, обычные операции - Отчет производства за смену, Реализация, формировании отчетов.
121 Гёдза
 
20.02.15
11:27
(119) поставь сервис по блокировкам
122 Гёдза
 
20.02.15
11:27
(120) проводки, партии он-лайн пишешь?
123 Гёдза
 
20.02.15
11:28
Ничто тебе не поможет, если ты партии онлайн пишешь.
Никакой сервер и никакие диски
124 1976vas
 
20.02.15
11:29
(121) Ставил, что-то я недопетрил как его настроить, данные не приходят. Нашел скрипт небольшой, который показывает виновника, по нему нашел зависший удаленный сеанс, отрубил и все заработало. Пока больше не было блокировок.
125 1976vas
 
20.02.15
11:29
(123) Как понять онлайн?
126 ShoGUN
 
20.02.15
11:29
(119) см (123). Делай отложенное проведение по партиям
127 Гёдза
 
20.02.15
11:29
в момент проведения документа
128 Зеленый пень
 
20.02.15
11:44
(51) Параллелизм не так страшен, как его малюют.
У нас был один мегаотчет, который до отключения параллелизма грузил все ядра сервака до 100%. Уменьшили параллелизм - грузит меньше. Но обычные запросы, как правило, и так грузят 1 ядро.

Вся "тонкая настройка" железа нужна, когда уже отлажена логика в 1С. А тот, кто сумел её отладить, он и в SQL понимает и сам подскажет, что и как настроить в железе.
129 1976vas
 
20.02.15
11:55
(128) Учиться и учиться, мне это нравится.