Крючков Владимир

4347
Рейтинг

ivanov660
Владимир Крючков



  •   Регистрация: 02.02.2011 (13 лет назад)

  •   Был(а) на сайте: 21.04.2024

Друзья
  • Alexander Kondrin
  • Антон Коваленко
  • Артур Аюханов
  • Группа Полипластик
  • Александр Алехин
  • Александр Егоров
  • Дмитрий Виссаров
  • Карина  Арсенян
  • Евгений Комиссаров
  • Ольга Терскова
  • Димтрий Павлюченко
  • Дмитрий Котов
  • Виктор Клевцов
  • Константин Скворцов
  • Игорь Антонов
  • Дмитрий Малышев
Подписчики 328

Группы

Профессиональный разработчик

IE 2017 Докладчик

IE 2018 Докладчик

IE 2019 Докладчик

Докладчик Meetup

IE 2021 Докладчик

Лауреат Infostart Awards

IE2021_msk Online

IE2022 Докладчик

IE2023 Докладчик

Рейтинг 4347

Опыт оптимизации 1С на PostgreSQL

Статья Системный администратор Программист Бесплатно (free) Нет файла HighLoad оптимизация

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    9565    ivanov660    6       

76

Мигрируем с MS SQL на PostgreSQL

Статья Системный администратор Бесплатно (free) Нет файла Администрирование СУБД

Переход с MS SQL на PostgreSQL сопряжен с рисками для бизнеса и неизбежно вызывает множество вопросов. Статья посвящена тому, как заранее подготовиться к предстоящей миграции, провести нагрузочное тестирование, выявить возможные проблемы перехода и провести необходимую оптимизацию.

13.11.2023    11803    ivanov660    31       

73

Архитектурное ревью. Процесс разработки

Анализ&Управление Программист Бесплатно (free) Нет файла Архитектура решений

Рассмотрим применение архитектурной проверки задач в процессе разработки.

30.10.2023    4019    ivanov660    10       

30

Как мы создаем виртуального помощника

Статья Для всех Бесплатно (free) Нет файла Нейросети Мессенджеры и боты

Создание не просто чат-ботов, а систем с имитацией искусственного интеллекта, виртуальных ассистентов – это актуальная, интересная и полезная задача. В платформе 1С уже появились первые объекты для подобной функциональности – боты, система взаимодействия, интеграция с телеграм. Начальник разработки в группе компаний Полипластик Владимир Крючков на конференции Infostart Event 2021 Post-Apocalypse поделился опытом создания виртуальных помощников для мониторинга сервисов, тестирования, контроля разработки и техподдержки в крупной компании.

23.03.2023    4863    ivanov660    4       

41

Комментарии

ПубликацииСайт (интернет-витрина) на 1С#4 12.04.24 13:00
А не умрет 1С, если запросов будет много? Я так понимаю на каждую картинку, стили тоже запрос (кэширование на странице надеюсь включено).
HighLoadРешение проблемы быстродействия в ERP на рабочем примере#29 10.04.24 14:59
(28)
1. посмотрите на вкладке релизы (https://github.com/Polyplastic/1c-parsing-tech-log/releases)
или тут https://github.com/Polyplastic/1c-parsing-tech-log/tree/master/parsing-tech-log-plugins/bin
2. без них используется функционал работы с технологическим журналом, т.е. в некоторых случаях этого может быть достаточно
ПубликацииВопросы производительности, оптимизация кода. Бизнес-логика#8 31.03.24 16:39
(6) Давайте не будем уходить в сторону от дискуссии и переходить на личности - это не профессионально.
Вы написали статью - это похвально и заслуживает уважения, но раз так получилось, то на мой взгляд Вы должны отстаивать то что написано в статье. И да, для меня доказательства важны, я на слово не верю.

Давайте расскажу про некоторые моменты более подробно:

1. Обсудим условие НЕ.
Эффективность условий в большинстве случаев связана с использованием планировщиком СУБД индексов. Иными словами, если существуют индексные таблицы подходящие к каким-либо условиям отборов, то запрос будет более эффективен. Т.к. в противном случае будет использоваться полное сканирование, а это перебор всей таблицы - в противовес получения нескольких значений сразу.

Индексы, в основном, могут использоваться для операторов равно (=), больше (>;), меньше (<;) и их комбинаций. И не могут использоваться для условий НЕ. Но это не значит, что требуется всегда избавляться от такого условия. В некоторых случаях такие условия могут довольно сильно порезать количество данных передаваемых на следующий уровень плана запроса, а это однозначно большой плюс.

В данном примере, индексов подходящих скорее всего не будет и будет использоваться полное сканирование. Соответственно, удаление условия НЕ к выигрышу не приведет. А может добавит как раз проблем, если вдруг каким-то образом в результат пролезут группы, а дальнейший код будет пытаться обрабатывать их как элементы.

2. Про получение некоторых данных заранее.
- Часто получают некоторые данные заранее, если планируется использовать их потом в нескольких местах сразу.
- Также значительно упрощается сам запрос - а это очень важно.
- Относительно накладных затрат, то получение валюты будет очень быстро и не скажется заметно на общей производительности этого куска кода в общем. Попробуйте взять и сравните, какую эффективность вы получите изменив такую конструкцию с базовой. Если будет 2%, то даже смысла об этом нет говорить.
- Вот как раз создание огромных конструкций запросов, который делает все и сразу приведет к тому, что поддерживаться такой код станет проблематично и не возможно. Поэтому такие оптимизации должны быть четко обоснованы, чтобы польза была больше чем сопутствующее проблемы.

3. Про запросы в цикле.
Запросы в цикле конечно это плохо, но опять же тут должна быть здравая логика при оптимизации. В типовом коде видна модульность, его просто дорабатывать, он достаточно понятен. Если переписать этот кусок кода на один запрос, то все эти преимущества исчезают.
Дополнительно уже в самом коде существует оптимизация запроса в цикле через кэширование (цены номенклатуры = Соответствие), т.е. если был один раз получен уже тип цен, то второй раз выполняться запрос уже не будет.
Поэтому какой эффект будет в случае предложенной оптимизации мне не понятно?

P.S. Все пытаться оптимизировать нет смысла. И всегда надо придерживаться критерия эффективности и целесообразности выполненных работ.
ПубликацииВопросы производительности, оптимизация кода. Бизнес-логика#5 31.03.24 14:01
(3)
1. Для художественного произведения или области работы с сотрудниками, такой подход приемлем и звучит здорово. Но в данном случае, часть озвученных вами решений не выдерживает критики. О чем я и написал.
Приведите доказательства того что ваше предложение действительно оптимизирует, тогда скорее всего все вопросы снимутся.
2. Зачем ссылаться на неудачное решение? На мой взгляд, разумнее равняться на лучшего.
Цитата
Единственный путь стать умнее — играть с более сильным противником
Эмануэль Ласкер
P.S. Дали статью - получите замечания и защищайте свою позицию.
ПубликацииВопросы производительности, оптимизация кода. Бизнес-логика#2 31.03.24 12:15
Утверждение "Мой внутренний голос говорит, что так лучше." - за гранью моего понимания для технической статьи, особенно по оптимизации, где порой важна каждая мелочь. На мой взгляд, должна прослеживаться четкая последовательность в виде: утверждение - доказательство.

Цитата
Я исключил условие "НЕ ЭтоГруппа".

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

Вот я часто встречаюсь, что бухгалтера разбивают договоры по группам - комиссия, займ и т.д. И само наличие условия НЕ не снижает производительность как таковое, перепишите так ЭтоГруппа=Ложь, если напрягает НЕ.

В общем, мне не понравилось.
НовостиБыстрый запуск 1С и не только: ждем в 8.3.26#1 29.03.24 15:17
Интересно, а долгое первое открытие управляемой формы также пофиксили? Эта беда , к сожалению, проявляется при каждом новом открытии конфигуратора.
Dev"Турниры 1С" – тренируйтесь и совершенствуйтесь в программировании на 1С#14 22.03.24 22:07
(9)
1. Да, читал.
2. Я про вознаграждение за труды. Любая идея должна приносить какую-то пользу автору. Если за взошедшим цветком не ухаживать, а на это нужны ресурсы, то он вскоре завянет и превратится в прах.
Dev"Турниры 1С" – тренируйтесь и совершенствуйтесь в программировании на 1С#8 22.03.24 15:27
(5)Почему бы и нет, такая кликалка для начинающего будет в самый раз. Вот по примеру учиру, да за небольшие деньги вполне может поехать.