Очень долгое тестирование и исправление

1. Supergun 01.10.21 12:18 Сейчас в теме
Здравствуйте,

УТ 11 Последняя полностью типовая
Postgresql
Организация занимается оптовой продажей сигарет.

Вопрос такой почему тестирование и исправление базы занимает больше 6 дней.
Больше всего времени тратит на проверку логической целостности Штрихкодов и упаковок.

Как быть? что делать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dem0 01.10.21 12:33 Сейчас в теме
(1)
логической

Доброго! А что по размерам таблиц?
Встречал я разные глюки с Постгре.
У нас доходило до того, что файловая копия базы в некоторых моментах до 20 раз быстрее работала, чем ее серверная копия на постгре.
Но тут у нас просто админы не могли нормально настроить
3. Supergun 01.10.21 12:44 Сейчас в теме
(2)
И в файловой и в sql такая проблема. Сейчас бэкап разверну у себя и скажу размеры таблиц
13. gybson 01.10.21 13:49 Сейчас в теме
(5)так какие движения не делаются?
(2)сигареты это маркировка, соответственно справочник ооооооооооооооооооооочень большой должен быть
17. Supergun 01.10.21 13:51 Сейчас в теме
(13) Да справочник большой, т.к. Приемка и отгрузка марок сигарет. А там коробки блоки пачки.
4. Dem0 01.10.21 13:17 Сейчас в теме
Базу на ССД или еще лучше в рам-диск!
В рам диске попробуйте выполнить эту противоречивую операцию =)
Выгрузить в ДТ, создать чистую базу и загрузить из ДТ-шника я так понимаю уже пробовали?
5. Supergun 01.10.21 13:33 Сейчас в теме
(4)
База на ссд, в раме таже история, выгрузить и загрузить в чистую таже история.
Я даже больше скажу это не единственная база такая есть еще похожие и все связаны с сигаретами и вся проблема в справочнике ШтрихкодыУпаковокТоваров
6. Supergun 01.10.21 13:33 Сейчас в теме
Размеры
7. Supergun 01.10.21 13:35 Сейчас в теме
Надеюсь размеры таблиц эти нужны были для ознакомления. от большего к меньшему. Все не стал копировать.
8. Supergun 01.10.21 13:38 Сейчас в теме
Параметры моего пк i5-11600k, nvme ssd
9. nomad_irk 76 01.10.21 13:40 Сейчас в теме
(8)Постгря под виндой?
Конфиг постгри показывайте.
10. Supergun 01.10.21 13:42 Сейчас в теме
(9) Винда 10 со всеми обновами.
Файл конфиг прикрепил ниже.
Прикрепленные файлы:
postgresql.conf
11. Supergun 01.10.21 13:45 Сейчас в теме
Сейчас разбираюсь с проблемой под последней платформой 8.3.19.1264
12. Dem0 01.10.21 13:49 Сейчас в теме
Справочник "ШтрихкодыУпаковокТоваров" - это и есть та самая верхняя таблица
_reference23920 которая 1608 MB?
14. Supergun 01.10.21 13:50 Сейчас в теме
15. Dem0 01.10.21 13:51 Сейчас в теме
(14)
получитьструктурухранениябазыданных(); в отладке выполните - получите ТЗ.
16. Dem0 01.10.21 13:51 Сейчас в теме
ну или визуально - выбрать первые 10 из ....
18. Supergun 01.10.21 14:03 Сейчас в теме
(16)
Скрытый текст
19. пользователь 01.10.21 14:04
Сообщение было скрыто модератором.
...
20. Supergun 01.10.21 14:05 Сейчас в теме
Да получается первая таблица.
21. nomad_irk 76 01.10.21 14:40 Сейчас в теме
(20)сколько записей в таблице? при проверке ссылочной целостности проверяются все остальные объекты, использующие записи проверяемой таблицы по ссылкам
22. Supergun 01.10.21 15:28 Сейчас в теме
(21)
Постояло подсчитало 3 534 364 записи

Второй вопрос не понял. Ставлю полное тестирование и исправление, все галки.
23. nomad_irk 76 01.10.21 15:37 Сейчас в теме
(22)Это не вопрос, а утверждение.
3.5М записей нужно проверить с учетом их использования в других таблицах - это явно не быстро.
24. Supergun 01.10.21 15:42 Сейчас в теме
(23)
Понятно. Значит ускорить не получится, без обрезки таблицы?
33. nomad_irk 76 01.10.21 16:04 Сейчас в теме
(24)если вы уже используете ссд диски и процессор от 3,5ГГЦ, думаю, да.
35. Supergun 01.10.21 16:08 Сейчас в теме
(33)

Да похоже так и есть, либо с обновлением что нибудь поправят в УТ с хранением такого типа данных. Я думаю проблема не только у меня а у всех кто работает с сигаретами
36. nomad_irk 76 01.10.21 16:11 Сейчас в теме
(35)проблема тогда у всех, кто работает с акцизными товарами.

1с ничего не придумает в УТ нового, даже разбитие справочника на отдельно справочник под ШК товара, под ШК акциза - не сильно спасет ситуацию.

Я не знаю, по какой причине ШК запихали в справочник, почему нельзя было использовать для этого РегистрСведений.
66. gybson 04.10.21 14:23 Сейчас в теме
(36)по той же, что и номера ГТД, ссылка нужна в документах и регистрах
67. nomad_irk 76 04.10.21 15:13 Сейчас в теме
(66)значит, только чистка справочника от неиспользуемых ШК спасет ситуацию
68. gybson 05.10.21 10:07 Сейчас в теме
(67)его чистить тоже долго. переименовать таблицу, сделать проверку, вернуть таблицу
69. Supergun 05.10.21 10:39 Сейчас в теме
(68)
Обработкой не долго, можно партиями очищать, ночами и т.д. короче легко.

Там надо просто все реализованные грохнуть.
70. nomad_irk 76 05.10.21 11:23 Сейчас в теме
(69)поставьте на регламент очистку справочника.
71. gybson 05.10.21 23:05 Сейчас в теме
(69)В случае с одеждой они все торчат в ТЧ документов реализации, в случае с табаком разве не так?
25. dehro 5 01.10.21 15:43 Сейчас в теме
(22) Там по факту 3 таблицы:
Справочник.ШтрихкодыУпаковокТоваров, Имя таблицы хранения: Reference23920

Справочник.ШтрихкодыУпаковокТоваров.ВложенныеТовары, Имя таблицы хранения: Reference23920.VT24136, Назначение: ТабличнаяЧасть

Справочник.ШтрихкодыУпаковокТоваров.ВложенныеШтрихкоды, Имя таблицы хранения: Reference23920.VT24144, Назначение: ТабличнаяЧасть

Но у второй "ВложенныеШтрихкоды" вроде нет ссылочных элементов.

Такой запрос сможешь в консоли выполнить?


Выбрать 
      Сумма(1) КАК Шапки, 
      0 КАК Линии
из Справочник.ШтрихкодыУпаковокТоваров

объединить все 

выбрать 
0, 
Сумма(1)
из Справочник.ШтрихкодыУпаковокТоваров.ВложенныеТовары

Показать
26. Sashares 35 01.10.21 15:44 Сейчас в теме
(25)Количество, для получения количества записей лучше использовать Количество, а не Сумма.
nomad_irk; +1 Ответить
28. dehro 5 01.10.21 15:46 Сейчас в теме
(26) Почему? Я же не получаю данных.
31. Sashares 35 01.10.21 15:51 Сейчас в теме
(28)
При вычислении количества записей на языке запросов следует всегда использовать функцию КОЛИЧЕСТВО, а не СУММА. В противном случае, при количестве записей 10 млн. и более произойдет переполнение, что связано с разрядностью числа по умолчанию (7 разрядов), используемого в СУБД платформой 1С:Предприятие.
Неправильно:
СУММА(1)
ЕСТЬNULL(СУММА(1), 0)
Правильно:
КОЛИЧЕСТВО(*)
КОЛИЧЕСТВО(<Поле>)
nomad_irk; +1 Ответить
34. dehro 5 01.10.21 16:08 Сейчас в теме
(31)
При вычислении количества записей на языке запросов следует всегда использовать функцию КОЛИЧЕСТВО, а не СУММА. В противном случае, при количестве записей 10 млн. и более произойдет переполнение, что связано с разрядностью числа по умолчанию (7 разрядов), используемого в СУБД платформой 1С:Предприятие.


А источник не можете указать? Просто интересно почитать.

Тут нет такой проблемы: https://its.1c.ru/db/metod8dev/content/2665/hdoc
44. Sashares 35 01.10.21 17:01 Сейчас в теме
(34)Про это там есть, просто не явно описано.
Как ссылку найду, приложу.
Прикрепленные файлы:
74. dehro 5 08.10.21 14:33 Сейчас в теме
27. Supergun 01.10.21 15:46 Сейчас в теме
29. dehro 5 01.10.21 15:48 Сейчас в теме
(27) Там два числа должно быть.
30. Supergun 01.10.21 15:49 Сейчас в теме
(29)
Прикрепленные файлы:
32. Supergun 01.10.21 16:03 Сейчас в теме
(29)
Выбрать 
      Сумма(1) КАК Шапки, 
      0 КАК Линии
из Справочник.ШтрихкодыУпаковокТоваров

объединить все 
выбрать 
0,Сумма(1)
из Справочник.ШтрихкодыУпаковокТоваров.ВложенныеШтрихкоды
Показать


Может это интересовало?
Прикрепленные файлы:
37. XAKEP 01.10.21 16:17 Сейчас в теме
у вас сколько пользователей работает

на постгрес и 1с одновременно - до 100 или от 100
38. Supergun 01.10.21 16:18 Сейчас в теме
39. XAKEP 01.10.21 16:32 Сейчас в теме
(38)
max_connections = 500 ?

https://postgresqlco.nf/doc/ru/param/logging_collector/

work_mem = увеличить

автовакуум включить

подправить немного конфигурацию постгреса
41. Supergun 01.10.21 16:35 Сейчас в теме
Поднастроил эти параметры
40. XAKEP 01.10.21 16:34 Сейчас в теме
Организация занимается оптовой продажей сигарет.

Вопрос такой почему тестирование и исправление базы занимает больше 6 дней.


отключите все фоновые и регламентированные задания и при отключенном интернете попробуйте в файловой базе
42. Supergun 01.10.21 16:37 Сейчас в теме
(40)

Тестировалось с отключенными фоновыми и в sql и файловом. Без инета думаю сильно смысл не поменяется.
43. XAKEP 01.10.21 16:47 Сейчас в теме
(42)
тогда в несколько этапов попробуйте
с установкой разных режимов
Прикрепленные файлы:
48. Supergun 02.10.21 08:36 Сейчас в теме
(43)
Проблема в медлительности именно в этих 2 галочках.
Если сделать отдельно только с первой галочкой(Проверка логической целостности), то тест проходит быстро.

Проблема изза второй галочки (проверка ссылочной целостности)
Прикрепленные файлы:
49. XAKEP 02.10.21 08:42 Сейчас в теме
(48)
(проверка ссылочной целостности)
Прикрепленные файлы:


сами разработчики при активации этой проверки переводят ее в безопасный режим,

устанавливая действие Не изменять,

вы посмотрите , что есть в режиме информирования - может сцылок -то 105000000000 :)
50. Supergun 02.10.21 08:43 Сейчас в теме
(49)
режиме информирования
Это где?
53. XAKEP 02.10.21 08:50 Сейчас в теме
(50)
вот здесь :)

до текста : Тестирование закончено
Прикрепленные файлы:
54. Supergun 02.10.21 08:51 Сейчас в теме
(53)
Да тут пока ничего не пишет
55. Supergun 02.10.21 08:55 Сейчас в теме
(53) В безопасном скорость не увеличивается. Только не меняет ничего)
56. Supergun 02.10.21 09:02 Сейчас в теме
(53)
А и после тестирования до этого не было проблем с ссылками ошибок не выдавал.
Играюсь с этой же базой копией у себя.
58. Supergun 02.10.21 13:58 Сейчас в теме
(57)
По ссылке выгрузка загрузка не решает проблемы, сейчас проверяю на mssql сервере есть ли разница , достаточно 20 процентов прохождения чтоб подсчитать разницу. Жду)
59. XAKEP 02.10.21 14:06 Сейчас в теме
(58)
там журналы и базу желательно на разные диски,+ tempdb минимум на ssd
60. XAKEP 02.10.21 15:03 Сейчас в теме
61. Supergun 02.10.21 15:15 Сейчас в теме
(60)
Пока даже 10 процентов нету. Ждемс) думаю ничего не поменяется и будет по времени также.
62. XAKEP 02.10.21 15:17 Сейчас в теме
63. Supergun 02.10.21 15:26 Сейчас в теме
64. XAKEP 03.10.21 17:24 Сейчас в теме
65. Supergun 04.10.21 03:11 Сейчас в теме
(64)
Как и ожидалось разница не существенна.
Надо пытаться обрезать использованные марки.
45. testerpro1 01.10.21 21:42 Сейчас в теме
Надо указывать версию потсгреса, судя по тому что jit = on то это 12 postgres и выше, его кстати лучше в off установить.

from_collapse_limit = 8
join_collapse_limit = 6

max_connections хватит 350 с головой, temp buffers вернуть по умолчанию 8 MB под виндой чем больше значение тем меньше скорость работы с временными таблицами.

row_security = off
synchronous_commit = off

Ну и я надеюсь 1с и постгрес добавлен в исключения как для встроенного антивируса так и для стороннего если он есть. И стоп старт службы постгреса, после изменений конфига, не забываем делать.
46. Supergun 02.10.21 07:04 Сейчас в теме
(45) postgresql_13.3_2.1C_x64
Все настроил как посоветовали, проверяю.
51. XAKEP 02.10.21 08:44 Сейчас в теме
(45)
если в файловой тормозит ТИИС - то проблема точно в конфигурации
52. Supergun 02.10.21 08:48 Сейчас в теме
(51)
если в файловой тормозит ТИИС - то проблема точно в конфигурации


Да это 100% в конфигурации дело.

Но удивительно жалоб я не могу нагуглить.
Это же с каждой коробкой = 50блоков = 1000 пачек столько записей марок делается.
47. Supergun 02.10.21 08:32 Сейчас в теме
Разница не заметна после этих настроек. Также продолжает долго проверять логическу целостность ШтрихкодыУпаковокТоваров.
Где то 20% проверки за 12 часов.

Спецом даже проц разогнал на 5.1Ггц думаю скорости не увижу.
А там еще есть долгая проверка уже реализаций.

Вот и выходит тестирование где то с неделю. И с каждым месяцем работы в базе думаю будет еще дольше.
72. Fox-trot 160 06.10.21 02:04 Сейчас в теме
(47) надо индексов добавить, а потом можно и удалить если не понравится
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот