Имя: Пароль:
1C
 
Оптимизировать большую базу
,
0 BlackJack
 
23.12.22
15:33
Есть достаточно большая база - postgre показывает 50 Гб. Типовая бухгалтерия 3.0 на последней версии платформы, сервер 64 бит. Начала сильно тормозить. Обычные несложные запросы долго выполняются. Например, сверка по контрагенту за пару лет с парой десятков документов заполняется минут 5. Какие операции можно выполнить, чтобы ускорить/оптимизировать?
По колёсам стучал, стекла протирал. В postgre полный vacuum с анализом и реиндексацией сделал. Эффекта нет. Может быть что-то ещё?
Что может помочь из действий в 1С? Пересчёт итогов?
1 Kassern
 
23.12.22
15:35
(0) "Есть достаточно большая база - postgre показывает 50 Гб." - это разве большая?)
замер производительности, посмотреть планы запросов и т.д.
2 Fragster
 
гуру
23.12.22
15:35
когда последний раз делали вакуум?
3 Kassern
 
23.12.22
15:35
Может вообще вирусняк поймали и сервак ваш майнит дяде Пете крипту?
4 rphosts
 
23.12.22
15:38
(0) как часто делаешь вакуум? Чем кроме постгри на сервере? Сервер железный или вирт? Что показывает перфмон по загрузке? да этих вопросов вагон перед тем как перейти к самому постгри.
5 Garykom
 
гуру
23.12.22
15:40
(0) 1. Для начала тупой вопрос:
Выгрузку в DT и загрузку делали? Сразу после тормозит?
6 Garykom
 
гуру
23.12.22
15:41
(5)+ Естественно файлы сначала в тома внешние выкинуть
И какой размер DT остается?
7 rphosts
 
23.12.22
15:44
(6) ну не настолько-же постоянно файлы дёргает, хотя...
8 Fragster
 
гуру
23.12.22
15:45
а потом выяснится что это в пятом рейде диск вылетел
9 arsik
 
гуру
23.12.22
15:51
Какой версии постге стоит?
10 BlackJack
 
23.12.22
16:02
(9) Postgre 14.4
11 BlackJack
 
23.12.22
16:03
(2) Вчера
12 BlackJack
 
23.12.22
16:03
(3) Не, загрузки проца особо нет.
13 BlackJack
 
23.12.22
16:04
(4) У меня скорее вопрос, что можно сделать средствами 1С?
14 timurhv
 
23.12.22
16:06
(13) Ничего, фреш не тормозит на postgre
15 Dmitrii
 
гуру
23.12.22
16:14
(13) Проблема вряд ли в 1С.
50Гб - это небольшая база. Во всяком случае это не тот размер, на котором что-то может тормозить.
16 lodger
 
23.12.22
16:27
(13) средствами 1с только РБ попинать
https://its.1c.ru/db/metod81/content/5654/hdoc
17 mistеr
 
23.12.22
16:34
(0) "Позовите специалиста" (С)
18 BlackJack
 
23.12.22
16:47
(17) Так я и обратился к специалистам. Или тут нет?
19 ILM
 
гуру
23.12.22
16:48
(0) Причин может быть много, от загибающегося диска, кривых запросов в 1С, и даже до кривой настройки PG.
20 ILM
 
гуру
23.12.22
16:49
Посмотри в отладчике что тормозит конкретно.
21 ILM
 
гуру
23.12.22
16:50
Я видел как включение пары полей в запрос вешало систему намертво, особенно в условиях "ИЛИ / В()"
22 ILM
 
гуру
23.12.22
16:51
Посмотрите ещё на RLS может при обновлении влиять.
23 BlackJack
 
23.12.22
17:51
(22) RLS отключен.
24 BlackJack
 
23.12.22
17:58
(21) База типовая. Тормозит всё. Конкретно посмотрел в отладчике заполнение акта сверки. Тупит непосредственно сам запрос. Выполняется 10 минут. В энергосбережении поставил (сисадмины, превед) минимальное состояние проца 100% - стало 5 мин. Неплохое ускорение, но всё равно это слишком долго. Там в итоге записей пара десятков получается. Скорость сильно падает, если увеличивать период выборки. Видимо сам регистр бухгалтерии работает не эффективно.
25 BlackJack
 
23.12.22
18:06
Ещё странная деталь. При размере базы в 40 Гб Postgre показывает Size of temporary files 140 Gb. Ещё два дня назад было 90 Гб. Пытался гуглить, везде пишут, во-первых, не трожь, оно само. Во-вторых, что это не текущий размер временных файлов, а накопленным итогом.
Возможно из-за каких-то проблем с памятью Postgre начинает всё скидывать на диск. Настройки были нормальные, ничего не менял. Может сисадмины что-то натворили.
26 BlackJack
 
23.12.22
18:08
(4) Монитор показывает дисковый ввод-вывод 30 Мбит/с. Хз, это много или мало? И сетевой обмен 1 Мбит/сек. Всё это postgre генерирует.
27 lodger
 
23.12.22
18:13
(0) а в твоей вселенной "последней версии платформы" что значит?
28 BlackJack
 
23.12.22
18:15
(27) 8.3.22.1709
29 lodger
 
23.12.22
18:15
а ещё есть такой незакрытый баг

https://bugboard.v8.1c.ru/error/000128674
Производительность выполнения запросов

Код ошибки: 60001790
Статус: Принята к исправлению Зарегистрирована: 01.08.2022
Продукт: "Технологическая платформа"

Описание:
При использовании СУБД PostgreSQL для некоторых запросов при обращении к регистру бухгалтерии наблюдается низкая производительность выполнения.
30 BlackJack
 
23.12.22
18:17
(29) Не пойму, это к какой версии относится?
31 lodger
 
23.12.22
18:17
(30) ко всем актуальным на дату 01.08.2022 и после
32 lodger
 
23.12.22
18:18
8ка ещё сырая. попробуй в файловой )
33 BlackJack
 
23.12.22
18:30
(32) Сейчас конвертну в 7.7. Пусть работают. Так надёжнее. :)
34 ansh15
 
23.12.22
18:30
Если тест Гилева показывает 10-15 баллов на этой инсталляции, то ничего удивительного.
35 Сергиус
 
23.12.22
18:31
(0)[Начала сильно тормозить] - Установить, примерно с какого момента это началось, можно? Или по-нарастающей?
36 BlackJack
 
23.12.22
18:31
Вырубил всех пользователей. Фоновых заданий нет. А дисковая нагрузка в 33 Мбит/с так и осталась. Постоянно что-то пишет в/из pg_stst_tmp
37 Сергиус
 
23.12.22
18:32
+(35)А так вполне может и аппаратное что то быть. Диск, память, мать, Бп..вариантов масса.
38 BlackJack
 
23.12.22
18:33
(35) Удалил все логи из каталога сервера и переключил на последовательный формат. После этого стали жаловаться. Но не думаю, что это мешает выполнению простых запросов.
39 ansh15
 
23.12.22
18:34
(36) Ну вот. особенности поведения PostgreSQL под Windows,старая известная проблема.
Переходить на Linux - кардинальное решение.Там этого нет в принципе.
40 BlackJack
 
23.12.22
18:35
(39) Дык раньше работало нормально.
41 ansh15
 
23.12.22
18:45
(40) в шестом посте ссылка на объяснение почему так происходит - Начались проблемы с производительностью сервера 1С
42 Сергиус
 
23.12.22
18:54
(38)[Удалил все логи из каталога сервера] - ну в 1-е время вполне возможный эффект, пока кэши заполнятся заново.
[переключил на последовательный формат] - попробуйте вернуть как было.
43 arsik
 
гуру
23.12.22
21:01
(41) Так вроде постгреспро решили эту проблему для винды. Хотя непонятно, в сборке от 1С есть этот патч или нет.
44 arsik
 
гуру
23.12.22
21:02
(36) В журнале постгри что то аномальное есть?
45 BlackJack
 
23.12.22
22:57
(41) Ещё не посмотрел, но перенёс pg_stat_tmp на RAM disk. Не помогло.
46 arsik
 
гуру
23.12.22
23:22
(45) если в этом проблема, но не очень то и поможет.
47 BlackJack
 
24.12.22
00:08
(5) Всё гениальное просто. Выгрузил в dt, на всякий случай дропнул базу, загрузил обратно. Запрос выполнялся 255 секунд, теперь 0.5. :)
Беспокоит только, что для вновь созданной 40-ка гиговой базы postgre показывает 20 гигов временных файлов. Продолжу наблюдение.
Ну и хотелось бы понять, что всё таки это было? Где тут задумчивый смайлик.
48 rphosts
 
24.12.22
01:36
(26) диски какие? Рейд если есть какой? Длина очереди записи/чтения какая? На сколько % нагружен серевой интерфейс (надеюсь ни кто такую фигню как буферизация сетевого обмена не вкл?)
50 BlackJack
 
24.12.22
13:47
(48) >буферизация сетевого обмена

Это где такое?
51 ansh15
 
24.12.22
15:05
(43) Тестировать надо. Потом окажется, что решили только в платных редакциях Postgres Pro.
Так что, лучше Linux )