![]() |
![]() |
![]() |
|
Скорость записи в регистр бухгалтерии | ☑ | ||
---|---|---|---|---|
0
Eugene_life
23.04.14
✎
16:45
|
Всем доброго дня. Знаю, что часто 1С-ники любят разобраться в вопросе досконально. Очень рассчитываю на хороший совет. Есть бухгалтерский документ, содержащий 230 тыс проводок. При попытке записать все проводки разом, я получаю "нехватку памяти" (SQL серверная база, SQL 2008, Сервер 1С 32 разрядный). Потому сейчас добавляю наборами по 1000 записей (прямо в регистр, без чтения). Но уж очень долго это длится (несколько часов), причем 76% времени - запись в регистр. Был вариант отключения итогов с последующим включением - но включение итогов длится тоже долго (около 3х часов). Может, кто-то поделится своим опытом по оптимизации похожей ситуации?
|
|||
1
kiruha
23.04.14
✎
16:46
|
Поменяйте подсистему жестких дисков
|
|||
2
Eugene_life
23.04.14
✎
16:47
|
(1) 5й рейд на SSD
|
|||
3
kiruha
23.04.14
✎
16:47
|
И записывать можно по 20 тыщ
|
|||
4
Господин ПЖ
23.04.14
✎
16:48
|
писать порциями в транззакции начать/зафиксировать
|
|||
5
Maxus43
23.04.14
✎
16:49
|
(2) 10-ку ж лучше бы
делай (4), порции не по 1000, а тыщ по 5-10 делай |
|||
6
kiruha
23.04.14
✎
16:50
|
(4)
Если док - там и так уже транзакция |
|||
7
Eugene_life
23.04.14
✎
16:50
|
(4) А это поможет чем-то по скорости?
|
|||
8
Eugene_life
23.04.14
✎
16:51
|
(3),(5) Понял, попробую. А вообще, в принципе, так и должно быть, что медленная запись идет такая? Ну, полчаса - еще туда-сюда. Но 2 и более часа!
|
|||
9
Господин ПЖ
23.04.14
✎
16:52
|
(7) была похожая ситуа - 800 000 в один РН и 800 000 в другой в предалах одного регистратора - вроде помогло...
но в итоге вендоры поменяли алгоритм чтобы было меньше движений |
|||
10
kiruha
23.04.14
✎
16:52
|
А по 1 тыще как записываешь - в разных транзакциях или как ?
|
|||
11
Maxus43
23.04.14
✎
16:53
|
кстати да... это всё уже в транзакции проведения
|
|||
12
Господин ПЖ
23.04.14
✎
16:53
|
(8) РБ вещь не быстрая
|
|||
13
kiruha
23.04.14
✎
16:53
|
Если в одной - там сервер накапливает информацию для возможности отката - не гуд
|
|||
14
Eugene_life
23.04.14
✎
16:53
|
(10) пишу в одной - "все или ничего"
|
|||
15
Господин ПЖ
23.04.14
✎
16:54
|
(11) пусть попробует. хуже не станет
|
|||
16
Eugene_life
23.04.14
✎
16:55
|
(15) вопрос с изменением таблицы итогов - она пересчитывается при фиксации транзакции, или при добавлении набора записей?
Я так понимаю, что самое медленное тут - именно пересчет итогов |
|||
17
kiruha
23.04.14
✎
16:57
|
(14)
Ну так разбей по 20 тыщ - и записывай в одной транзакции. Пометки ставь - что записано. Потом в следующей порции, все можно в регламентном на сервере |
|||
18
Maxus43
23.04.14
✎
16:57
|
(16) при фиксации
|
|||
19
Eugene_life
23.04.14
✎
16:58
|
Ок, спасибо за идею. Попробую писать в маленьких транзакциях по 20 тыс записей.
|
|||
20
Aleksey
23.04.14
✎
16:59
|
Переходите на 8.2, просто в 8.3.4 они "оптимизировали" механизм записи регистров бухгалтерии и из-за этого тормозит сильно запись
|
|||
21
Eugene_life
23.04.14
✎
17:00
|
(20) а это и есть 8.2 :)
|
|||
22
Aleksey
23.04.14
✎
17:01
|
(21) Ну тогда попробуй 8.3.4 :)
|
|||
23
Eugene_life
23.04.14
✎
17:01
|
(20) + просто поскольку запись в обработке проведения - то и так и сяк это на сервере идет.
|
|||
24
kiruha
23.04.14
✎
17:01
|
(16)
Ну у Вас же скорее всего документ реальным временем -вряд ли он год назад - поэтом тут не пересчет итогов а именно запись. Мы боролись усилением дисковой подсистемы. Ну пересчет можно ускорить если порции выбирать по "ключевым" измерениям входящим в индекс, а не просто как попало |
|||
25
kiruha
23.04.14
✎
17:02
|
например по одной организации
|
|||
26
Aleksey
23.04.14
✎
17:02
|
я точно не помню но толи они оптимизировали запись большого набора данных в ущерб маленьких, толи наоборот маленькие пишут быстро, а вот большой набор - тормозит. Но помоему всё таки первый вариант
|
|||
27
Eugene_life
23.04.14
✎
17:02
|
(24) у меня тоже "роятся" идеи оптимизировать как-то таблицу, которая пишется. Но оптимизировать порции не вижу смысла, а целая таблица занимает > 3 Гб в оперативке. тоже ворочается еле-еле.
|
|||
28
Eugene_life
23.04.14
✎
17:04
|
(24)+ Документ проводится как раз в 90% случаев "задним числом" - в прошлом месяце.
|
|||
29
Господин ПЖ
23.04.14
✎
17:08
|
>просто поскольку запись в обработке проведения - то и так и сяк это на сервере идет.
у "пациентов" на упп падал клиент... документ успешно записывался только на 64 серваке, клиент отъедал 3,5 гб. |
|||
30
Господин ПЖ
23.04.14
✎
17:09
|
(29) + соответственно на компе буха с 32бит все падало, документ проводили на сервере через RDP
|
|||
31
Зойч
23.04.14
✎
17:09
|
может попробовать итоги сдвинуть до документа, заблокировать весь регистр бухгалтерии доолнительно
|
|||
32
Eugene_life
23.04.14
✎
17:10
|
(29) Я, чтобы уберечься от нехватки памяти, захожу клиентом на сам сервер (где и Сервер 1С, и SQL) - и запускаю оттуда. Там 32 Гб оперативки, с памятью все нормально хотя бы. Но, вероятно, придется искать возможность ставить 64x сервер.
|
|||
33
Господин ПЖ
23.04.14
✎
17:11
|
(30) + сервер 1с был 32...
самое смешное - франь (он же вендор решения) сразу начал бубнить пациентам что надо срочно купить сервер 1с на 64 |
|||
34
Eugene_life
23.04.14
✎
17:11
|
(31) документ-то проведется быстро, но итоги потом будут считаться вечность :(
|
|||
35
Eugene_life
23.04.14
✎
17:12
|
(33) я вот тоже сомневаюсь, что это решит ситуацию. Потратить деньги легко. Но с меня же трясти будут результат.
|
|||
36
Господин ПЖ
23.04.14
✎
17:12
|
(32) ты читаешь плохо... если написано через анус сервер не спасет...
|
|||
37
Aleksey
23.04.14
✎
17:15
|
(35) поставь эмуль протиестируй, и прими решение
|
|||
38
Eugene_life
23.04.14
✎
17:16
|
(36) Я понимаю еще скорость чтения - она может зависеть от оптимальности запроса и т.п. Но скорость записи-то готовой таблицы.. как она может зависеть от "криворукости"?
|
|||
39
Eugene_life
23.04.14
✎
17:16
|
(37) эмуль не работает с 64
|
|||
40
ДенисЧ
23.04.14
✎
17:17
|
(39) оппа....
|
|||
41
Господин ПЖ
23.04.14
✎
17:18
|
(39) "хороший" работает
|
|||
42
Зойч
23.04.14
✎
17:18
|
(34) итоги передвигать по ночам
|
|||
43
kiruha
23.04.14
✎
17:20
|
А там журнал транзакций и прочее надеюсь по разным дискам в рейде ?
|
|||
44
Господин ПЖ
23.04.14
✎
17:21
|
какой процесс падает? клиент или rphost?
|
|||
45
Eugene_life
23.04.14
✎
17:25
|
(44) rphost
|
|||
46
Eugene_life
23.04.14
✎
17:26
|
(43) нет, все на одном диске. ОС отдельно стоит, а все касательно баз - на одном.
|
|||
47
Eugene_life
23.04.14
✎
17:26
|
(42) а днем как оборотку смотреть?
|
|||
48
Eugene_life
23.04.14
✎
17:27
|
(49),(41) пожалуй, не стоит эту тему тут развивать :)
|
|||
49
Зойч
23.04.14
✎
17:27
|
(42) не отключение итогов, а период рассчитанных итогов
|
|||
50
Eugene_life
23.04.14
✎
17:29
|
(49) Я тут, конечно, не спец. Но мне кажется, что первый же проведенный документ сдвинет эти итоги обратно.
|
|||
51
Господин ПЖ
23.04.14
✎
17:47
|
а сама винда на сервере какая? 64?
можно попробовать еще процессов наплодить рабочих, чтобы все "в одну лунку не совали" |
|||
52
kiruha
23.04.14
✎
17:51
|
||||
53
Eugene_life
23.04.14
✎
17:51
|
(51) Винда 64, процессов я "наплодил" 4. Сейчас посмотрю, что будет при записи транзакциями по 20 тыс записей. Может, и результат будет нормальный
|
|||
54
kiruha
23.04.14
✎
17:51
|
Там 452 плюса
|
|||
55
Eugene_life
23.04.14
✎
17:53
|
(52) Спасибо тебе, добрый человек. Попробую настроить - у меня немного иначе сейчас выставлено.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |