|
|
|
как замедлить 1С через postgres? | ☑ | ||
|---|---|---|---|---|
|
0
abask
09.12.25
✎
23:06
|
Есть странная задача замедлить одну базу в кластере 1С
Есть кластер 1С с несколькими базами, хранятся на Postgres. Сервер postgres - это отдельная машина с nvme, репликами, блэкджеком и т.д. Все работает достаточно быстро и стабильно. По условиям задачи нужно базу оставить в том же кластере 1С. Для хранения развернуть для нее отдельный инстанс Postgres на том же postgres сервере, где и другие. При этом настроить postgres так, чтобы стало заметно, что тормозит. ask.postgrespro.ru предложил такие параметры: shared_buffers = 16MB work_mem = 1MB maintenance_work_mem = 32MB max_parallel_workers_per_gather = 0 max_parallel_workers = 0 max_parallel_maintenance_workers = 0 max_wal_size = 100MB min_wal_size = 80MB checkpoint_timeout = 30min checkpoint_completion_target = 0.5 synchronous_commit = on fsync = on full_page_writes = on aqo.enabled = off jit = off max_connections = 10 plan_cache_mode = force_generic_plan не помогло, база работает довольно шустро, тормозов нет База УТ, размером около 12 Гб вопрос: может у кого-нибудь есть мысли, как настройками postgres можно сделать тормоза? |
|||
|
1
PR
09.12.25
✎
23:08
|
(0) Зачем?
|
|||
|
2
bolder
09.12.25
✎
23:15
|
(0) Перенеси базу на медленный диск.
|
|||
|
3
abask
09.12.25
✎
23:16
|
(1) так получилось
(2) там только nvme |
|||
|
4
bolder
09.12.25
✎
23:19
|
(3) и бэкапы тоже храните на nvme?
|
|||
|
5
H A D G E H O G s
09.12.25
✎
23:21
|
В нормальных СУБД это делается так
select 'ALTER INDEX [' + I.name + '] ON [' + T.name + '] DISABLE' from sys.indexes I inner join sys.tables T on I.object_id = T.object_id where I.type_desc = 'NONCLUSTERED' and I.name is not null |
|||
|
6
abask
09.12.25
✎
23:23
|
(4) только одну копию, далее все сливается в другой ДЦ с необходимой глубиной, в нашем случае это не поможет.
|
|||
|
7
Asmody
09.12.25
✎
23:25
|
(0) [настроить postgres так, чтобы стало заметно, что тормозит] - я бы послал матом.
|
|||
|
8
H A D G E H O G s
09.12.25
✎
23:26
|
отключите nestloop. 1С любит их.
SET enable_nestloop = off |
|||
|
9
bolder
09.12.25
✎
23:27
|
(6) ну тогда только какие то процедуры на выборку вешать.
|
|||
|
10
abask
09.12.25
✎
23:28
|
(5) мысль интересная, для postgres можно так
DROP INDEX index_name; CREATE INDEX index_name ON table_name (column); |
|||
|
11
abask
09.12.25
✎
23:28
|
(8) (9) спасибо, пошел гуглить
|
|||
|
12
Asmody
09.12.25
✎
23:35
|
запихни один инстанс postgres в докер и ограничь ему количество cpus (можно даже меньше 1) и memory 640k
|
|||
|
13
Asmody
09.12.25
✎
23:37
|
без докера через systemd тоже можно подрезать крылышки, но я не помню как
|
|||
|
14
PR
09.12.25
✎
23:37
|
(3) Что значит так получилось?
|
|||
|
15
abask
09.12.25
✎
23:37
|
(13) через nice уже подрезал
|
|||
|
16
Asmody
09.12.25
✎
23:44
|
(15) nice вроде только приоритет меняет. он не ограничивает ресурсы.
вот https://fastfox.pro/blog/tutorials/systemd-limits-memory-cpu/ оставь процессу 1% CPU и 640k memory и пусть попробует взлететь |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |