Пересечение транзакций. Примеры

Публикация № 896719

Администрирование - Производительность и оптимизация (HighLoad)

Рассматривается пересечение транзакций типа чтение-запись над одним элементом справочника при разных уровнях изоляции.

Рассмотрим две пересекающихся во времени исполнения транзакции, которые читают и затем записывают элемент справочника. Обозначим операции первой транзакции большими буквами RWO, операции второй транзакции – малыми буквами rwo. Используем буквы от операций Read, Write, cOmmit или rOllback. Команду «НачатьТранзакцию» нет смысла отслеживать, поскольку создание Snapshot, блокировка данных и прочие значимые события происходят при первом обращении к данным.

Формально, все возможные варианты запуска операторов по времени:

RrwWOo

 RrwWoO

 RrwoWO

RrWwoO

 RrWwOo

 RrWOwo

RWrwoO

 RWrwOo

 RWrOwo

Однако не все из них могут быть выполнены. Последовательность выполнения изменяется блокировками. Поэтому порядок выполнения чтения/записи будет отличаться от порядка запуска операторов.

1. В режиме автоматических блокировок Repetable Read

чтение устанавливает разделяемую блокировку СУБД до конца транзакции (название обязывает), запись устанавливает исключительную блокировку до конца транзакции.

  • При запуске в последовательности (RrwWOo, RrwWoO, RrwoWO) выйдет сообщение СУБД о взаимоблокировке из-за повышения уровня блокировки в этих двух транзакциях. Откатится транзакция, которая попытается записать первой. Порядок выполнения будет RrwoWO.
  • При запуске в последовательности (RrWwoO, RrWwOo, RrWOwo) выйдет сообщение СУБД о взаимоблокировке из-за повышения уровня блокировки в этих двух транзакциях. Откатится транзакция, которая попытается записать первой. Порядок выполнения будет RrWOwo.
  • При запуске в последовательности (RWrwoO, RWrwOo, RWrOwo) порядок выполнения будет RWOrwo. Запись завершится успешно.

2. В режиме управляемых блокировок, совместимость 8.2

при записи устанавливается управляемая исключительная блокировка до конца транзакции, при чтении управляемая блокировка не устанавливается.

2.1 Если СУБД MS SQL, уровень изоляции RC.

Исключительные блокировки возникают при записи, и разделяемые при чтении (только на момент чтения).

  • При запуске в последовательности (RrwWOo, RrwWoO, RrwoWO) порядок выполнения будет RrwoWO. Откатится транзакция, которая попытается записать второй. Сообщение платформы: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
  • При запуске в последовательности (RrWwoO, RrWwOo, RrWOwo) порядок выполнения будет RrWOwo. Откатится транзакция, которая попытается записать второй. Сообщение платформы: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
  • При запуске в последовательности (RWrwoO, RWrwOo, RWrOwo) порядок выполнения будет RWOrwo. Запись завершится успешно.

3. В режиме управляемых блокировок, совместимость 8.3

при записи устанавливается управляемая исключительная блокировка до конца транзакции, при чтении управляемая блокировка не устанавливается.

3.1 Если СУБД MS SQL 2008 и выше, уровень изоляции RCSI.

Исключительные блокировки возникают при записи, при чтении блокировок не возникает. Поэтому после записи и установки исключительной управляемой блокировки чтение может происходить.

  • При запуске в последовательности (RrwWOo, RrwWoO, RrwoWO) порядок выполнения будет RrwoWO.
  • При запуске в последовательности (RrWwoO, RrWwOo, RrWOwo) порядок выполнения будет RrWOwo.
  • При запуске в последовательности (RWrwoO, RWrwOo, RWrOwo) порядок выполнения будет RWrOwo.

В каждом случае платформа покажет ошибку: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!

Это связано с тем, что вторая транзакция прочитает данные по состоянию на начало первой транзакции, незафиксированные (nocomitted) действия первой транзакции ей не доступны. В момент записи происходит повторное чтение, сравнивается версия объекта. Платформа обнаруживает, что версия не соответствует и запускает откат транзакции. Если бы мы работали не с объектным типом данных, а с регистром сведений у которого нет поля версии, то проверка версии перед записью была невозможна. Может поэтому для метода Прочитать() регистра сведений предусмотрены разделяемые управляемые блокировки.

Для проверки написал обработку, которая запускает операторы чтения/записи по расписанию

 
 фрагменты кода обработки

Слайды для пункта 1

В тексте видно уровень изоляции Repeatable Read.Первая транзакция запущена в сеансе 54, вторая транзакция запущена в сеансе 57. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RrwWOo – указана в строке 12:20:51.

После чтения в строках 12:20:51 и 12:20:53 обе транзакции установили на справочник разделяемые блокировки. Поэтому запись в строке 12:20:55 завершиться не может, происходит deadlock.

В 12:20:59 выходит ошибка: Конфликт блокировок при выполнении транзакции: Microsoft SQL Server Native Client 11.0: Транзакция (идентификатор процесса 57) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно. Вторая транзакция завершается rollback, первая транзакция устанавливает блокировку, производит запись и commit. Фактический порядок выполнения RrwoWO.

В тексте видно уровень изоляции Repeatable Read.Первая транзакция запущена в сеансе 57, вторая транзакция запущена в сеансе 54. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RWrwoO – указана в строке 12:39:43. После записи в строке 12:39:45 транзакция установила на справочник исключительную блокировку. Поэтому вторая транзакция смогла установить блокировку и начать работать только в 12:39:53 после ожидания 6 секунд. Фактический порядок выполнения RWOrwo.

Слайды для пункта 2.1

В тексте видно уровень изоляции Read Commited. Первая транзакция запущена в сеансе 54, вторая транзакция запущена в сеансе 56. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RrwWOo – указана в строке 13:20:25.

Транзакция, которая первой произведет запись и установит блокировку, будет commit, транзакция, которая попытается записать позже будет rollback: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)! Фактический порядок исполнения RrwoWO.

В тексте видно уровень изоляции Read Commited. Первая транзакция запущена в сеансе 56, вторая транзакция запущена в сеансе 54. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RWrwOo – указана в строке 14:49:52.

Вторая транзакция должна прочитать в 14:49:56, но из-за исключительной блокировки вынуждена дожидаться окончания первой. Фактический порядок исполнения RWOrwo.

Слайды для пун кта 3.1

Первая транзакция запущена в сеансе 55, вторая транзакция запущена в сеансе 58. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RWrwOo – указана в строке 10:18:25.

В 10:18:31 должна была выполниться запись. Но блокировка передвинула запись после commit, 10:18:33. В результате получилась последовательность RWrOwo. Вторая транзакция rollback.

Первая транзакция запущена в сеансе 55, вторая транзакция запущена в сеансе 58. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RrWwoO – указана в строке 10:16:19.

В 10:16:25 должна была выполниться запись. Но блокировка передвинула запись после commit, 10:16:29. В результате получилась последовательность RrWOwo. Вторая транзакция rollback.

Первая транзакция запущена в сеансе 58, вторая транзакция запущена в сеансе 55. Операторы запускаются равномерно каждые 2 секунды. Последовательность запуска RrwWoO – указана в строке  10:13:25.

В 10:13:31 должна была выполниться запись. Но блокировка передвинула запись после commit, 10:13:33. В результате получилась последовательность RrwoWO. Первая транзакция rollback.

Заключение.

Мы рассмотрели основные варианты поведения программы 1С и СУБД MS SQL при пересечении транзакций. В случае, если статья наберет больше 50 звездочек, добавлю информацию Postgres. Ниже первый вариант статьи. Для читабельности и простоты пришлось отказаться от многого. Основная картинка к статье - изолятор штыревой. Игра слов с "уровень изоляции транзакции".

 
 Тысячи тонн словесной руды

 

Скачать файлы

Наименование Файл Версия Размер
Пересечение транзакций. Примеры:

.dt 78,31Kb
03.09.18
0
.dt 78,31Kb Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. nvv1970 04.09.18 07:41 Сейчас в теме
Вот это жесть.
Rwrwowororowwwrwrwrw - вообще не читабельно.
Если честно, то такой ерундой я занимался после первого прочтения книжки Филиппова. Это не знания. Это метод тыка. Какую-то задачу в понимании блокировок он решает, но до конца понять а почему всё-таки так - не получится.
Знания по блокировкам должны быть четкими, простыми, и в первую очередь теоретическими. А практика должна подтверждать эти знания, а опыт должен разбираться на теории.
Пока мне показалось, что понимания у вас маловато. Может показалось.

По статье. Она с мутными и непонятным обозначениями. А разобранные примеры не несут никакой пользы.
2. vasilev2015 1831 04.09.18 09:14 Сейчас в теме
(1) Здравствуйте !

Все началось с просмотра ролика postgres. Там были примеры по пересекающимся транзакциям в СУБД. Лектор сразу предупредил, что это не читабельно и жесть. По факту это часть документации СУБД и стандарт отрасли. Блокировки и изоляции пригодятся на экзамене, поэтому я захотел разобраться, чтобы не говорить общими словами, что при повышении уровня изоляции возможны deadlock. Предполагается, что читатель уже знает, чем отличаются изоляции RR, RC, RCSI. Думаете нужна была еще одна теоретическая статья про уровни изоляции и блокировки ?
3. nvv1970 04.09.18 10:22 Сейчас в теме
(2) нет, еще одна не нужна. Но какие нибудь выступления Пилюгина по MSSQL делают эту тему более понятной, чем курсы Богачева и экзамен эксперта.
4. vasilev2015 1831 04.09.18 10:37 Сейчас в теме
(3) Виктор Богачев - хороший человек, я бы писал его фамилию с большой буквы. В остальном, спасибо за рецензию. )))
5. nvv1970 04.09.18 10:38 Сейчас в теме
(4) Прошу прощения )) С вашим мнением согласен ))
Оставьте свое сообщение

См. также

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2 Промо

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    13337    41    Indgo    106    

Простая параллельная обработка данных

Производительность и оптимизация (HighLoad) Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Предлагаю способ быстрой параллельной обработки "неких" данных. Методика проста как дважды два. Предварительно подготовленная обработка запускается вручную в нескольких сеансах, и каждый сеанс занимается обработкой своей части (случайного диапазона). Может пригодиться для ускоренной обработки данных. К примеру, необходимо заполнить реквизит большого справочника, заполнение в один поток идёт долго, а сроки поджимают.

1 стартмани

10.02.2020    2902    1    Amadeus007    8    

Zabbix: Мониторинг рабочих процессов

Zabbix v8 1cv8.cf Абонемент ($m)

Мониторинг памяти, потребляемой рабочими процессами, средствами Zabbix. Создание пользовательских LLD правил с помощью One Script

1 стартмани

07.02.2020    3656    2    EShchavleva    6    

Транслятор запросов 1С в SQL

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.

10 стартмани

07.01.2020    10498    78    YPermitin    89    

Многопоточная обработка данных Промо

Производительность и оптимизация (HighLoad) Администрирование данных 1С v8 v8::УФ 1cv8.cf Абонемент ($m)

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    18447    53    _ASZ_    15    

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Администрирование СУБД Нагрузочное тестирование Сервера v8 1cv8.cf Абонемент ($m)

Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.

3 стартмани

17.12.2019    9968    10    sapervodichka    3    

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Администрирование СУБД Производительность и оптимизация (HighLoad) Администрирование данных 1С Структура метаданных v8 Абонемент ($m)

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019    10162    36    akpaevj    46    

Мониторинг количества использованных программных лицензий, выданных выделенным сервером лицензирования

Zabbix v8 Абонемент ($m)

Следим за утилизацией программных клиентских лицензий на выделенном сервере лицензирования в разрезе кластеров 1С Предприятия, в состав которых включен данный сервер лицензирования

1 стартмани

22.11.2019    3330    2    Sloth    4    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    47473    15    DarkAn    86    

Быстрая реструктуризация базы данных

Производительность и оптимизация (HighLoad) Конфигурирование 1С v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных. Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры. Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

1 стартмани

05.11.2019    11923    42    dmitrydemenew    36    

Влияние БСП на производительность базы 1С с добавленными метаданными

Производительность и оптимизация (HighLoad) Адаптация типовых решений БСП (Библиотека стандартных подсистем) v8 УТ11 Абонемент ($m)

Повод для статьи — заметное снижение быстродействия при переводе учета с УТ 11.1 на 11.4 по «нашим» не стандартным метаданным (регламенты работы с массовым заполнением/проведением документов/регистров). Предварительно причину увидел во влиянии БСП. Была создана тестовая подсистема, быстродействие которой оцениваем в демобазе "Управление торговлей". С включенными и выключенными подписками БСП.

5 стартмани

04.11.2019    6101    2    VsHome    1    

Кто круче: "ИЛИ" или "ОБЪЕДИНИТЬ ВСЕ" в запросе?

Производительность и оптимизация (HighLoad) v8 v8::СПР v8::Запросы ЗУП2.5 Абонемент ($m)

Реальный пример оптимизации запроса. Статья будет полезна людям, изучающим вопросы оптимизации запросов в 1С и для подготовки к экзамену "1С: Эксперт по технологическим вопросам", поскольку в статье описывается один их методов расследования причин неоптимальных запросов. UPD. Коллеги в комментариях заметили ошибку, она была исправлена и сейчас выложены данные с корректным решением.

1 стартмани

14.09.2019    5169    0    azazana    28    

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    26634    24    ZLENKO    14    

Оптимизация прав ролей

Производительность и оптимизация (HighLoad) Роли и права v8::УФ v8::Права 1cv8.cf Россия Абонемент ($m)

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    7342    5    toxilamer    11    

Количество баз 1С как счетчик в Zabbix

Статистика базы данных Zabbix v8 1cv8.cf Абонемент ($m)

Делаем счётчик баз 1С в Zabbix.

1 стартмани

26.08.2019    5181    0    MrWonder    7    

Менеджер потоков: реализация "любой" задачи в потоках

Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 Абонемент ($m)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    8895    0    DarkAn    6    

Многопоточное тестирование производительности сервера 1С - СУБД Промо

Сервисные утилиты Статистика базы данных Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Тест для оценки производительности связки сервер 1с - сервер СУБД в различных вариантах, а также масштабируемости этой связки в режиме многопоточной работы.

1 стартмани

12.02.2013    81832    277    Fragster    179    

Бухгалтерия 3.0: медленная работа при загрузке данных контрагента по ИНН

Производительность и оптимизация (HighLoad) v8 v8::БУ БП3.0 Россия Абонемент ($m)

Поиск и исправление медленной загрузки контрагентов по ИНН в Бухгалтерия 3.0.71.75.

1 стартмани

10.07.2019    4234    3    MaxxiMiliSan    3    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    10332    2    azazana    79    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    8691    12    ivanov660    28    

Многопоточный МикроСервер для файловой базы управляемого приложения 1c Промо

Сервисные утилиты Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

МикроСервер УПФ - это промежуточный сервер, который принимает запросы от тонких клиентов и веб-клиентов управляемого приложения 1с и распределяет их между автоматически созданными процессами веб-сервера. Решение позволяет решить проблему однопоточности файловой компоненты модуля веб-сервера 1с и повысить скорость многопользовательской работы.

1 стартмани

19.12.2013    37048    48    Chai Nic    57    

Исправление долгого запуска БП 3.0.70 по причине большого количества платежек

Производительность и оптимизация (HighLoad) v8 v8::БУ БП3.0 Россия Абонемент ($m)

Обработка исправления долгого запуска БП 3.0.70 по причине большого количества платежек.

1 стартмани

18.04.2019    4582    7    a_v_u    1    

Взаимодействие при редактировании одних и тех же данных [Расширение] УТ11

Производительность и оптимизация (HighLoad) v8 УТ11 Россия Абонемент ($m)

Расширение позволяет взаимодействовать между пользователями в тех случаях, когда они пытаются редактировать одни и те же данные. Теперь пользователи могут согласовать между собой последовательность своих действий, а при необходимости – освободить данные, занятые другим пользователем.

2 стартмани

14.04.2019    4834    2    noprogrammer    1    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    22046    16    dmitrydemenew    83    

Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3 Промо

Производительность и оптимизация (HighLoad) Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Каждый программист 1С хотя бы раз задумывался над тем, как уменьшить в разы трудозатраты на обновления переписанных конфигураций. Как не забыть добавить некий код, команду, кнопку в форму типовой конфигурации, изменить стандартный обработчик события формы – этот список можно продолжать до бесконечности. В этой статье изложен метод для управляемых форм, который позволяет реализовать эту возможность.

1 стартмани

10.02.2013    53038    27    pbazeliuk    40    

Исправление ЦУП 2.1.2

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Расширение для конфигурации Центр управления производительностью, редакция 2.1 (2.1.2.11), которое позволяет настроить регламентный мониторинг. Работает на платформе 1С:Предприятие 8.3 (8.3.13.1644).

2 стартмани

21.01.2019    4862    5    Neco    0    

Многопоточное тестирование производительности по методике APDEX (управляемые формы)

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Каждый у кого нет сервера, мечтает его купить, а те, у кого сервер есть, мечтают, чтобы он был быстрее. Но деньги на сервер выделяет руководство...

10 стартмани

09.01.2019    7594    11    capitan    24    

Заметочки про 1С:Предприятие 8 (редакция 22.06.2012) Промо

Производительность и оптимизация (HighLoad) Практика программирования v8 1cv8.cf Россия Абонемент ($m)

За время программирования на 8.х, накопилось пока немного материала, но как мне кажется очень интересного. Появились простые решения, которые в более сложной реализации встречаются в типовых конфигурациях и в некоторых публикациях на Infostart'е. Собственно в статье речь пойдет об этих решениях.

1 стартмани

01.06.2010    176746    46    alexk-is    413    

Решение проблемы быстродействия в ERP на рабочем примере

Производительность и оптимизация (HighLoad) v8 ERP2 Абонемент ($m)

Рассмотрим практический пример оптимизации, определим последовательность действий и воспользуемся специализированными инструментами.

3 стартмани

18.12.2018    15506    102    ivanov660    17    

Короткое нагрузочное тестирование PostgreSQL простыми запросами

Производительность и оптимизация (HighLoad) v8::УФ Абонемент ($m)

Короткое нагрузочное тестирование PostgreSQL простыми запросами. Прилагаются результаты в файлах pgBadger и perfmon.

1 стартмани

10.12.2018    10417    1    vasilev2015    22    

PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера

Производительность и оптимизация (HighLoad) Тестирование и исправление v8 1cv8.cf Россия Абонемент ($m)

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

1 стартмани

03.12.2018    26361    38    vsasav    68    

И снова о скорости работы 1с 8.х + тест от Гилева (конфигурация TPС_1C_GILV_A) + как Выбрать сервер для 1С 8.х Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Предыстория: Есть в конторе, где я работаю, пара практически ОДИНАКОВЫХ по железу сервера... так вот заметили что на одном из них 1С 8.2 работает значительно быстрей что в Клиент-Серверном, что в файловом варианте... и что именно удивило так это что медленней работал сервер с большим количеством Оперативной памяти + RAID10 на SSD. Проводили много тестов на работу дисковой системы + различные тесты SQL - ВЫВОД: ничего непонятно где тормоза. И вот попала ко мне конфигурация 1С для оценки производительности 1С от Гилева http://infostart.ru/public/57204/ Подробности в Описании...

2 стартмани

13.08.2012    377620    185    sanfoto    2558    

Замер производительности. КА 2, УТ 11

Статистика базы данных Производительность и оптимизация (HighLoad) v8 УТ11 Абонемент ($m)

Отчет позволяет замерять на актуальных базах КА2 и УТ11 (в том числе на демо-базах) три параметра: время выборки данных, время передачи с клиента на сервер, время вывода данных. Тестировал на релизах КА 2.4.1.240 и УТ 11.4.5.32.

1 стартмани

22.11.2018    6738    5    FarFar    9    

Скорость работы 1С8 файловой по сети

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Как я увеличил скорость работы файловой 1С8 по сети, изменив формат БД и размер страницы.

1 стартмани

01.11.2018    26158    17    Vlx    55    

Мониторинг показателей систем 1С 8.3 с помощью Zabbix

Внешние источники данных Zabbix v8 1cv8.cf Абонемент ($m)

Опишу свой опыт мониторинга наших систем 1С с помощью Zabbix и ту пользу, которую можно извлечить из этого.

1 стартмани

05.10.2018    34685    49    akimych    48    

Ускоряем расчет себестоимости УПП Промо

Производительность и оптимизация (HighLoad) Закрытие периода Закрытие периода v8 УПП1 Россия БУ УУ Абонемент ($m)

Замер производительности показал, что при расчете себестоимости в моем случае очень много времени выполняется процедура РассчитатьСписаниеПоСредней() из общего модуля КорректировкаСтоимости. Простейшая оптимизация позволила значительно ускорить эту процедуру, что дало некоторую экономию времени при расчете себестоимости, а так же при корректировке стоимости списания товаров

1 стартмани

05.03.2013    34155    21    Антон Ширяев    46    

Очистка и обновление индекса полнотекстового поиска (регламентное задание)

Производительность и оптимизация (HighLoad) v8 УНФ ДО БП3.0 УТ11 УХ ЗУП3.x Россия Абонемент ($m)

Обработка-регламентное задание позволяет в автоматическом режиме очищать и обновлять индекс полнотекстового поиска. Это необходимо делать для устранения проблем производительности на крупных базах. Подключаем в доп.обработках, задаем расписание выполнения на выходные и радуемся :)

2 стартмани

14.09.2018    19156    74    Kyrales    6    

Монитор блокировок пользователей

Производительность и оптимизация (HighLoad) v8 v8::blocking 1cv8.cf Россия Абонемент ($m)

Анализ и автоматическое удаление блокировок

1 стартмани

17.08.2018    6364    14    Re:аниматор    7    

Нагрузочное тестирование. В дни проведения ЧМ по футболу.

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

Нагрузочное тестирование. Подготовка к экзамену 1С:Эксперт. По мотивам доклада Виктора Богачева Инфостарт Event 2014. В дни проведения ЧМ по футболу.

1 стартмани

24.06.2018    10235    4    vasilev2015    9    

Автоформатирование кода Промо

Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С v8 1cv8.cf Абонемент ($m)

Как часто приходится работать в режиме аврала, когда на оформление кода не хватает времени? И как лениво порой бывает, возвращаться к уже рабочему коду, что бы отформатировать его и привести в порядок. Данная обработка позволяет автоматически форматировать текст кода, в соответствии с настройками пользователя. Это позволит привести ваш код, как уже написанный так и будущий к единому оформлению.

1 стартмани

19.12.2012    38909    46    Sibars    57    

Ускорение отчета 'Контроль передвижений агентов (онлайн-карты)' от AgentPlus v1.5.2

Производительность и оптимизация (HighLoad) Рабочее место v8 1cv8.cf Украина Абонемент ($m)

У пользователей системы AgentPlus (Агент Плюс) отчет 'Контроль передвижений агентов (онлайн-карты)' v1.5.2 вызывает восторг и разочарование одновременно. Восторг – потому, что позволяет увидеть маршрут передвижения пользователя системы с привязкой к карте и дорогам, разочарование – от длительности построения отчета. Отчет по 45 точкам маршрута у меня строится больше минуты. Тестировалось на "Управление торговым Предприятием" 1.2.45.2.

1 стартмани

03.05.2018    5697    2    DiegoLidabo    0    

В «1С:ЗУП КОРП 3.1» тормоза (медленная работа) в журналах документов при использовании критериев отбора

Практика программирования Производительность и оптимизация (HighLoad) v8::Запросы ЗУП3.x Абонемент ($m)

Статья для тех, у кого: 1) используете RLS (ограничение доступа на уровне записей и полей), 2) много документов (более 100 тысяч в одном журнале), 3) используете «Журналы документов», 4) отборы в динамическом списке (по сотруднику). Скорее всего, Вы испытали на себе, как отбор происходит минутами (жутко тормозит) – тогда Вам сюда.

1 стартмани

04.01.2018    18244    0    Nykyanen    3    

Оптимистические уровни изоляции в MS SQL Server

Администрирование данных 1С Бесплатно (free)

Оптимистические уровни изоляции транзакций были введены в SQL Server 2005 как новый способ борьбы с проблемами блокировок и согласованности данных. В отличие от пессимистических уровней изоляции, при использовании оптимистических уровней запросы не могут считать данные, которые были изменены другими транзакциями, но еще не были зафиксированы (читаются "старые" данные). При этом не происходит конфликта совмещаемых (S) и монопольных (X) блокировок.

30.11.2017    15422    0    Irwin    2    

Обработки  для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91

Производительность и оптимизация (HighLoad) v8 1cv8.cf Украина Абонемент ($m)

Обработки предназначены  для проведения сценарного нагрузочного тестирования, включая  пример описанного  сценария  с обработками (epf) -  ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик. Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С "Зарплата и Управления персоналом" с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД. Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией "Тест Центр", входящий в состав пакета 1С:КИП.

2 стартмани

15.09.2017    8721    19    podorojnii_ayu    0    

Графический план выполнения запроса 1С

Производительность и оптимизация (HighLoad) Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

Просмотр графического отображения плана выполнения для запросов 1С. Для информационных баз на MS SQL Server.

1 стартмани

24.06.2017    14664    56    berezdetsky    28    

Перерасчет итогов регистра бухгалтерии в 1С

Производительность и оптимизация (HighLoad) v8::БУ БП1.6 Россия БУ Абонемент ($m)

Вариант перерасчета итогов частями (помесячно), если при типовом пересчете 1С зависает.

1 стартмани

30.05.2017    13919    19    MarcoPolo3    1    

График времени выполнения ключевой операции

Статистика базы данных Производительность и оптимизация (HighLoad) v8 v8::УФ Розница ДО ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Понадобилось просмотреть время выполнения ключевой операции за определенный период времени - эта информация помогает сделать некоторые выводы, помогает дальнейшему анализу.

1 стартмани

09.04.2017    13085    15    info1i    0